Pocket Games members will share their stories and experiences in VR game development. Find out what you need to make VR games.
The game is based on an animation series called Castaways. The first episode of the series was created in a pilot program, the funds for twelve more episodes were recently won at a government competition. The work on those has already started. Castaways VR is set to be an educational adventure game and it's audience are mainly children. The gameplay time is estimated to be around 35 minutes for the first episode. We are planning to make more episodes based on the animation series. The series gives the game a very unique and likeable look. Our most important aim is to make natural sciences an interesting and entertaining experience to counterpoint the somewhat dry school education. At the same time, we would like the series to offer entertainment to older age-groups of students as well as adults. The visual and audio environment, the characters and the problems raised all point towards humour and playfulness, but as all tales, our story cannot be complete without tension and the primal fear of the unknown.
The 2 dimensional animated visuals caused a lot of problems for developing in VR. This however possessed it with unique looks and it helped us standing out in the Oculus store.
This game was made in 2 weeks, we were heading for a game show named PlayIT. We wanted to create something interesting for the crowd.
Our main concept was that, VR is usually a singleplayer experience where only the player knows what is going on, its not entertaining for others. So we decided to make a VR multiplayer shooter. We wanted to concentrate on our goal, so we did not innovate at the visuals, the graphics are simpler so we could finish in two weeks. We got it all done in 2 weeks, and after some more features and bugfixes it was published in the Oculus Store. The amount of users when it comes to VR games is very small, especially if we only look at one platform. Here is where we ran into problems, if someone wants to play multiplayer it is hard to find an opponent. So we would advise you to think about this before you design an entire VR game on multiplayer experience. Luckily we recognised this mistake just in time, so we created an AI which the player can fight against when there is no one else.
What do we need to develop for VR?
"First of all you will need an engine that supports VR. An option is to sit down and simply create one and in three - four years of time you would be ready to start developing for a platform. I suggest you go with an other option. No matter what engine you choose it has to have VR support. The more VR devices it supports the better. We went with Unity there is no big idea behind it. We had the most experience with it, and this is a pretty smart and easy to use engine. There is no magic needed, it has a clean editor, you can script for it in c#. I would recommend Unity, there is a huge active community behind it where you can find plugins and tools which can make your job easier. Also if you run into any problems, there is probably someone who has already encountered the same, so you won't have to look for all the answers by yourself.
You will definitely need a developer environment too, choose any that you like and feel comfortable using."
Profiling and debugging tools.
When it comes to VR the performance is a big problem, we are very limited what the hardware can and cannot handle, this is important because the game needs to maintain solid 60 frames per seconds to prevent dizziness. We experienced this while developing CastawaysVR, where we ran into graphical problems and needed to figure out why the game lags. This is when we realised how important it is to have all the necessary tools to make this virtual world the way we have dreamt it. We would recommend that everyone prepares mentally for this task, research what tools are available for your engine that you could use.
"For me as a creative person I always wanted to find a way to develop my drawings and visions into the game. This is no easy task, sometimes I get really excited, work hard and then show it to the programmers and they'll say, "oh god. No way. This is very problematic.". This is when we sit down and find a technical solution, because for me this is the largest challenge, finding a way to make my creations work in-game. Because we are in a 3D environment in VR we can say that 2D technologies are not practical. We only used 2D for skyboxes, textures and objects far away. We had to make sure we used low polygon textures and as few as possible. We also had to ditch the dynamic lighting when it comes to 3D.
Let me tell you a couple of words about game design, this is one of the first steps to game development. We an 'easy' task with The Duel VR as it was a much smaller project. The game plays in an arena and you jump from platform to platform trying to gun down your enemy, and avoid incoming lasers. Your laser gun can overheat, forcing you to wait for it to cool down before you can fire it again. Due to this, I designed the arena in a way that you can hide for a short time and avoid getting killed. The game also features lasers bouncing back from the space platforms, so if you fire without aiming and thinking, you might just hurt yourself with the lasers reflected from your enemy's platform."
"With CastawaysVR we had a much harder job, as we worked from materials received from the creators of the cartoon. Because the animation series is 2D, we built the entire level using sprites. I started planning by using paper sheets to simulate the 2D elements, and to get a better understanding of how I wanted it to look. The level needed to be planned in such a way, that the bushes and trees, and everything else looked good regardless which position you take on that level. We planned and made 4 levels using this method. Transparency was one of our largest enemy, the materials we had to use were somewhat transparent. This looks great in the animation series, but due to their high resulotion textures and complex transparency, this had a phone melting affect on our VR devices. We had to build in 3D elements, because the player needed to interact with close objects, like a coconut or a fishing rod. The 2D animations from the series had to be converted into VR, there are plenty of tools which help with this task.
The Duel VR was a piece of cake compared to Castaways VR, because we knew from the beginning this is going to be a game not an animated cartoon. Everything is 3D in this game except the skybox. We used free tools and plugins on this project, one method of application was to make the characters dance. I highly recommend using plugins as you can save a ton of time and energy with using a solution that is already done."
Game technical considerations
"I am going to tell you how we solved different problems, this is by no way the ultimate solution to everything, if you like it, you should consider going the same route if not, then don't.
The first and most important question is, "How can we effect the VR world, and what kind of feedback do we get?". These will define the user's experience with the game. The major handicap with GearVR is that you only have 1 button to use and a touchpad, we had to figure out a control system that can be used with so few ways of input. We also cannot put an inventory or other icons on the screen, like we could in regular non-VR games as there is no traditional screen, only our point of view. If we really want, we can use solutions that let elements move together with the user's head, this is no trivial matter, it is not easy to make it work correctly. We cannot put anything too close to the user's point of view in VR, as the human eye cannot focus too close to that image, which will definitely cause a bad experience. The solution is to move the desired object or crosshair or anything that you want to display farther from the eyes(1-2meters).
Let me give you some examples from Castaways VR.
First of all, the crosshair moves together with the head, to aid the player at the interaction with object. If you look at something that is interactable, the circle will change into a hand or feet. This is a classic point&click solution. There is also your inventory ,which is a bag at the player's waist height, this also moves with the player but with a bit of delay. There are object that you can hold, like this coconut, which you need at the coconut cracking mini game."
"Movement is a very interesting topic in VR. If we move the player too much it will probably cause motion sickness. We went with a teleport movement system. With the first iteration you could look anywhere with your crosshairs, tap and you moved there, we masked the movement with a blinking effect. With this you could move anywhere on the field but, as the level was built, we figured this is problematic because of the 2D elements mentioned earlier. So we defined areas where the player can move, and made sure that everything looked good from those positions. There are tiles on the ground, you just basically look at the one you want to go to and tap on the touchpad. At least this was the idea, but there are places where we need to move the 2D elements while the player is moving. So when you tap to move, the blinking effect appears to mask the movement, at the same time we also move some of the elements so that everything looks normal."
"The Duel VR on the other hand was much simpler because it was planned to be a demo. Here we have animated movement, to prevent motion sickness we used a constant speed for the movement, which turned out to be a good solution. The movement is controlled by the Gear VR's touchpad, which can detect swipe gestures, so the direction you swipe the direction you character will jump, this is locked to platforms of course. We thought about adding controller support, but this was made as a demo for a game show, PlayIT. If someone tries VR for the first time, plus they get a controller, they might not now what to do with all these new things. Plus there wasn't a standard controller for Gear VR."
We will continue with the exciting part, optimization in the next part.