GRIP game director Chris Mallinson talked about the production of an amazing fast-paced action racer.
GRIP is one of those games you can’t take your eyes from. It’s got incredible speed, huge scale and non-stop action. 80.lv was fortunate to meet game director Chris Mallinson and discuss the production of this amazing racing action. The project is created with the help of Unreal Engine 4. Interview recorded by Kirill Tokarev.
I actually, used to do home renovations before this. I quit my job at the end of 2014 and embarked on a journey to make GRIP with Robert Baker, a veteran programmer who’s worked on a dozen racing games, including Rollcage and Rollcage Stage 2, our inspirations. In the middle of last year, David Perryman (Producer) jumped on the project. He also worked on the Rollcage games as well as various other titles in his day. Then we’ve got a bunch of part time guys, whom you can see on our team page. We’re all in different locations, but the company is based in Toronto, Canada, where I am. It’s difficult not being able to work in the same room as each other, but it’s also nice not having to pay for the expenses associated with a physical studio.
Rob had been updating Rollcage and Stage 2, making them compatible for new versions of Windows. Seeing how utterly dedicated he was to those games, I figured maybe he wanted to get going on a new combat racer. Turned out, he did.
Although we wanted to make a game that was a lot like Rollcage, we also wanted it to stand on it’s own as a new breed of combat racer, a genre that’s been somewhat missing from gaming for a while now. Rollcage holds a very exclusive place in our hearts, and we couldn’t see ourselves making anything other than GRIP right now.
We were concerned about performance for a long time, but it seems the game runs great on a variety of systems. So far the biggest challenge, unsurprisingly, has been the physics. Robert has done an astounding job on them so far, when you consider that he’s had to dive directly into PhysX source code to get to where we are now… and there’s still more work ahead. One of the biggest milestones in development was when we implemented basic AI. And I mean basic as in, the cars just drove to waypoints in a circle, but it was so special because the project suddenly felt like a real game with actual opponents to race a shoot. It was exciting, and I’ll never forget it.
I use World Machine to create the terrain for the levels and I think that process goes a long way in making the level immediately look good. What we do is carve roads into a landscape in Unreal, mold the basic hills and fluctuations in editor, then export that to World Machine for detailing. It seems to work really well. Then we use meshes for distance mountains/hills to give the levels a bigger sense of scale.
Performance-wise, as you can see in one of the screenshots, there are chunks deleted from the main terrain which helps keep the poly count lower, and we use cull distance volumes plus asset LODs to keep the detail levels manageable. Other than than, we just try to keep mesh environment mesh detail relatively low, as the game moves so fast that really high detail assets is a bit of a waste, unless they are of great size.
One of the challenges of designing levels for this game is indeed, trying to implement things that incorporate the high speed and unique car attributes. We have a lot of splines in our levels, and most of them use both a visual spline mesh and a custom collision spline mesh, as most of the time we want the surface to look detailed, but be completely smooth for a driving flow. So the tunnels in our levels may have a bunch of recessed or protruding geometry, but the collision shape is completely smooth.
Our main directional lighting is actually dynamic, but not global illumination. This is so that we can have things like different time of day and weather effects on layers in the same level, and just enable them based on chosen options in the menu. Plus, the build times and file sizes are cut dramatically, which is always nice.
We haven’t used many particle effects in the environment yet, as they’re mostly tied to the game’s weapons and vehicles right now. We do however plan on having more environment movement and detail to create a more immersive world.
Cascade is a really fun interface, and I’ve spent quite a bit of time in there. Some of the effects, like our explosions, were loosely derived from FX packs from the marketplace, but most of elements were made from scratch.
As for post processing, the only abstract thing we use is the screen fringe effect when the player is hit by a missile or mine. I haven’t experimented with color grading or other effects too much yet.
As mentioned before, the physics for this game have been a big challenge. It’s been crazy trying to get the car to behave the way we’d like it to when it’s hitting speeds of 700 kmph, driving on walls and ceilings, as well as getting hit by projectiles and other vehicles. It’s simply been an experimental, iterative process trying to get all the gameplay elements to work together. You try something out, and if it works well then you build upon it, and if not then you try a different approach or scrap the idea altogether. Many ideas were abandoned because although they sounded good on paper, in practice the game moved too fast for the feature to be impactful or practical. It’s a tough balance.
Just getting the car to drive on both sides and ‘stick’ to ceilings was a massive challenge. I don’t think people realize how absolutely crazy something like that is to code, especially when we’re going for semi-realistic vehicle handling, not purely arcade physics like most super high speed racers. These things just take time and perseverance. Rob has slaved away at the physics for a year now, and his achievements have been truly impressive.
We have complete faith in this game and believe that the final product is going to be something truly special, and that’s what keeps us going and pushing forward, which is how we got ourselves on Steam thus far. We hope to finish what we see as a feature complete game in early 2017, but there will be plenty of updates before then. Hopefully multiplayer soon.