John Carmack may be the face of id Software, but he’s definitely not the only person working on Rage or the next Doom. We spoke with Robert Duffy, id’s Programming Director, and Matt Hooper, Rage’s Lead Designer, about their upcoming shooter. The conversation delves into topics ranging from art design to multiplayer modes, and touches on the challenges of developing on both console and PC hardware.
: It seems like you’ve done some really neat stuff with engine tools on Rage. John [Carmack] said in his keynote that you’re doing simultaneous development on three platforms so you can flip a switch to produce builds for each of the three?
Robert Duffy, Programming Director at Id Software : That is essentially true. We’re actually doing simultaneous development for four platforms. Occasionally one platform will lag a little bit behind, but generally speaking, when we do a build, it’s produced for all the platforms. We don’t have any big media packing step during development that requires people to have to wait. We’ve set everything up where even if artists are working on a console they can change media and reload to see it instantly. Even though we’ve grown a lot, we’re still a very small team compared to a lot of companies so we try to keep that workflow going [smoothly].
MPC : To get a specific concrete example: a designer comes in, makes a stamp change on a megatexture or puts new art in the game. He can then see what it looks like on PS3, Xbox, PC and OS X?
RD : Well, for stamping it’s even cooler. If the artists or designers are stamping, those changes appear real-time on all platforms for everybody in the company.
MPC : So it’s like a multiplayer game?
RD : (laughs) Sort of.
Matt Hooper, Lead Designer of Rage : We have source textures, source models and things like that, that have to make their way in the game, but the cool thing about all the platforms is that those assets are shared. So like Robert was saying, you don’t have to do anything fancy to get a model to show up on the PS3, you just have to run the PS3 build and your model will show up. Any new art that is put into our source control is just going to show up.
One of the cool things about having it all virtualized is that all of the platforms pull from this one source (our megatexture server), so it’s all stored on the network. Anybody making change to that -- if they stamp or just go crazy and they’re changing the surface texturing – updates the media for everyone else. So it’s really just a giant bank of surface texturing that we’re pulling from all the time.
MPC : Can you explain a little bit about megatexturing and the virtualization of textures, and how that differs from what happened with Doom3 or id Tech 4 engine games?
RD : In Doom3 and all games before id Tech 5, you have a whole bunch of textures that end up being used in levels or landscapes and things like that, take up texture space on the video card. You end up having to manage that really well. So you end up repeating textures on surfaces, and you can get some pretty good looks out of that. What John came up with towards the end of Doom 3 was the landscape rendering in Enemy Territory: Quake Wars. He essentially unified texturing across the entire world, so not only outdoor areas but all the indoor areas.
We build this incredibly large texture, for instance a landscape has a 128K x 128K texture that I think when uncompressed is about 192GB. Then we do all kinds of compression -- although you could run it that way – and one of the final pieces of the tech were doing is actually compressing that down to shipping size. It produces this unique layout which is essentially just a mapping that the tech reads. It looks at a surface, figures out its mapping and then goes and knows where to retrieve that [data]. The texturing spreads across every single character, the world, the indoor areas, and is dynamic. Everything is a unique pixel. The designers and artists have the freedom to actually touch every single pixel in the entire game if they want.
MPC : In Quake Wars, are bases built into the megatexture as well or are they placed on top of it?
RD : In Quake Wars that is not part of the megatexture. Quake Wars uses a more traditional texturing approach. In idtech5, building textures are completely unique, just like the landscape.
MPC : Everything? Even in indoor areas?
RD : Everything. Obviously, we don’t virtualize the user interface textures, the fonts, and some things like that. But generally speaking every single thing in the world is completely unique.
MPC : What kind of extra freedom does that give you guys? What can you do with id Tech 5 that you couldn’t have done with Doom 3, aside from the obvious giant outdoor areas?
MH : There are two main things. First of all it’s the ability to have artists who don’t necessarily need to understand all the technical ins and outs of the engine. We set the surface texture budget and then literally all they have to do is make great art and stay within that initial allocation. But they’re no longer worrying about what to call out or what textures you have to take out near end [of development] because it doesn’t matter. It’s all unique and the cost is already fixed. We’re running at 60Hz [with Rage]. You can change all the textures in this room if you want and it’s not going to hurt the framerate at all. Taking that [limitation] away allows some production freedom.
The initial kind of fear was with the [task of] uniquely texturing everything. You start to think ‘Wow that’s kind of a scary thought, we have to make all of these unique textures,’ but we still build kind of in a traditional way but without the restraints. It doesn’t take a lot for an artist to make a 4kx4k texture – they actually want to do that. What they’ve had to do [before Megatextures] is make 128’s or 256’s or worry about things like ‘that mountain in the distance can’t be seen so I have to make a lower resolution version’. Now they’re just fixing the art at this constant resolution. [Megatexturing] actually makes it easier for them.
MPC : With the combination of driving and fps gameplay, what’s fun and exciting that we should look forward to that we haven’t seen before in games?
MH : The thing you haven’t seen is really the mix. We’re still id software and we’re still making this intense, action shooter game. Those moment to moment, finely crafted action sequences – running around with the coolest weapons and shooting guys – that’s still there. We invented that and we’re still going to do that really well. Just around the office everyone likes a lot of cool games. What we did was pull in these different elements that don’t detract from the action but add this little bit of flavor, and the vehicles are a part of that. The vehicles are almost an extension of your FPS avatar – you’re “running” around with a vehicle. It has armor on it, it carries a cool weapon, you fire that weapon, and the other car blows up in a cool satisfying explosion. It’s not as far removed as you would probably initially think. It all feels really good together.
By virtue of getting in the car and going to the next cool shooter environment, that separation allows us to do wildly different things in the different areas around the wasteland. It’s almost like the coolest 3D interface you’ve ever had in a game. You go back to town, talk to these cool memorable characters, get bits of the story, buy your next weapon, maybe take a little twirl around the track to prove something with your car, and basically just get ready for that next shooter experience. We think it’s a good mix. There’s nothing really like it which is scary at some times.
It’s hard to describe all the different elements because at first it seems like they don’t fit together. The main thing is that it’s always an action game. It's always going to be fun and arcade-y. Now were doing a lot of things that we haven’t pushed for in the past; we have all of these cool story elements. The story is so unique and diverse.
We talked about the tech, the virtualization of all the textures and how you can uniquely edit any surface in the game. We almost have that same thing on the gameplay side; we’re trying to make these really unique and diverse environments, really unique and diverse characters and story. It has some roots in things that can resonate [with people], like a giant meteor comet smacking into the earth. On top of that are all the different factions you are fighting against. It should be a really cool experience which always goes back to that unique and diverse [design]; from the technology to the gameplay fidelity.
MPC : It almost seems like what a single player MMO experience would be like. Going out and exploring this giant world, having cool stuff to do and having actual journeys to get there and not being a straight linear experience.
RD : You do have some choice so you don’t have to do things linearly. The other thing we really want to try to get really right is the vehicle combat because vehicle combat has always just kind of sucked. We are trying to make the car a true extension to your avatar where you can do some cool stuff with it. We tried to show some of that in the [preview] video, that we want it to be intense and fast paced. That way it’s a little more memorable. You take a mission to go out and do something and you may encounter some of this stuff and have to fight your way through a little bit. We don’t want that [style] to overwhelm the game but we want that to be something that is very fun and very memorable for players.