Game jam level – almost everything in this was Zbrush, dynamesh, decimate then flat shaders.

It was a pretty big surprise when the directors at Ninja told us they wanted us to keep going with it and develop it into a full shippable game. At the time it just seemed like a fun little project and nothing more, and because of that it felt like a lot of work to bring it up to a full project. So naturally we up-scaled the team, increased the scope and time frame.

To me, this game was really special and always will be. It was the first project where I felt properly in control. Beforehand, I spent most my time working as part of a much bigger team on much larger projects.

The first major task was to work out how to turn my hastily put together game jam level into a full, shippable product.

With new artists on board and a new scope, we all agreed to keep it stylised but to bring in a lot more detail and realism. Having previously worked on stylised titles such as Disney Infinity we all felt fairly competent in achieving this.

We unanimously felt it best to just start development afresh and not worry about redoing stuff. This of course meant more work, but allowed us to plan out proper levels with distinct themes. It also provided an opportunity where we could design much more enjoyable levels from our initial experience created during the game jam.

The main goal for the art was to create an interesting and captivating experience whilst reinforcing the intended player interactions, keeping the gameplay smooth and readable.

The switch to working with VR

The norm for Ninja is to develop narrative based 3rd person action/combat style projects, Hellblade being a great example of this, so jumping to a first person VR rail shooter was a big change from what the team were all used to.

For me, the biggest change for me to adapt to was not knowing where the player will be looking. VR gives the player total camera freedom, making it very hard to know where exactly someone will be focusing on.

In some of the initial tests we found people would spin around and shoot things behind them then miss everything going on in front of them. I never felt we really found a reliable solution for this; you just have to do all the usual tricks and hope the player is paying attention.

In Dexed, the player was encouraged to look in the forward direction by our use of subtle VFX, but mostly by the constant forward movement. We were quite lucky that this just happened to work out for our game.

For a lot of developers, hitting the high frame rates necessary for VR seems quite daunting; nailing a solid 60 is hard enough in most cases, and 90fps is an even harder target to reach. However in my experience, if you plan and work to the strengths of VR & your engine, it isn’t as hard as you would initially expect.

Dexed works using a floating camera locked to a spline, which meant we could make some intelligent choices that don’t suit other gameplay schemes with the environments. We don’t have any collision for example, or if you freely fly the camera around you’ll find there are lots of huge holes in the environment.

Avoiding unnecessary movable objects is a good win as well, and dynamic shadows are incredibly expensive in most cases, so building a scene that wouldn’t benefit from them saved us massively. Using static lighting was a huge saving but came at a visual cost; mainly that things can become very still and lifeless or looking unlit/flat. So this was something we had to counter in a number of different ways. Mostly by covering stationary objects in moving materials/particles but I’ll be going into that later.

Hitting 90 FPS in VR is a tall order, but if you plan development with that in mind and work smart, it’s a very achievable goal.

Production

At Ninja, we tend to work closely in our teams and there’s a lot of bouncing back and forth. We try and avoid ambiguous greybox prototypes which don’t translate into actual art/games. There’s nothing worse than trying to work out what a bunch of cubes are supposed to actually be. Bouncing back and forth at the very early stages means that the greybox can be very representative, leading to better art and often better, more immersive gameplay.

This project was a little different, however. The levels can be compared to an old school scrolling backdrop, and as such they have little impact on the gameplay. There was little need for level flow or structure, we just drew an interesting looking spline and went with it. This meant that during the early stages of production, our artists got straight into making levels and designers went straight into prototyping mechanics, wave formations and timings.

With the inferno level, I started by gathering plenty of reference, trying to decide what I actually wanted to make. I knew it had to be in a bowl shaped volcano; I just had to work out how to make it more visually interesting than a bunch of lava and rocks. I felt the way to go was with geothermal rock formations, with my main inspiration being the Giant’s Causeway in Ireland.