Virtual reality is the newest fascination for the gaming industry – and one that demands your attention!
Although VR has been attempted many times in the past, this time, it’s here to stay. Thanks to improvements in technology, developers have access to a whole new way to create virtual experiences. Not only has this revolutionized how we interact with and experience games, but also improved many other industries.
As such, we consider VR an important skill for developers of any skill level to investigate. In this article, we’re going to do just that, and also help you get the skills you need to start creating your own VR games.
If you ready to make unique and exciting projects, let’s get started.
Understanding Virtual Reality
Our first step in our journey is to get an understanding of what virtual reality is.
Without getting too technical, virtual reality is simply the process of simulating/representing virtual, 3D spaces as if they were real. This is achieved via the use of special VR headsets. These headsets operate by creating a visual for each eye through various means. Since this simulates how our vision works in real life, it creates the illusion that you’re truly in the virtual environment being shown.
To sell this illusion, VR headsets use head tracking technology to track the movement of your head. In so doing, this allows you to use your own head movement as the means of manipulating the camera. Thus, when you look somewhere, the visuals change accordingly to match this movement.
In addition, some headsets come with controllers that can act as hands for the purposes of interaction. Using these controllers, you can do things like pick up objects, throw them, and so forth.
The VR Experiences
We’ve taken the first step to understanding VR. However, when it comes to developing in VR, there are two different types of VR experiences – and understanding these will dictate how you develop your project and for which headset. As such, let’s talk about those next.
Stationary
Stationary VR experiences are exactly like they sound. While users in this style can look around via their VR headset, no other head movement is tracked. Common stationary experiences include things such as theme park ride simulations, some FPS games, and other situations where you don’t really need the user to move around much.
Though sometimes VR headsets for these experiences come with simple controllers for interactivity, they are usually very limited. That being said, stationary experiences are tried and true, as this is one of the earliest forms of VR. Additionally, they’re considered a bit more accessible, as a user can even sit down while they enjoy these experiences, and these are also often the experiences that work with mobile devices.
Google Cardboard and Samsung Gear VR are both headsets designed specifically for these types of experiences.
Room-Scale
As you might imagine, room-scale VR experiences are the opposite of stationary experiences. With room-scale experiences, head-tracking is more complete. As such, you can look around, crouch, look over objects, and so forth – and each movement will be detected and reflected in the virtual world.
Additionally, headsets suited for room-scale experiences more often come with motion-tracked controllers that track your hand movements in a similar manner. Consequently, room-scale experiences are considered the more immersive of the two, since they better integrate the user with the virtual environment.
Oculus Quest, HTC Vive, Valve Index, and PlayStation VR are the headsets that support this style of VR experience. It is also noteworthy that while stationary VR headsets cannot do room-scale experiences, room-scale headsets can do stationary experiences.
VR Movement
Along with the types of VR experiences, there is yet another concept to explore before you go about developing a VR game: movement. How one moves in VR can be handled in a few different ways, so briefly we want to touch upon that.
Teleportation
As the name suggests, teleportation is a type of movement where a user instantly moves from one point to another (usually at a visible distance). This is achieved with the user selecting a specific point in space to teleport to with a compatible input device. The points of teleportation can be wherever the user picks, or you can set your game up to only allow teleportation to specific points. However, regardless of the points of teleportation, this style of movement requires fade-out and fade-in effects in order to hide the direct change and make the experience less disorientating to the user.
Smooth Movement
Smooth movement is simply the same standard style of movement you’d see in most games – where you watch your player character move from point A to point B. In most cases, this movement is currently achieved using a joystick or similar input device (again, exactly like a regular game). However, newer technologies and devices, such as omnidirectional treadmills, are currently being developed and could possibly replace this in a few years. Regardless, the one thing to note with smooth movement is developers should be warier of virtual reality sickness.
Virtual Reality Game Engines
So far we’ve covered what virtual reality is, and covered some core concepts important to designing your project. However, we come to the next step of making a VR game: choosing a game engine.
A game engine is simply a piece of software that comes bundled with tools for creating video games. Instead of needing to code everything from scratch – such as how graphics are rendered on the screen, how physics is calculated, and so forth – game engines provide pre-established frameworks that take care of some of the more nitty gritty elements. This leaves you free, as a developer, to focus on the important mechanics of how your game works.
While it’s not impossible to create a virtual reality game from scratch, given how advanced VR technology is, working within a game engine is the best choice here.
Though there are a lot of game engines and ways to get VR experiences up and running, there are two main players in this space: Unreal Engine and Unity. Below, we’re going to talk about both and give you the pros and cons of each.
Unreal Engine
Unreal Engine is a high-end, powerful engine focused primarily on 3D games. It is generally most noted for its robust graphics system which, when done with a deft hand, can get you photorealistic results. As just a huge and well-support powerhouse, Unreal Engine is used heavily in the development of AAA games, but is also used in the indie space due to its generous terms in regards to pricing.
As one of the main, go-to engines in the industry, it has a high capacity to support VR, particularly for instances where the graphics need high fidelity.
Programming Language: C++
VR Documentation: Virtual Reality Development
Pros:
- Great for games in-need of AAA level graphics
- Long established visual scripting system
- Integrated multiplayer support
- Unreal Engine 4 is royalty-free until you earn $1 million
Cons:
- Requires a higher end computer to run compared to Unity
- No real support for 2D graphics
- Not as versatile as Unity, particularly with AR and mobile
- The language of choice here, C++, is not the easiest language to learn
Unity
Unity is a popular game engine used fairly equally by indie developers and AAA companies alike. Unity’s main focus has been cross-platform capabilities, meaning you can develop all the following with this single engine: 3D games, 2D games, mobile games, AR apps, VR games, and console games. With a fairly powerful rendering engine, it has also been used in other industries for things such as short films, architecture, and more.
Much like Unreal Engine, Unity has become one of the primary engines for VR, though in this case due to wide industry support for the engine with setups compatible with numerous headsets.
Programming Language: C#
VR Documentation: Getting started with VR development in Unity
Pros:
- VR frameworks are applicable to many different headsets
- Offers support for many different kinds of games and platforms
- Works better on lower-end computers compared to Unreal Engine
- Free until you earn free until you earn $100,000 in annual revenue.
Cons:
- Not as graphically powerful as Unreal Engine
- Less industry presence in terms of AAA games
- Multiplayer and visual scripting are less established features (though are being developed)
- C# is not as used in the industry as C++
Which Engine to Pick for VR?
We’ve covered both engines briefly, but you may still be a bit undecided as to which engine is the right one for you. Much of this will depend a bit on your project. However, if you’d like some more comparisons to help you pick, we recommend checking out the articles below to help make the final decision:
How to Make a VR Game
At last, we come to the primary section of how to make a VR game. Here we’re going to discuss a few remaining matters, before getting you set up with tutorials for your VR game development.
Considering your Headset
Before you develop any sort of project, you should get an understanding of the headset you’re aiming to develop for. As mentioned earlier, different headsets work better for different sorts of experiences. So, you’re going to want to think about this aspect.
In general, though, you’re probably going to want to develop for a headset you actually own. While this isn’t a requirement to develop VR games, it makes it a lot easier if you want to do that all important step of actually testing your game.
Unfortunately, given how many headsets are out there, we can’t cover every one in depth. However, we do encourage you to check out the links below thoroughly to read more about each headset, its abilities, and so forth. This should especially be the case if you haven’t yet gotten a headset.
Best Practices for Motion Sickness
Before you sit down at your computer and fire up that game engine, there’s one last thing to consider with your project: motion sickness.
Motion sickness is a phenomenon where your brain, try as it might, can’t process the sense of motion via the usual physical senses (primarily visual). When this happens, a lot of bad things occur. People get sweaty, they get dizzy, they get nauseous, and, if prolonged long enough, it can even cause headaches.
Unfortunately, by the very nature of VR, motion sickness is often a problem. While some people deal with it perfectly fine, many others are extremely sensitive to this phenomenon. And believe us, a VR game that causes too many people motion sickness is the VR game that isn’t going to get played.
So, how do you address this? While there is no one gold star solution that solves everything, there are many best practices, covered below, you can try to reduce it. Keep in mind you’ll never resolve this for everyone, but the more people you can make not sick with your game, the better.
- When it comes to smooth movement types of experiences, it’s best to have the player move themselves around. Since this puts their brain in charge of the movement, it lessens the chance of the brain misinterpreting the visual information.
- If you need to move the player around, using stationary experiences is usually the best choice for calming the mind (though you can block peripheral vision as an alternative).
- Try to make your game runs at 60FPS or higher. Lower framerates have been associated with motion sickness due to animations being less smooth.
- In situations where you’re transitioning to a different game scene/area, use fade in and fade outs. This gives the player’s visual reception time to process the movement.
- Be wary of effects like motion blur, as these very often cause motion sickness even in non-VR experiences. If possible, include this as an optional setting so player’s can find what works for them.
Tutorials
Last but certainly not least, we get to the tutorials section. Below we’ve gathered what, in our opinion, are the best VR tutorials to get you started on your journey.
Unity
Basics
- Unity Game Development Mini-Degree by Zenva
- Unity 101 by Zenva
- Introduction to Game Development with Unity and C# by Sebastian Lague
- How to Make a Game – Unity Beginner Tutorial by Jason Weimann
Virtual Reality
- Unity VR Documentation
- Virtual Reality Mini-Degree by Zenva
- VR Game Development 101 by Zenva
- Unity XR Toolkit Series by VR with Andrew
- Introduction to VR in Unity by Valem
- How to Make VR Games in 2022 by Justin P Barnett – VR Game Dev
- Unity VR by ExpanseVR
Unreal Engine
Basics
- Unreal Game Development Mini-Degree by Zenva
- Unreal Engine 101 by Zenva
- Unreal Engine Beginner Tutorial: Building Your First Game by Devslopes
- Unreal Engine 4 Beginner Tutorial: Getting Started by DevAddict
Virtual Reality
- Unreal Engine VR Documentation
- Beginner to Advanced Unreal Engine VR Tutorials by Sir_Fansi Gamedev
- Using UE4 to Develop for Oculus Quest 2 by Quinn Kuslich
- UE4 Tutorial: Advanced Movement by underscore
- Smooth Locomotion For UE4 VR by GDXR
- Getting Started in VR by Raptor Tech 4 Unreal Engine
- VR bowling [] Unreal VR simple game tutorial by Sir_Fansi Gamedev
Parting Words
Virtual reality is not the gimmick it used to be. Instead, it is a powerful technology that is changing how we engage with digital experiences – whether for games or even for businesses.
As the technology has improved, so have the headsets. Whereas before they were limited to PCs, you can now get headsets for consoles and even mobile devices. With the release of Half-Life: Alyx recently, a VR game made by a AAA company, we’ve also seen new grounds as well in terms of the kinds of games that can utilize VR.
There is no question that VR is growing. So, if this novel gadget has captured your imagination at all, now is a fantastic time to jump into it and start making your own VR games!
BUILD GAMES
FINAL DAYS: Unlock 250+ coding courses, guided learning paths, help from expert mentors, and more.