Sponsored By

Feature: 'Networks With Letters'

In a new Gamasutra technical feature, Introversion's John Knottenbelt discusses the 'discrete event simulation' approach to multiplayer in the upcoming Darwinia+ for

August 12, 2009

2 Min Read
Game Developer logo in a gray background | Game Developer

Author: by Staff

Not many people know that Introversion's IGF award-winning title Darwinia was originally conceived as a multiplayer game. Now, in a new Gamasutra technical feature, Introversion's Knottenbelt discusses the 'discrete event simulation' approach to multiplayer in the upcoming Darwinia+ for Xbox Live Arcade, in which player movements and button presses are sent over the network, instead of actual positions of the thousands of in-game objects. Knottenbelt explains the company's approach: The approach that we took is essentially one of discrete-event simulation. The idea here is that if there were absolutely no player input, given the same starting conditions, the Defcon and Multiwinia worlds would evolve in exactly the same way over time. The trick is to influence the evolution of the worlds in response to the players input so that all the simulations keep in step with each other. In theory, we should be able to get away with sending a representation of the player input (e.g. mouse clicks and key presses) to the server to replicate to all clients. The studio's strategy had a few key advantages: The main advantage of this approach is that the amount of bandwidth necessary for the system to work is greatly reduced. For Defcon and Multiwinia we require about 2KB/s per connected client. So with a typical UK broadband upstream of about 25KB/s, a server would be able to support up to 12 clients, more than enough for Defcon's 6 player games and Multiwinia's 4 player games. In fact, in Defcon we were able to implement a spectator mode, which allows additional clients to connect and become a spectator of the game (without being able to control it, of course!). Another advantage of this approach is that it is, in theory, quite straightforward to record the game and play it back again. All that is required is to save the history of events and play them back again on the viewing client. Extending this idea a little, once the events are recorded it is possible to make very high quality videos by experimenting with different camera positions and camera transitions. The game can then be played back twice, once to record the sound, and once frame-by-frame to record the video in high resolution. There were disadvantages too, of course, and in the full feature, Knottenbelt explains, with detailed technical calculations to fully illustrate the process (no registration required, please feel free to link to this feature from other websites).

Read more about:

2009
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like