Sommaire

Jeu en réseau

1. Principes

Cette section s’intéresse à la distribution d’un jeu vidéo sur plusieurs machines, dont l’une fait office de serveur, et les autres sont les clients graphiques des joueurs. Pour synchroniser tous ces acteurs, il existe deux grandes approches : l’une consiste à propager régulièrement l’intégralité du jeu, et l’autre à ne propager que les informations qui l’ont modifié.

La première approche est naturellement la plus simple à mettre en œuvre. Pour ce faire, il faut être capable de convertir l’état du jeu dans un format transportable sur le réseau, comme le JSON vu précédemment. Cette approche n’est malheureusement possible que lorsque l’empreinte mémoire des données du jeu est faible, voire très faible. En effet, il est difficile d’imaginer propager plusieurs mégaoctets des dizaines de fois par seconde sur les réseaux actuels - une taille pourtant rapidement atteinte de nos jours. Cela interdit également toutes les optimisations qui reposent sur la notification de changements mineurs dans l’état du jeu, comme ce qui a été fait dans le jeu exemple Pacman avec le moteur de jeu qui notifie le moteur de rendu. Pour les jeux qui requièrent cette approche, comme les jeux extrêmement rapides comme les FPS et les jeux de combat, l’état du jeu est très ...