File Details

Download this file | Go to files list

zerOnet is a small modification to games that use the Doom3 engine which cuts game-side network traffic down by an average of 50 percent. System-side network code can't be changed with game SDK's, so the reduction only applies to the game "snapshot" message sizes. The new snapshot sizes range from 10% to 90% of their original size without changing any of the original code's reading/writing data, all the bit sizes are the same and no functions have been swapped with smaller versions (eg "WriteShort" instead of "WriteLong").

In summary the same data, is being sent the same way, but more efficiently than the original.

zerOnet can be applied to any networking code to achieve similar results.

The size is calculated on what ServerWriteSnapshot() adds to the message. Due to the way zerOnet works we are able to calculate both the original and modified snapshot sizes at the same time. These figures are what all the stats are based on.

Note 1: The system-side code generates around 39 bytes per message when standing still in a simple box level. This varies with the number of players and game play. We can't modify this, so it's not included in the statistics.

Note 2: Some of Doom3 MP levels have lots of dynamic (eg. Physics_Parametric) entities, which can generate large packets (eg. D3DM1: Some packets reach 900+ bytes).

Note 3: The first run for each game is noted as heavy, which means running around as fast as possible, constantly firing weapons, jumping etc.. The second run is normal game play.

Note 4: The percentage figures are what zerOnet snapshot sizes are of the original, eg. Quake4 zerOnet snapshot packets are 46% of the size of Quake4 snapshot packets (reduction of 54%).

Note 5: Don't compare games. Each game is doing different things in a slightly different way.

Download this file | Go to files list