<img height="1" width="1" src="https://www.facebook.com/tr?id=&amp;ev=PageView &amp;noscript=1">

Posted by Qing Wei
Wed, May 3, 2017


In part 1 of the series, we discussed the following:

  • Challenges faced in multiplayer game
  • How to solve unresponsive UI by client predictions

I did however gloss over essential server implementation details, which we will focus on in this article.

Disclaimer: I am not a professional game developer, most of the knowledge shared is based on what I read and my experience of small hobby projects. The main goal of this article is to provide an easy to understand introduction for networking in a multiplayer game.

Posted by Qing Wei
Sat, Apr 1, 2017

The problem with multiplayer games

In multiplayer games, one of the most complex issues is to keep all player's state in sync with the server state. There are a few good articles around this topic on the internet. However, some details are missing here and there, which may be confusing for beginners in the field of game programming. I hope I can clear things up in this article.

I'll present a few techniques commonly used in this problem space.

Before we jump into the problem, let's have an overview on how multiplayer game generally works.

Typically, a game's program needs to simulate the following:

the changes in an environment with respect of time and players input

Game is stateful program, so it depends on time (be it real or logical time). For example, PACMAN is simulating an environment where ghosts will continuously move around. 

A multiplayer game is no exception, however the complexity is higher due to the interaction between multipler players.

Let's use the classic Snake Game as an example:

Assume we use a server-client settings. The core game logic works like this

Recent Posts

Posts by Topic

see all

Subscribe to Email Updates