> During my time away from GitHub I started experimenting with Go, OpenGL, and Unity with an eye towards the software side of immersive computing.
That is extremely exciting to me. It's no secret I'm a big fan of Go, and seeing someone as influential as Tom pick it up is great to hear. I'm looking forward to following what comes out of this.
Go is an odd choice for such a graphics-heavy domain. If it works out well, I'll be very interested to hear more about that combination of technologies.
He's almost definitely using Go for the server-side and Unity+OpenGL for the client side. It would be really bizarre to try to use Go and Unity in the same client-side app.
It's just as odd as using OpenGL from Java, right? The main issue I've seen people have with Go and using it for gaming or heavy graphics use is that it is garbage collected. But compared to the Java Hotspot runtime, it's gc isn't nearly as robust.
For whatever it is worth, Notch has said that when Oculus initially approached him for Minecraft on the Oculus, he identified performance being an issue as the Oculus would require a steady 90fps, which Minecraft would struggle to provide on some hardware. He identified using Java as one of the reasons that this was the case.
Before the Mojang/Oculus connection was severed in the Facebook/Oculus fallout, the plan was apparently to make a stripped down version of Minecraft, similar to Pocket or Pi, for the Oculus.
I think calling OpenGL from Java for performance-critical applications is an odd choice as well. I think the relative performance of native versus ART android apps is a good example of that.
Not that it's impossible to keep framerates up using GCed languages. But framerate will be extremely important for applications that more or less require screens with higher refresh rates than commodity LCDs.
That is extremely exciting to me. It's no secret I'm a big fan of Go, and seeing someone as influential as Tom pick it up is great to hear. I'm looking forward to following what comes out of this.