Executive producer of The Crew talks about the tools of the trade - MCV

Executive producer of The Crew talks about the tools of the trade

The Crew is an ambitious racer which had a lot of work to do if it were to realise its potential. Develop spoke to Ahmed Boukhelifa about how they managed the key challenges in the game
Publish date:

Tell me about the early plan for bringing all of the USA into a single racing game.

Very early on in conception when we were creating the vision for the game, we had to define what kind of technology we’d need to do it. We had to validate the concept and the technical capabilities.

We knew where we wanted to innovate. It was a gigantic world, and the challenges we had were challenges of storage. How do you make sure you don’t have an insane number of data?

So we wanted the player to be able to drive continuously and at very very fast speeds so there were streaming challenges, especially because we wanted to have a very diverse world, so we had to think about how to manage continually changing your data and changing what people can see and at the same time allow them to go at 400km/h?

How did this affect the task of creating the actual world?

So for the open world it was about trying to push the polygons, but it was mainly a challenge of world building. How do we create such a huge world and keep it qualitative, diverse and unique, and how do we allow our artists and designers to only work on the high value elements? Our solution was to leave all the generic stuff to programs and algorithms and make sure that the artista and designers had tools to manipulate them.

When you look at the world, we have this huge world, you can zoom in/zoom out wherever you want in real-time.

The way we built it is like a grid, so wherever you are, you have a high definition version of the square you’re in plus the eight around. We stream that, plus different levels of details for the far away visuals. Far away vision is especially important in such a huge open world because we want you to be able to see very far. For example if I go to the outskirts of Las Vegas, I will need to see the city in the background as I to drive to it or we break the player's experience.

And places like Las Vegas were more manually created?

Yeah, so if I zoom over to the Rocky Mountains, you’ll see how dense its forests are. I don’t want the artists to have to place every single tree one by one and it's the same with the swamps in the bayou and placing all the plants - the way we worked its very quickly generated. Very quickly it freezes your world - you’ve generated an area, you go on to the next step.

We wanted to make sure the artist and the designer had maximum control at every step. So the first step was to create the geometry just for the height map, then it was the general colour of the ground and onto that you’ll add all the details.

That was the first layer, then we had to lay all the roads down. We created road profiles, so the designer would just create and tweak these lines where the roads were meant to go, then the tool will generate everything around the road automatically, based on parameters the artists and designers can define. We push the boundaries very far because not only do we generate the details and all the types of roads, but also all the objects, all the lines and road signs are generated according to specific parameters. But we can make it very varied and different because all the parameters are open for the designers to tweak and change.

We work with several layers where we will define whether something is a forest, needs this or that vegetation, whether there’s a patch here or there which is different, and when defining an ecosystem we define the kind of vegetation we have in it and the rules for generating.

Why go to such lengths to layer the manual details this way?

In our previous games, our artists were spending far too much time just putting trees and details in. There is a limit to creativity when all you’re doing is planting a tree and rotating, planting a tree and rotating... It’s not very effective and I don’t think we could do as good still having to do that.

And what comes next after the terrain and road features? 

So now they've defined the areas and the last step would be creating the human-made features for level design. The way we work is that we create elements which combine into bigger structures and into bigger structures, so we create this ‘pool’ of elements which the designer can drag and drop into the world. In order to ensure we have diversity and we are still able to stream from the world, we actually divide and subdivide the common elements. We have a system where we define 'commons' for certain areas which can be places many times, but are different from the commons in other areas.

Our system of streaming goes from common data used for terrain, then to very specific elements used in a tiny region. If I go to New York and I have the Statue of Liberty, it’s only present here, it’s a unique object which is only streamed here, and you can only see it in high definition from within the sector and with the low definition version which we can see from further away.

So here’s the challenge - to give freedom to the designers and the artists, it was really to make sure that we build the world in layers, and to make sure that we have control of each layer. So basically it means that if I’m a level designer and I want to modify a road, I will just in the editor select one of these road lines, move it, and when I let it go it will automatically generate the road plus all the surrounding areas in their layers to keep it all together.

So the forest will not be generated any more where your road is but it will outside of it. It can generate a very complex network, like a highway superstructure in the same manner. For the world-building, this was our solution to one of the biggest challenges of how to manage to keep quality and diversity while keeping the size of the world manageable.

We could do it because we had this first step with Test Drive.

What are some of the other challenges you faced in making the game?

What we wanted to do with this game was to offer all the different kinds of driving experience so road, off-road etc, plus we wanted to offer the ability to really tune your cars and with all different types of cars. It meant we not only needed to have a solid physics model for all different kinds of cars, but we needed to make sure it would work with different kinds of terrains. For example, if you go off-road in the sand with one car it has to feel different to if you’ve done the same thing in another car.

The last challenge was the online play. Like in Test Drive Unlimited, we wanted to offer persistent online into the world. One of the big weaknesses we had in Test Drive Unlimited Online was that when you were going from game mode to game mode you would lose your link to the other players. You’d be in the world in Test Drive with other players, you would be in a group, but if you left to go into the garage or something and come back, you could not resume with them. This was a key element we wanted to make so much better with The Crew. So we wrote the idea for a group, and that if you group together with other players, you will be together all over the place.

Because of all those things, we re-built the engine from scratch for this game. It took us six years.

In order to support the group mode of the game, we had to bring this notion to the heart of the engine (which we didn’t do at the time of Test Drive). We had a first draft of The Crew with Test Drive, and I think all the major improvements we did to the world-building, to the online and how we did being online together (and with the physics and variety of physics models) - those were the three breakthroughs we decided on at the beginning of the game.

It took us a year just to validate and prototype all those elements, then it took us several years to build up all the tools and engine and features to be able to bring about the vision, but those three key technologies push very far and allowed us to develop the game.

Thank you for your time!