Lors de la conception d'un jeu multijoueur en réseau où un joueur héberge et d'autres se connectent, il y a deux stratégies que je connais:
- Que le jeu du joueur hôte soit l'autorité , tous les autres joueurs en tant que clients muets essayant de rattraper l'état de jeu actuel. Dans le code, il devra y avoir beaucoup de cas particuliers, selon que le joueur actuel est l'hôte ou non.
- Faites de l'hôte un client muet comme tout le monde en exécutant un serveur dédié caché sur un autre thread. Le serveur dédié sera l'autorité et l'hôte s'y connectera comme tout le monde (via localhost).
Quels sont les avantages / inconvénients de chacun d'eux? Lequel est le plus utilisé (ou varie-t-il selon le type / la taille du jeu)?