Technight: VR

  • 03/02/2017
  • 4 minuten leestijd

Technight: VR

Last week, Developers.nl organised a meetup about VR, focusing primarily on development of applications in three dimensions (spacial ones, that is). It was hosted by Nick van Manen and Ruben van Leun, two VR enthousiasts that seemed, to a relative noob like me, to be in the know about the state of art around virtual reality.

After a short history of previous VR hardware solutions, we quickly went on to the modern solutions, from Google cardboard to Oculus and their personal favorite: the HTC Vive. I had actually never heard of the Vive before this, so thankfully, at the end of the technight, we got the chance to experience its awesomeness ourselves, and I got to say, I like it. But more about that later on.

A-Frame

The main part of the talk was about A-Frame, a VR framework which allows just about anybody to create 3d environments. All you need is some basic knowledge about HTML, although knowledge of JavaScript is definitely a pré as it allows for animation in the code. Normally, I'd put up some examples here, but I won't in this case, as they have a lot of awesome yet simple examples up on their site already. I still might create something later on, in which case I'll put it up here.

The nicest part about A-Frame is the fact that it uses HTML5. It means we have access to a simple markup language, JavaScript and a large base of developers that probably don't even know they can create such applications. In a way, that was probably the best part about the technight:

You too can be a VR developer!

It also means you can test the virtual space in your browser, and view the effects of the code in 3d using google cardboard, so you don't need to spend a lot of money to start out.

Nevertheless, A-Frame is probably too low level; it works using very basic geometrical forms, and in my experience –based on my Computer Graphics classes back in college–, it is a lot of work to actually create something truly awe-inspiring using such low-level primitives. You can bundle multiple shapes into reusable blocks, but that probably means a lot of code replication (at the HTML level), making applications with real-world use too cumbersome. Then again, maybe I'm just missing something essential about the framework that makes its performance OK regardless of the size of the application.

Other frameworks

Thankfully, A-Frame is not the only option; at least two other options (the Unity and Unreal engines) are capable of creating 3d environments as well. Personally, I think these are better options to choose, and I have two reasons for this.

First of all, both have a huge number of often used graphical objects, –such as couches, humans, guns (for some reason), etc– available for public use, all of which are high quality objects that do not slow down your device; I expect A-Frame to drop the ball in that department, a sentiment I base on the slowly increasing heat being radiated by my mobile phone after trying out the most complex –but still relatively simple– example Ruben set up.

But more importantly, both are already well established game engines; which means companies creating content for the most oftenly heard usecases for VR are already using the technology, so a step towards VR will be quite small.

Demo

My last point was immediately shown in reality, as after the presentation, two demo session with the Vive were set up, with everybody trying it out in 6 minute session. This showed how big the potential of VR games actually is. I was simultaneously both impressed and underwhelmed; impressed by the resolution of the games. My earlier experience with VR was primarily based on a rollercoaster "app" in google cardboard, which is cool in a quirky way, but not really a high quality experience; it misses full immersion since you keep seeing the cardboard edges, and the lenses are not really that good. Also, everything is completely stationary in those apps; real interaction with the "world" was still several steps ahead.

I was also impressed by the ability to move around a bit; if you dodge a bullet in real life, the Vive is capable of enacting that in the virtual environment as well.

I was also underwhelmed when I saw the state of content (read: Games) in the genre. VR is going to need more content that actually speaks to the imagination of more than just the early adapter. However, the currently available games do not appear to transcend the proof-of-concept stage; fun for half an hour or so, but not worth the price of the Vive yet.

Conclusion

Creating VR applications is a lot easier than expected, provided you know which frameworks to use. Creating a full application using A-Frame is probably too much of a hassle, but the first step towards replacing "workstations" by VR glasses has definitely been made. Ruben himself created a proof of concept for such an application a while ago (see The virtual workplace), and personally I think something similar is both the future of workplaces and the solution to traffic congestions.

The Vive itself is altogether impressive, even if I would have preferred not to loose my immersion in the game due to the power cable constantly pulling of my headgear (I was told a wireless variant is expected later this year). Content for the Vive however still leaves a lot to be desired.

I would like to thank Nick and Ruben for a very enjoyable talk and demo; I think that to a lot of people it opened up new possibilities for the skills they already have; I know it has to me!