Atualmente, estou empreendendo um projeto bastante ambicioso. Em suma, é um jogo de estratégia multiplayer em tempo real que possui mecânica de bactérias.
Essencialmente, eu tenho dois jogadores remotos no ambiente, e eles podem gerar unidades semelhantes a bactérias que se atacam e se multiplicam, duplicando-se até que um limite de recurso seja atingido. Isso geralmente resulta em mais de 200 objetos de jogo renderizados na tela, cada um com seu próprio estado e movimento. Parece ruim, mas a jogabilidade local contra um bot é realmente muito boa, e eu consegui fazer com que ele tivesse um bom desempenho.
No entanto, o problema surge quando tento criar um jogo em rede. Já tentei seguir este guia para implementar esse recurso: http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Isso produz uma experiência de jogo bastante lenta e desagradável, mesmo com a melhor latência. Provavelmente, isso é causado pela necessidade de transmitir dados de movimento para centenas de unidades.
A pergunta que estou fazendo:
Como otimizar a rede e a sincronização de muitas unidades móveis entre dois clientes?
Eu já pensei em uma maneira de fazer isso. Depois de gerar uma unidade, eles só viajam em uma direção até atingirem algo - talvez eu possa sincronizar apenas quando as unidades são geradas e quando elas interagem com outro objeto? Isso teria muito benefício? Qual é a maneira ideal de implementar isso?
Agradecemos antecipadamente por respostas!