If you’re planning to create a serious game or educational experience in virtual reality, you’ll need to learn a few basic development skills using a game engine (aka game development software program). You can use several different game engines to create VR experiences, and the two most popular by far are Unity and Unreal Engine. (Unreal Engine 4, or UE4, is the most recent version available as of this writing.) AppGameKit VR is another good one, albeit less popular. This article will focus on Unity and UE4.
Unity tends to be favored by most VR game developers, and 91 percent of Microsoft HoloLens mixed reality and augmented reality experiences are made with Unity. However, UE4 does offer one distinct advantage: Non-programmers can use it. Perhaps Unity’s biggest advantage over UE4 is the extensive library of great tutorials it offers to help you learn, as well as the availability of lots of user-generated tutorials. However, both are very powerful (and free!) programs that are more than sufficient to help you design and develop even the most complex and visually stunning serious games.
Both Unity and the first version of Unreal Engine were originally developed to create traditional 2-D games, but both have evolved substantially over the years, making it as easy as selecting 3-D (i.e., VR) as an option to begin creating a VR game. That’s not to say that making VR games is easy, just that switching modes from 2-D to 3-D is easy. In fact, developing games for VR is incredibly complex. If you’re planning to develop your own serious games, you and your team will need to learn and employ several critical skills, as described below.
Basic familiarity with a VR game engine software
While several additional engines are available for developing VR games, most VR game developers use Unity or UE4. These programs are powerful and complex, meaning that there’s a lot to learn and manage, including:
- The virtual environment in which the gameplay will take place
- Light source and direction
- Camera angles and direction
- Applying the laws of physics to your world
- Avatars and characters
- Interaction with objects
- Sound effects
- The code editor
- Organizing all your assets (e.g., the objects, code, folders, etc., you used to create the game)
- And much, much more
It’s not like Photoshop, where you just open a photo file and start applying filters and cropping. None of these features is impossible to learn, but it can be overwhelming the first time you open up the game engine and start poking around.
Note: You’ll need a very fast and powerful gaming computer to run a game engine and build a VR experience. We’ll delve into the specifics of what you’ll need (e.g., graphics cards, processors, RAM, monitors, etc.) in a later article.
Proficiency in an object-oriented programming language
Whether you personally write any of the code or not, the game engines create games using an object-oriented programming language. Without getting into the weeds too much here, object-oriented programming languages allow game engines (and game developers using the game engines) to easily organize and manipulate thousands of different objects as needed. Objects contain data (aka attributes) and code (aka methods). These objects can interact with one another. In very simple terms for a game, that means a hand can throw a rock, the rock can hit a window, and the window can break.
If you’re going to use Unity, then you’ll need to learn the object-oriented programming language C# (pronounced “see sharp”). You don’t necessarily need to learn how to code in C# from the outset, but at the very least, you’ll need to know the basics of how the language works so you can copy code from code libraries, paste it into your game’s code editor, and tweak it to your needs. Realistically, you’ll eventually need to learn C# reasonably well in order to troubleshoot bugs until the code and the game work as desired.
In UE4, you technically don’t need to learn to code in order to create basic games. Instead, you can use Blueprints, which is a visual scripting system that is based on C++ (pronounced “see plus plus”). The cool thing about Blueprints is that game designers need not know how to code in order to use it, because it’s entirely a visual interface. If you are a skilled programmer, or if you hire one, then you can use C++ to create more advanced visual scripting systems that non-programmers can then use to make more advanced or more custom games. If this is your first attempt at creating a VR game, then stick with Blueprints for now. It’ll make your life a lot easier.
The ability to make (or buy) game assets
While familiarity with game engines and object-oriented programming languages (or Blueprints) is required to create the basics of a game, you’re going to need lots of assets to put in the game. Assets are the environments, props, characters/avatars, vehicles, sprites (i.e., wandering non-player characters that make the virtual world seem more realistic), music, sound effects, textures (e.g., smoke, water, and lighting effects), etc., that you’ll use in your game.
You could design all your own assets, and some large game development companies probably do, but that takes a lot of time and skill. You could hire or partner up with talented VR game designers. You could contract designers to create each asset you need. Fortunately, there’s a much easier solution. You can easily buy all the assets you need in the Unity Asset Store, in the Unreal Engine Marketplace, or from one of the hundreds of third-party marketplaces and asset design companies that are just a Google search away. You may not be able to find the exact design of spaceship, character, or sound effect you had in mind, but you’ll almost always find something that’s close enough and 1,000 times more affordable than many other options.
VR game-building expertise
VR game design is so new that there are no set rules—or not many, anyway. It’s a great time to be creative and experiment. Would you like seven fast-paced levels in your game? Great! Make seven levels. Would you prefer one meandering level while giving players the ability to hear each of the game characters’ thoughts? Great! Do that instead. You’re creating a whole universe with each VR game and experiment. Get crazy and add in whatever elements you want.
Even assuming that you buy all the assets your game will use, and even assuming you already know C# or plan to use Unreal Engine, you still need expertise to use the assets well. For example, what good is your snazzy new avatar that you just bought if you can’t make it move, talk, or interact with the virtual world? In addition to the many assets you’ll need, you’re also going to need VR developers and coders with specific skill sets—including, but not limited to:
- Game design and gameplay
- Level design
- Sound effects and music
In addition to these technical skills, you’ll also need experts in:
- Voice acting
- 3-D art (see above for the various assets you’ll need)
- Marketing and sales (even if you plan to just stick your game on Steam, you’ll still need to generate excitement about it, hit the trade-show circuit, etc.)
Don’t forget to include your content experts in the development process, too. The calculus, art history, or physics teachers (or whatever it is you’re teaching with this game) are integral to every step in the game development process. Don’t make the mistake of thinking the game developers can just make the game and you can add in the educational content later, because neither the gameplay nor the lessons will make any sense. The developers and game designers must continually work with and learn from the content experts in order to make a great game, and the content experts will need to learn a lot about game design and development as well.
It’s possible you could learn and do everything yourself. Or perhaps you’ll do it all with a small team of two to three people. Some talented, ambitious, and frugal indie game-development companies certainly have pulled that off. However, consider that the biggest video games cost tens to hundreds of millions of dollars to develop. Even the smallest indie game-development companies typically employ teams of at least 10 – 20 highly skilled (though often underpaid) developers and designers to build any given game.
Further, assuming you do already have all the skills necessary to build an entire game from start to finish, if you’re doing it all yourself, it’ll take you months or years to finish even if you’re working full-time on it, and who can afford to do that? You can limit the length of the game, the intricacy of the detail, the size of the virtual world, the number of levels, and the complexity of the gameplay, but still, creating a new game by yourself is an enormous and daunting task. You’ll build a better game, finish the game more quickly, and have more fun if you build a small but talented team to help you.
The good news is that you don’t need to employ all these people full-time. You can often contract the people you need for anywhere from a few hours to a few months at a time, until their portion of the work is done.
If you’re somehow still determined to build it all yourself, from conceiving the game and drawing out storyboards all the way to releasing and marketing updated versions, then begin by reading the books on game design and game theory below. Actually, you should read these books regardless.
- The Art of Game Design: A Book of Lenses, second edition, by Jesse Schell
- Level Up! The Guide to Great Video Game Design, second edition, by Scott Rogers
- Game Design Workshop: A Playcentric Approach to Creating Innovative Games, third edition, by Tracy Fullerton
- Rules of Play: Game Design Fundamentals, by Katie Salen and Eric Zimmerman
- A Theory of Fun for Game Design, second edition, by Raph Koster
- The Gamification of Learning and Instruction: Game-Based Methods and Strategies for Training and Education, by Karl M. Kapp
That last one is especially important for anyone creating serious games, as it focuses on designing games in an educational setting. You can also read the supplemental book, The Gamification of Learning and Instruction Fieldbook: Ideas into Practice, by Kapp, Lucas Blair, and Rich Mesch, for methods and examples to put the concepts into practice.
Once you’ve read all those books, then you can start learning the individual skill sets discussed above.
A willingness to use existing content
Perhaps you’re now feeling overwhelmed, like you’ve bitten off more than you can chew given your limited expertise, time, and budget. Fair enough. Fortunately, you don’t have to create all your own educational content. Several companies are already creating educational content and serious games in VR. For example, Google Expeditions creates educational field trips in VR for Cardboard. Eon creates educational content using both AR and VR. Engage, created by Immersive VR Education and HTC Vive, is a virtual space for teachers and students to interact and communicate; Immersive VR Education has created several educational VR experiences as well. Here’s a list of dozens of educational VR experiences and development companies. Perhaps you could even partner with one of these companies to create custom experiences using existing or new content.
Admittedly, this isn’t quite the same as creating your own serious game that will change the world (or your industry, your business, your school). Until you do create your own amazing educational games, look around and use what others have already created to get you and your students started right away.
Whether or not you find existing games that fit your needs, you should absolutely start learning and playing around with the game engines now. Accelerate your learning by reading blogs and listening to podcasts about VR and games, getting involved in the local VR and gaming communities, attending local VR and gaming meetups, and touring VR game development studios.
VR game development is unquestionably complex and challenging, but it’s not rocket science. You (yes, even you) can learn it. Plenty of people have learned to create VR games and experiences, starting with nothing more than a desire to learn and the chutzpah to start building something cool. So download a game engine, start watching some tutorials, and get started already!
As always, in the comments below, tell us what game engine you like best and why, as well as what serious game you’re working on.