18-03-2013, 01:09 AM
Si vous coincez à cause de soucis de synchronisation, essayez de voir les mécanismes employés par supreme commander: dans ce jeu, chaque client se charge de faire tous les calculs de simulation de son coté, ce qui réduit énormément les échanges client-serveur. Les échanges ont alors lieu par intervalles réguliers, assez longs (genre 3 à 5 secondes). Je crois que, dans ce jeu, seuls les ordres des joueurs sont échangés via le réseau. Tout ce qui concerne la position des unités, le fait qu'elles tirent ou non sur l'ennemi, les déplacements, etc sont gérés par chaque client. Le serveur fait les mêmes calculs, de son coté, et le client vérifie de temps à autre s'il est synchronisé...
L'idée serait donc que le serveur possède des "points d'arrêts", ainsi qu'une liste des ordres des joueurs reçus depuis le dernier point d'arrêt. Le client ne demande alors que la liste des derniers ordres adversaires, et se synchronise avec le dernier point d'arrêt s'il a été modifié...
Bon, après, c'est vague, pas forcément le plus compréhensible, mais la technique a l'air efficace, puisque sup com tourne jusqu'à plusieurs miliers d'unités (~5.000 max) sans que le réseau n'explose.
L'idée serait donc que le serveur possède des "points d'arrêts", ainsi qu'une liste des ordres des joueurs reçus depuis le dernier point d'arrêt. Le client ne demande alors que la liste des derniers ordres adversaires, et se synchronise avec le dernier point d'arrêt s'il a été modifié...
Bon, après, c'est vague, pas forcément le plus compréhensible, mais la technique a l'air efficace, puisque sup com tourne jusqu'à plusieurs miliers d'unités (~5.000 max) sans que le réseau n'explose.