WebVR

Why Virtual Reality?

Immersion is more important than gameplay or graphics – you have to feel you’re inside the experience. It’s not easy to achieve, but it doesn’t require realistic images. Quite the contrary as having a basic shapes flying around in high frame rate can make a lot. Remember, experimenting is key – see what works for your game in particular. Currently browser support for the WebVR API is still experimental. But sooner rather than later we’ll see it in regular builds.

Technical Aspects

Exposing APIs to JS requires writing a lot of codes, such as checking parameter types or passing data back and forth from C++ world to the JS context. On Servo, we also have to write bindings between C/C++ and Rust generates Rust binding code automatically from a language-agnostic API specification. This takes care of all the boilerplate code and lets us focus on the logic specific to the API we want to expose to JS

Combining channels with the powerful Rust enum type variants makes inter-process communication very elegant. All the WebGL commands used by the WebGL thread are implemented in the webrender tool component, which is shared by both WebRender and Servo.

Project Ideas

Project ideas ranged from historical journeys and virtual reading experiences to game based challenges for understanding the laws of physics. Educators worked alongside developers to conceptualize projects and advise on classroom applications. Developers with no previous VR experience prototyped with A-Frame, rolled up their sleeves to figure out how to incorporate motion sensor devices with VR headsets, and applied their code know-how in to build virtual environments in platforms like Unity.

VR and A-Frame

We ourselves used unity game engine to blend our thoughts to bring life to VR. Initially we developed the essential game characters with the help of Photoshop and we were ready to put the project on A-Frame. The A-Frame School  has been used to interactively  learn step-by-step A-Frame and WebVR, either self-guided or notably for workshops.

Our Project

Coming to our projects bottom line we have successfully created a terrain with backdrop of warm horizon. It is an island with resort theme and beach houses and a lone survivor, whose journey is about to begin in a post apocalyptic situation; who has to discover the safehouse. This project can be experienced truly on Google Cardboard, Daydream, VIVE™ & Oculus Rift.

Conclusion

VR consumer devices are being shipped right now and we already have JavaScript APIs to support them on the Web. All we need now is a best specification, good UX and UI, better hardware and more tools and libraries — and all of that is on the horizon. It’s the perfect time to dive in and experiment with WebVR.

We are about to make this project suitable for other compatible devices too though this project is intended for focusing on WebVR.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s