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...

19

Mar.

The 10-Phase Product Development Process: A Framework

The product development process is often unknown to the end-consumer. When walking into a store or shopping online, we might take for granted how all of the products came to fill the shelves. Since we simply see a finished product in front of us, we don’t often stop to think about how it got there. … Continued

9

Jan.

Estimation is Crucial to a Software Development Project

How much does a new car cost? That depends on the car. How much does a new software application cost? That depends on the application. In either case, estimation isn’t an exact science. Until you have a somewhat detailed understanding of the application system and its specific features, you will have uncertainty in estimates. However, … Continued

7

Jan.

Applications of Consumer Autonomous Vehicles

Self-driving vehicles are one of the most highly anticipated consumer products—and the wait is almost up. As the technology progresses and becomes more available over the next decade, new industry and lifestyle applications will emerge. Whether positive, negative or a mix of both—the effects from this industry are sure to have major implications in our … Continued