Other Aspects of the Engine

Beyond3D:
Were there improvements or significant changes to the animation systems in Dead Space 2, particularly for character speech and Isaac?

Work on the animation system mostly went into new characters, inverted combat and new locomotion like improved zero-g. We have a pretty evolved set of animation tools and didn’t change much under the hood to support speech. We did, however, add a head and more bones to an already heavy character and took had special performance considerations for scenes where Isaac’s helmet would retract.

Beyond3D: The integration between AI, physics, and character dismemberment system seems quite robust. What problems were faced trying to keep it coherent (e.g. being able to travel on walls or past miscellaneous objects, reacting to different weapons)? What challenges were there for the artists and modellers, keeping in mind the memory and performance budgets?

More problems than I care to remember. It took a long time for us to get everything to play nicely together and resulted in some very interesting bugs. There was a time that the environment artists referred to the javelin gun as a tool for generating bugs in the game. We have several rules in place as general guidelines but invariably this is complicated problem and we have several experts on hand that focus on Havok and dismemberment as full time jobs. We also have a lot of testers who like to break the game and point it out to us.

Beyond3D: Why do objects either disappear or face an invisible barrier between rooms? Likewise for enemies?

We limit the amount of stuff a player can haul through the level for performance reasons and because certain objects belong to stream sets that get unloaded from memory. We prefer to gracefully get rid of these objects instead of having them just vanish when the stream does.

Beyond3D: It also seemed to be the case that enemies were aware of available paths behind walls, and were able to take different routes to reach Isaac, sometimes between rooms if the player decides to dash through one room. Was this also a big headache during debugging?

Vents don’t really have geo connecting them together; they are more like teleporters that use custom AI pathing nodes that point to other nearby vents. This system worked pretty much as designed and didn’t cause us much trouble.

Beyond3D: Player immersion is a big highlight of the game with the 3D GUI. What was the challenge in integrating the UI into the 3D game world? Was it expensive (processing or memory-wise)? Also, were the video communications rendered in real-time or were they pre-recorded videos or a combination?

I did a very early prototype of the UI in virtools but we quickly needed to see results in-game and UI work was done by extending our vfx systems by vfx artists. I didn’t have much exposure to it after the initial prototype but it’s not terribly expensive. We do render all video logs as movies that are played in the UI. We generally capture background plates from the game and render characters in mental ray with matched lighting. These layers are then combined together and glitch post effects are added. We considered rendering them in real time in and off screen buffer but found that it was better to render offline since the environments and characters could be worked on independantly.

Beyond3D: 3D rendering seems to be getting a push from TV companies, including Sony. Any thoughts on introducing such a mode to enhance the horror environment? If so, would you opt for the cheaper 2D+depth effect or the more expensive, but truer, parallax rendering of two complete views?

We are definitely paying attention to advances in this area but haven’t committed to supporting it on future projects yet. If we were to move to 3d, I would want it to be true 3d that uses dual cameras and not a 2d depth effect. 3d is very tricky to do right and can easily end up as a bad user experience if too many shortcuts are taken.

Beyond3D: Both games target 30fps or ~33ms frame render time, but what does that consist of on the Xbox 360 and the PlayStation 3? Could we get a debug snapshot to show what jobs/processes make up those precious ms across the multiple threads and the GPU?

Click for a bigger version




Beyond3D Note: Remember, 33ms should be the worst case scenario to maintain a consistent framerate. One has to consider that there will be more taxing elements during gameplay. There is also the idea that the various areas of the game should be visually consistent, no doubt providing further headaches to the artists when comparing indoors to outdoors.

And that's a wrap! A big thanks to Doug and friends at EA for letting this happen.

For further discussion, please visit the forums here