game-enginemultiplayermmoonline-game

How online-game clients are able to exchange data through internet so fast?


Let's imagine really simple game... We have a labirinth and two players trying to find out exit in real time through internet.

On every move game client should send player's coordinates to server and accept current coordinates of another client. How is it possible to make this exchange so fast (as all modern games do).

Ok, we can use memcache or similar technology to reduce data mining operations on server side. We can also use fastest webserver etc., but we still will have problems with timings.

So, the questions are...

  1. What protocol game clients are usually using for exchanging information with server?
  2. What server technologies are coming to solve this problem?
  3. What algorithms are applied for fighting with delays during game etc.

Solution

  • Usually with Network Interpolation and prediction. Gamedev is a good resource: http://www.gamedev.net/reference/list.asp?categoryid=30

    Also check out this one: http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking