I like visual programming languages, because they are very approachable and artist-friendly. I'm not aware of any publicly available visual programming language for virtual reality devices, so I'm trying to build one.

Current Progress

My approach is inspired by node editors in art tools like Blender or Unreal Engine, but the nodes are three-dimensional. Currently, it's possible to draw cubes and set their location, rotation and scale:

The concept is similar to how shaders for computer graphics are programmed: When drawing multiple cubes, each cube is calculated using the same program, but attributes that vary from cube to cube – in this case, an iteration index – can be used to influence how a cube is drawn.

Example Programs

One goal of the project is to provide a lot of interesting example programs. I hope this will make it easier to learn the tool. For example, I really like how the documentation of cables.gl includes a simple demo scene that can be inspected and edited:

The sine operation on cables.gl

An interactive introduction to the editor may also be helpful. The video game Opus Magnum does this very well in my opinion: In the first thirty minutes or so, you have to solve a bunch of simple tasks. A lot of them are already solved to some extent, which allows you to understand how the different building elements function.

(Cognitive psychologists call this stuff "worked examples", I believe.)

Social Aspects

I also like the social aspects of programming plattforms like ShaderToy or Scratch.

Scratch is what got me into programming when I was twelve, and friendly people posting encouraging comments definitely motivated me to create more projects.

Comment

I hope I can find the time to build similar social features at a later point.

How to use it

Let me know if you want to try it out! (You'll need access to an android-based VR headset which supports hand tracking, for instance the Quest 2 or 3.)