Development

VR Developer’s Journal Part 2: Content for VR Games & Experiences

November 28, 2018

The second stage of my VR Developer’s journey began in 2016, when Vive launched with a bit of a problem. Well actually, more that something was missing: content to play.

The VR ecosystem in general at this time lacked software games and experiences that a user would love to install and play on their shiny new VR headset. Unfortunately, there were just not that many available. Plus, most of the experiences were incredibly short and/or built by indie developers (of which I am one too). Overall, the quality and fidelity of these experiences was lacking at best.

This is completely understandable for such a new technology movement, and there were of course exceptions – the big players like Valve and HTC had supported a small core group of developers ahead of time, plus a few other decent software companies were involved already.

So there were some professionally created, polished experiences available including The Lab, Tilt Brush, Job Simulator, Fantastic Contraption, Zombie Training Simulator, and Windlands (you need an iron stomach for this one!), to name a few.

These were a lot of fun to play through whilst they lasted, however the lack of quality content was real and certainly made VR adoption slower and more difficult.

Thus, at the beginning of this latest VR incarnation, it was really the early adopters buying and getting into VR. Mainstream consumers would have to wait another year or so for other recognized software development companies to start releasing bigger VR games and experiences.

It was during this time – after the initial VR ‘honeymoon’ phase had started to wear off – that I discovered VR development and Unity.

VR Consumer or Developer?

At Fresh, I’m a senior software developer. My core skills are for web and mobile, I enjoy building software, and I’m fortunate to work at a company that offers creative and interesting projects that challenge me. So of course, having this new VR hardware and a lack of content got me thinking, “I wonder how difficult is it to build and code a VR software experience?”.

Surprisingly, I found that it’s not that difficult. If you already have some programming and/or creative skills, you’ve got a good head-start. That said, it’s one thing being able to build ‘something’, and it’s another thing entirely to build something of quality. That’s the real challenge, and overcoming it takes a lot more time and dedication.

To build a game you need a game engine. This might sound obvious to some, but initially, I didn’t have a clue about where to start! I started doing research to understand the different game engines. There are some amazing game engines available to indie developers, such as Unity, Unreal Engine, CryEngine, Amazon Lumberyard (which is a fork of CryEngine) and GameMaker, to name but a few.

A game engine is basically a software environment / framework for developing games and interactive experiences. Usually, it comes with an Integrated Development Environment (IDE for short), that gives you a more accessible, user-friendly way to interact and work with the underlying engine.

The game engine handles the graphics and rendering, plus various systems and subsystems that work together to process game-logic, simulate physics, deliver models and assets, play sound and music, and much more.

Game engines provide developers access to the underlying systems via software scripting or programming in a supported code language. Components, objects, and APIs aim to give authors complete creative control.

Eventually, my game engine shortlist was reduced down to two entries. These were Unity and Unreal Engine. Feature-wise, both looked awesome and supported VR development, although at this early stage the VR support was fairly minimal and there would be a lot of R&D ahead. Doing a full feature comparison is beyond the scope and purpose of this article; however, I’ve highlighted some key points that I considered in the table below.

Please note: the following points are subjective and are based on available game engine features back in early 2016. Both Unity and Unreal Engine now offer better support for VR / AR games and experiences.


Unity

Graphics:

Coding Language:

Assets & Content:

Virtual Reality Support:

Difficulty:

  • Good entry point for existing software / web developers, especially if you come from a Microsoft .NET / C# background.
  • Lots of assets and code available, easier to adapt and use.

Unreal Engine (UE)

Graphics:

Coding Language:

Assets & Content:

Virtual Reality Support:

  • Supports VR, no Forward Rendering yet (arrived November 2016).
  • Basic VR support built into UE for SteamVR, Oculus and more.
  • Virtual Reality project template available in Blueprints.
  • No additional/notable 3rd party assets available at this time.

Difficulty:

  • Higher-level / more advanced than Unity, the learning curve is steeper.
  • Programming with C++ is more complex compared to C#.

My opinion

I really liked the Unreal Engine graphics/rendering “visual look” (I’ve played a lot of Unreal games) and wanted to develop using that game engine. However my background as a Microsoft .NET web developer has equipped me with skills such as coding with C#, and so Unity was looking to be the best candidate from a coding perspective. Plus, with the additional SteamVR support and amazing VRTK asset for Unity, the entry point to VR development should be easier.

Finally, I decided that Unity was the game engine of choice for my project. Was this the right decision? Time would tell.

…to be continued.

Will Lingard

Software Development Director

You might also like...

6

Mar.

Cooperating with Data: Strategies for Comparison, Filtering, and Manipulation

When the data we have isn’t available in a useful format, it is easy to fall into patterns of brute force processing or to implement approaches that are not optimal for manipulating or managing data. How data is used – such as in reports, or searches completed by users – is an ongoing, ever-changing problem. … Continued

7

Feb.

10 Factors for Choosing a CMS

There are dozens of Content Management System (CMS) platforms available to to help you manage the content, marketing, and SEO on your website. But with all the good options out there, how do you know how to choose the right CMS? Consider the following 10 factors when choosing your CMS. #1 Price Some CMS licenses start … Continued

23

Jan.

A Designer’s Perspective: Fostering Good Communication Between Design and Development

Different teams will have different ideas and perspectives of what the final product should be – designers and developers often have different thoughts on the best direction forward. Each group also has a different set of skills and capabilities that are important to creating high-quality products. In the end, pulling the best ideas together and … Continued