Another interesting talk from GDC 2011. Dead Rising 2 is excellent fun: you get to mangle zombies in lots of different ways. It supports a two player co-operative mode. Just because of the nature of the game with thousands of potentially moving zombies and other props, this is a game that would be hard to scale compared to an FPS such as Halo (see our previous article).
An assumption made in the networking design was that there would be little contention over objects in the game space. Thus each player’s client simulates the state and does the AI of those world objects near by to them (zombies and props). Anything not near a player is idel. Because the game has a mission structure some client-server style overall control needs to be done.
The talk also covers some compression techniques they used including state extrapolation and dead reckoning. The dead reckoning is interesting because it mentions that they implemented it within Havok using soft keyframes – that might be quite generally applicable if it does what the terms suggest!
Another interesting aspect is that the game supports late joins and can thus serialise quite large state changes. This was noted to be an area of current development.
And again, the importance of debugging tools is identified. In particular the problem of logging so that the root cause of de-synchronisation can be determined.