Course in the making. Estimated completion: June 2017. Early Access will be given to all pre-orders as soon as the first lectures are ready!
Funded through Kickstarter by +300 people
The Complete Virtual Reality Game Development Course is the world’s most comprehensive online course on virtual reality game development with Unity 3D.
No prior knowledge is required. Students will learn and master the foundations of C#, Unity and VR by building a portfolio of 15 immersive games and experiences.
Start a rewarding career in VR. Whether you want to make games for fun, run a startup, or become a professional Unity developer (+160k a year on senior roles), this course contains everything you need to reach your goals. Some of the topics included:
- Types of VR experiences, player controls and cameras
- Teleportation: fixed, free roaming
- Cabin/vehicle experience
- User interface design in VR
- Motion sickness avoidance, based on current research
- First Person Shooter experience (including adjustments to avoid motion sickness)
- 3D game mechanics
- Level design including terrain generation
- Performance considerations
- Industry best practices on how to organize your code and assets
Course Development Diary
23 February 2017
This week we created a fitness game in VR: an infinite runner where you have to jump in real life in order to jump inside the game. Developing this game has been nothing but fun and some people in the office were close to getting hurt.
This game introduces many interesting concepts: procedural generation of game objects, object pooling to preserve memory, and well of course, how to introduce real-world physics into your VR world. We also cover how to make the far-away background (in this case, mountains) to follow you around to keep the illusion of distance.
16 February 2017
This week we created a puzzle game in VR, where the player has to place all the tiles in their right position. When the puzzle is completed, an event is fired so that other game behaviors can be easily triggered (for instance, a new pyramid could come up from the ground, or a door could open up). The puzzle can be modified so that it works with other puzzle pieces, and have a different number of rows and columns.
The individual puzzle pieces use a component we made named “draggable” which is implemented in a way that can be easily re-used in other games. This component allows us to drag and drop objects in VR. We will be using it again later in the course.
Also, this week we improved on our teleportation targets, so that they can now have an animation (similar to the VR game “Land’s End”), and fire custom events when they are reached.
8 February 2017
Worked further in the Space Invader VR game. Made lots of tweaks and added a wall with a graffiti on it that indicates the state of the game. This wall is really the UI – it shows instructions, number of enemies killed and game over text. To start a new game, simply shoot the wall! In VR, UI can be incorporated into a game as real-world elements and it feels quite natural.
7 February 2017
Started working on Space Invaders VR, one of the games that will be included in the course. This project is an attempt to bring this classic to VR. So far, I’ve completed the basic functionality and it’s already quite fun to play. There are more things I want to add such as small aliens that come from the spaceships and attack the player. Also, need to add kill count, game over and wining conditions. Will also add some more Blender models and maybe a Skybox. to make the scene look prettier
This project doesn’t include that many new elements that are not already part of previous experiences, so it will serve more as a consolidation project. This means, we can go a bit further when it comes to polishing it.
31 January 2017
Completed the implementation of basic teleportation targets that shine when the player looks at them, and allow to set a maximum distance for them to become visible. When “clicking” on them, the player is taken to their location.
These targets are created as prefabs that can be easily dropped into any Unity project, so we’ll be reusing them and extending them in the follow-up modules. More features that I plan to add to these elements are a more smooth movement for the player (currently the player literally teleports), and the ability to hook certain events to a specific teleport station (for example, when you reach a certain point, something happens in the game – door openings, lifts, etc)
Created a low-poly giant tree world in Blender to test-drive the teleportation targets. The floor is made semi-transparent. I also used light baking to gain efficiency, which will be covered in the course.
19 January 2017
This week we worked on the creation of two VR experiences. The first one was a very simple flying experience that takes place in a beautiful low-poly world:
This will be the first VR project that students will work on, and the main goal will be to build something simple they can run on their device. Also, students will learn to capture input from their headset (Gear VR, Cardboard, Oculus or HTC Vive).
The flying experience is actually the second project within the course. The first project is a 3D multi-level platformer which we’ll use to teach the basics of Unity and C#. Later in the course, I plan to make this game work on VR. That game is already ready since a couple of weeks ago (although not yet skinned – final look will be like Minecraft):
The second game that we worked on this week is a mosquito-killing VR game. In this game, you’ll be attacked by giant mosquitos which trust me, look really scary on VR! In this module we’ll introduce using a reticle to interact with objects in VR, as well as Unity particle effects and skyboxes.
The next project I’ll be working on will be a game similar to Land’s End, where I’ll illustrate how to use teleportation to fixed targets and collect items in VR.