J'ai actuellement entrepris un projet assez ambitieux. En bref, c'est un jeu de stratégie multijoueur en temps réel qui a une mécanique bactérienne.
Essentiellement, j'ai deux joueurs distants dans l'environnement, et ils peuvent engendrer des unités semblables à des bactéries qui s'attaquent et se multiplient, se dupliquant jusqu'à ce qu'une limite de ressources soit atteinte. Cela se traduit souvent par environ 200+ objets de jeu rendus à l'écran, chacun avec son propre état et son propre mouvement. Cela semble mauvais, mais le gameplay local contre un bot est en fait très bon, et j'ai réussi à le rendre assez performant.
Cependant, le problème se pose lorsque j'essaie de mettre en réseau ce jeu. J'ai déjà tenté de suivre ce guide pour implémenter cette fonctionnalité: http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Cela produit une expérience de jeu assez lente et déplaisante même avec la meilleure latence. Cela est probablement dû au fait de devoir transmettre des données de mouvement pour des centaines d'unités.
La question que je pose:
Comment puis-je optimiser la mise en réseau et la synchronisation de nombreuses unités mobiles entre deux clients?
J'ai déjà pensé à une façon de procéder. Après avoir engendré une unité, ils ne voyageront que dans une seule direction jusqu'à ce qu'ils touchent quelque chose - peut-être que je ne peux synchroniser que lorsque les unités sont générées et lorsqu'elles interagissent avec un autre objet? Cela aurait-il beaucoup d'avantages? Quelle est la façon idéale de mettre cela en œuvre?
Merci d'avance pour les réponses!