VUE without competition
Can you please give us a walkthrough how to implement this into Maya? would be super helpful. Thanks a lot.
Chris Bolton, Creative Director at Astrofish Games, talked with us about their new VR title Ground Runner: Trials, its development in Unity, dealing with motion sickness, testing stage and more.
Astrofish Games is a small VR development studio based in the UK and founded in 2016. The 2 development directors have over 10 years each in the games industry and have spent most of that time working on AAA mobile and console games, from Batman to Hungry Shark.
About Ground Runner
Ground Runner: Trials is a single-player sci-fi hoverbike FPS, set on a forgotten backwater planet. The game is set across 8 immersive missions and a free roam mode to jump straight into the action.
In the game, players develop their piloting and combat skills, learning to both pilot and fire weapons at the same time using controls they can physically interact with.
Players take on the role of a Ground Runner: a scavenger whose job is to scour the mining planet on a technologically advanced hoverbike, searching for the extremely powerful and sought after Torsion Crystals, all while being relentlessly hunted themselves by autonomous drones.
Ground Runner: Trials originally started in 10 square kilometers of London city data which we had been given. The original brief to ourselves was to build a hoverbike combat arena game. The game was originally meant to be multi-player but as a team of 2, we quickly realized we may be biting off a bit more than we could chew, especially being VR.
We spent quite a bit of time prototyping and actually finding the right gameplay. The bike locomotion and combat emerged quite early on in the development, however, the art style and actual gameplay didn’t crystalize until pretty late on into development.
We were keen to jump on the 80’s sci-fi theme bandwagon as we know it has a nostalgic value for a lot of demographics in VR gaming. However more importantly it’s also close to our hearts as developers as well.
Prototyping the Mechanics
We wanted to do something to explore and push the boundaries of what a player can do in VR at the time. We knew that tackling fast-paced locomotion was going to be difficult and something which a lot of developers seem to be shying away from. We had some ideas of how we could successfully achieve this and differentiate ourselves from the rest of the market with the dual combat/piloting mechanics. We knew from the beginning we wanted to involve completely physical controls. We had the vision of having lots of switches, levers and having a very detailed interactive combat/flight experience.
Just to be clear, there’s not actually any racing involved, though the locomotion is in a vehicle.
We started in the air, with pretty much every degree of freedom. We had two hovercrafts and a local multiplayer set up with guns. It did not go well. The ride was all over the place, there wasn’t enough visual context to anchor us in the world and being chased by an enemy in the distance was very vomit inducing, making the player constantly look in every direction other than forward.
We set out identifying as many instances where we felt sick. The game really has become a labor of love which we have spent a lot of physical pain working through. But don’t worry – it gets better. It turns out you want to give the player every reason to constantly look straight ahead in relation to their vehicle, which means making the vehicle extremely agile.
We realized we needed the player looking forwards and not providing much of a reason to look over their shoulder or behind. We realized we needed to restrict the player’s degree of freedom so that roll and pitch are mostly removed. We put the player on the ground which proved to be an instant hit and these things instantly reduced a lot of motion sickness. At that point, we started thinking multi-player would not work because of the chasing aspect so we continued with single-player in mind.
Motion sickness occurs when a player’s visuals don’t sync up with what their brain is expecting to happen. We have ended up using a PID controller in combination with the Unity physics engine to have tight control over the player’s motion. This acts as sort of a low/high pass filter on motion noise, meaning when a player is trying to get their VR legs in your game, not only is it done much quicker, but they retain them for longer. The motion is consistent and that way the player is able to build up a model of motion in their brain for predicting what is coming next – which leads to a much further reduced level of motion sickness.
Modeling & Lighting
The meshes haven’t been that optimized, to begin with, on initial EA release, which worked well with our pipeline on high-end machines, however, we did end up optimizing for the lower end entry level VR devices as EA progressed. LODding (levels of detail) provides the biggest win for us. We are able to keep the mesh density really high close up to the player as we have a system for taking groups of objects and rebuilding them into a simplified mesh LOD with new materials at a distance. We can then combine those LODs at a further distance into a super LOD. This way we are able to achieve a decent draw distance and level of detail. We also utilized Unity’s Occlusion Culling, though, in an open map, there is only so much this can do.
The other big win is understanding how lighting works in Unity’s forward rendering pipeline. Lighting can start to multiply the number of faces drawn on the screen, this is to do with shadows. Each light draws to the depth buffer when it wants to draw shadow maps. With VR already multiplying the faces drawn, small scenes can get very expensive very quickly. We made sure that all lights other than the direct light were baked, for the latest version I think even the direct light is baked. We couldn’t have done this without a new feature introduced by Unity called Shadow Masks. It’s essentially a baked map, defining where your shadows are. Shaders all end up looking the same as if you had real-time shadows, they’re just static. Whereas before, the PBR materials would not look the same at all with everything looking flat. With Shadow Masks, we are able to achieve so much more realism.
In the original arena game concept, we wanted to go the cyberpunk Mods and Rockers route, basically a similar look to what Cyberpunk 2077 has got now. We wanted to take old bikes and replace the wheels with hover pads. The problem was that we weren’t going to be using handlebars and there wasn’t enough of a cockpit to ground the player. So at that point, we were using a three pad hovercraft with a cockpit.
As soon as we moved to locomotion to the ground plane, we moved back to a bike as that’s what we really wanted to do and was fun. The bike was blocked out first in 3ds Max, starting with a bike frame. Panels were added and adjusted until the profile looked right then all the details started to get added. I wanted the bike to look like it was hacked together from old machinery. I didn’t do any real concept art or find too much concept reference, it was all pretty much borne out of my own head. I’m really into fringe technology and specifically plasma propulsion, so I already had some ideas.
The hover pads are what I imagine an advanced ion lifter to achieve. Ion lifters are small balsa wood and tin foil devices which make up an asymmetrical capacitor. You put a high voltage through the corona wire and foil skirt which produces ion wind by stripping electrons from the air, making charged ions, accelerating them towards the skirt through electrostatic attraction/repulsion, which then ballistically hits neutral air molecules to produce thrust. My thoughts are to use magnetohydrodynamics to create a strong torque in the air flow, alternating the flow direction with the magnetic field. So theoretically, you could see bikes like this flying around in 30 years, who knows!
Texting the Game
We did most of our testing with the public. We went to Develop VR in London and tested with roughly 50 people, it was about 70% motion sickness – not great, but everyone loved the concept. We then ran the game past a similar number of people at Unite EU 2017 which we had been invited to showcase GR: T at. By that point, we had managed to flip the numbers round to 70% of people not having any motion sickness. By the time we got to Develop conference in 2017, we had worked on all the public feedback to do with UX, locomotion, and gameplay and we had something most people were finding fun as well as comfortable and kept coming back to play. By that point, we were only getting maybe 5-10% of people saying they had some adverse motion sickness.
When we eventually released the game into Early Access, the title was mostly finished, though we wanted to spend EA seeing how the game was received and carry on working on feedback. The key to us getting Ground Runner: Trials – a game with this much interaction, fast locomotion, and action in, to a state where we have players who don’t just like it but love it, is beyond a doubt, player feedback and most importantly, listening to and implementing that feedback.
VR Game Dev Experience
Doing anything unproven and untested in VR is hard and definitely the biggest challenges. Our team size (2) allowed us to be agile but comes with bandwidth issues. The three biggest factors are UX/Comfort, Technical requirements impacting art and gameplay and finding the right level design layouts. That last one is so much more important in VR than in regular games.
You can buy Ground Runner: Trials on Steam VR or Oculus Home for Oculus Rift, VIVE and Windows Mixed Reality. GR: T is a 2-3 hour taster. A cross section of where we believe VR to be going in the future via what is technically capable today. When the VR market grows and hardware is adopted en masse, the future of gaming is going to be insanely good.
If you found this article interesting, below we are listing a couple of related Unity Store Assets that may be useful for you.