GamePro: Unreal Tournament 3 is clearly one of the best-looking PS3 games, and your Unreal 3.0 tech is fairly new. What's the secret for developing on the PS3? Many other studios struggle with PS3 development.
Jeff Morris: Memory optimisation and technological optimisation are the biggest hurdles, particularly if you're coming from a PC environment. [For a console game], think of a huge slider where we [the programmers] have to make decisions for visuals versus frame rate trade-offs. On the PC, those choices are left up to the individual.
GamePro: Could you speak more about the process of memory optimisation for the PS3? Strictly from a layperson's perspective.
JM: Well, the texture for a vehicle includes many different texture maps, each with their own unique detail. One of those is the "diffuse texture", which is basically a chequerboard. There is also a "specular texture", which includes the way light catches on the object, such as crinkles on a bottle. You overlay the specular over the diffuser. [To optimise for the PS3,] we say, "I bet we could combine the diffuse and the specular textures into one texture," which can [halve the memory requirements]. We look at them and put them side by side and there is almost no difference; you just can't tell in game play. Our optimisation philosophy is "optimisation at no visual degradation". We can also do things like reduce the polygon count of an object to one-tenth, and you can't tell the difference.
Another advantage was having the Gears of War guys come over; they knew where good memory trade-offs could be made. The PS3 has two memory chunks, one for texture detail and one for geometry complexity, so...we can't share those pools like you can on the Xbox 360. So there were two stages; get memory in line and then get geometry in line. Once we accomplished those, the optimisations rolled back into a faster PC experience [when played] on a lower-end machine.
GamePro: Interesting. So the PS3 really is closer to a PC's setup, with separate RAM pools for graphics and system memory...
JM: ...Exactly. It reminds me of old DOS memory management. You know, "I wish I could get that one kilobyte out of the texture memory and put it into the geometry memory instead."
GamePro: So the key to the PS3's potential is in its Synergistic Processing Elements (SPEs), which function similarly to small CPU cores. How do you leverage these, and can they enhance performance?
JM: Basically, the Cell's SPEs are "accelerator processors" that function in addition to the primary processors. [To take advantage of the SPEs], we look for tasks that don't require insane CPU power but could be done in the background, in parallel. There are some threads in our multithreaded code that we can dedicate to a single SPE, and the process will run happily in background while the main CPUs are dealing with AI and game play. If you program the Cell CPU the correct way, it is like having all these simple things in parallel. That's the thing about regular PCs; computers are really dumb, but incredibly fast. PCs can perform one little logical thing like crazy [makes rapid, back-and-forth ping-pong motion], and so we need to find those little logic checks that we can kick out to the SPEs. Doing so frees up the primary CPUs from having to do those mindless, but necessary, tasks.
GamePro: That's interesting. When I ask about the PS3, lots of developers say, "Oh, well, we're still figuring it out. It's hard." You guys seem to have a real advantage on PS3 development.
JM: You have to be disciplined and aggressive on where you optimise and how you organise it. And you have to make sure that artists aren't building assets that are never going to work.
GamePro: Let's talk more about the game. UT3 reminds me far more of the original Unreal Tournament than its sequels, down to the main menu music and armour pickups. Why lean towards the original game instead of UT2003 and 2004?
JM: It was to provide a better first experience for new players. In UT2004, we had reduced gravity and characters were far more mobile, with dodge jumps and the like. That extreme mobility meant that new players wouldn't even see the person that killed them -- the killer would jump over the victim's head and put a rocket down the top of his skull.
But by increasing the gravity closer to the original UT, new players can see the player that killed him because he is not able to back flip over as easily. There is generally a wall or a floor that someone can put a rocket against. With UT3 we feel we have given new players a much better tool kit to actually compete on early experiences, so they'll see "water cooler moments" like an enemy disintegrating or turning into gelatine. There are a lot of little nuances like that throughout the game that we haven't talked about that we want people to discover.
GamePro: Say more about these "little nuances". What are a few details that players might not notice right away, but that you're particularly proud of?
JM: Probably one of my favourite things is the ability to tether onto other vehicles using the hoverboard....We have a lot of deployable items, so when you get killed by a spider mine, [you see it] climb up on you in first person and then [blow up]. There are a lot of these little touches in the game Another love is the EMP deployable mine, which will power down an enemy vehicle and eject the player out of it. [We did things like that because] we have a lot of vehicle combat but we wanted to keep deathmatch skills relevant.