Sunday 12 April 2015

Atermis: Networking

In a recent play test the mobile (iOS and Android) clients seemed to crash a lot.

There seems a plausible link between the amount of network traffic and causing clients to crash.

Certainly out of sync packets and poor network code seem like a plausible reason for a crashing client.

The first step in verifying the client instability is to profile the network performance of the game to understand the factors.

Conclusion

The amount of network traffic is directly proportional to the number of entites in the simulation. Lowering the game difficulty and to a lesser extend the number of non ship entities (asteroid, mines etc) will reduce the network traffic. By far the largest contributor to network performance is the update frequency.

Test Setup

Network Traffic was measured on system running Artemis Server.

The variables in the test were:

  • Game difficulty 1, 11
  • Game options (Terrain, Aliens etc) None, Many
  • Network Update 20ms, 250ms, 500ms

Data

1 Client

Network Update 250ms

All Terrain etc options off

Level 1: 3kbps

Level 11: 22kbps

1 Client

Network Update 250ms

All Terrain etc options on

Level 1: 7.5kbps

Level 11: 26.5kbps

1 Client

Network Update 20ms

All Terrain etc options on

Level 11: 250kbps

1 Client

Network Update 500ms

All Terrain etc options on

Level 11: 12.5kbps

Anaylsis of Network Code

The network performance of the Server was measured and found to exhibit consistent behaviour under a variety of game settings. It was also scaled proportionally with number of clients connected which indicates the networking code is simple in its design, probably issuing updates for all game entities on a periodic basis. No compression or encyrption is expected which would alter the traffic characteristics.

No comments:

Post a Comment