cancel
Showing results for 
Search instead for 
Did you mean: 

Could VR use it's own programming language?

Arowx
Level 2
After hearing the Jonathan Blow talk about games having their own programming language, it got me thinking could VR be an ideal candidate for the development of a new programming language.

I think a language that provided features to allow easy multi-threading, across CPU's, GPU's and the Cloud, write shaders, have physics, audio, video, haptics and other features built in making it very easy to write VR experiences/simulations that run extremely fast and can take advantage of the Cloud and CPU/GPU processing.

What features would your ideal VR programming language have?

On a side note could syntax be optional/flexible so people that prefer a syntactical style could choose their own style.
22 REPLIES 22

Vercci
Level 2
Gonna be honest, I have no idea how a "Programming Language" could have built in physics.
NZ DK2 Order: May 26, 2014 06:00 PM PDT Status:Delivery Complete

Arowx
Level 2
Well programming languages often have primitive data types e.g. integer, string, boolean.

I guess a VR language would have built in primitives for physics e.g. force, gravity, joint, spring, mass

I think Finite State Machines would be handy primitive type.

Audio features 3d sfx and text to speech and speech to text would be great features.

erick
Level 2
Programming languages are nothing more than human readable command syntax. In the end, everything is translated into machine code (either by the compiler or JIT). VR is essentially an I/O device and I don't see any benefit for a cross platform "language" that targets such a device. Everything you mentioned can be achieved through an API layer.

Custom classes and structs don't need to be primitive data types. I'm not a low-level design expert but I'm not even sure it's possible since primitive data types are representative of their data as it's stored in memory. Complex built-in data types are not exactly primitive data types and really are the same as custom objects.

fabsterpal
Level 2
What VR could use is a dedicated hardware chipset designed & specializing in physics simulations, in the same way as PhysX. This would then have an API layer.

owenwp
Level 5
What you are describing is essentially a game engine not a language, and there are plenty of them that are being optimized for VR.

fabsterpal
Level 2
"owenwp" wrote:
What you are describing is essentially a game engine not a language, and there are plenty of them that are being optimized for VR.


That said, the need for realistic physics in VR is pretty high. I noticed that my game using JBullet simply was too hard to play with all the physics glitches.

Arowx
Level 2
You could do something similar to the idea of java, it's designed to run on a virtual machine. It's language is 'translated' into bytecode which can then be run against any device than can run a java virtual machine.

But then what if our VR language was designed to run on a Virtual Reality machine (VRM). A VRM would run our virtual world simulation or game.

So what features would a VRM need or conversely what features would a VR language need?

erick
Level 2
"Arowx" wrote:
You could do something similar to the idea of java, it's designed to run on a virtual machine.


Yes; it uses JIT compilation. It's the most obvious for cross-platform development but unfortunately, a virtual machine also adds additional resource overhead. However, if that's what you want, just code in Java or .NET. There's no need for a custom language.

"Arowx" wrote:
But then what if our VR language was designed to run on a Virtual Reality machine (VRM). A VRM would run our virtual world simulation or game.


I don't know what you mean.

A virtual machine is sort of similar to emulation. The virtual machine is unique to the platform. Standard machine calls are coded in the language. The virtual machine translates those generic calls into platform specific machine code.

A "virtual reality machine" sounds like it's managing a virtual environment. That would simply be a game engine.

Sharpfish
Level 7
errr...
EX DK2/VIVE/PSVR | Currently RIFT CV1 & Quest 2 | Future Reverb G2 | VR developer RTX 3080 FE / 8700k / Windows 10 Pro