Pour que plusieurs joueurs puissent se retrouver immergés au sein du même environnement, vous n'aurez d'autre choix que de passer par un serveur. C'est lui qui centralisera les données de chaque joueur et permettra d'introduire un peu d'intelligence pour la gestion des personnages non-joueurs.
Pour communiquer avec un serveur, le protocole HTTP n'est pas ce qui se fait de mieux. En effet, il n'est pas prévu pour des interactions en temps réel et, à chaque requête, il faut ouvrir une nouvelle connexion. Pour contourner le problème, différentes stratégies ont été mises en place comme les méthodes Ajax et Comet. Mais il ne s'agit que d'alternatives que l'on peut qualifier d' « instables », car ne reposant sur aucune véritable norme et utilisant l'objet XMLHTTPRequest de manière dérivée.
La norme HTML 5 a vu arriver un protocole de communication bidirectionnel et full duplex sur un socket TCP : les websockets. Ce protocole standardisé permet d'envoyer et de recevoir des données en continu (comme avec Comet, mais en plus propre). Dans cet article, nous aborderons la théorie et l'utilisation de ce protocole qui permettra de gérer l'intelligence artificielle du jeu et de multiples joueurs.
1. Les websockets en théorie
Il faut savoir que les...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première