Attualmente sto intraprendendo un progetto piuttosto ambizioso. In breve, è un gioco di strategia multiplayer in tempo reale che ha una meccanica batterica.
In sostanza, ho due giocatori remoti nell'ambiente e possono generare unità simili a batteri che si attaccano e si moltiplicano, duplicandosi fino a quando non viene raggiunto un limite di risorse. Ciò comporta spesso il rendering sullo schermo di oltre 200 oggetti di gioco, ognuno con il proprio stato e movimento. Questo suona male, ma il gameplay locale contro un bot è in realtà molto buono, e sono riuscito a renderlo abbastanza performante.
Tuttavia, il problema si presenta quando provo a collegare in rete questo gioco. Ho già provato a seguire questa guida per implementare questa funzionalità: http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Questo produce un'esperienza di gioco piuttosto lenta e spiacevole anche con la migliore latenza. Ciò è probabilmente dovuto alla necessità di trasmettere dati di movimento per centinaia di unità.
La domanda che sto ponendo:
Come posso ottimizzare la rete e la sincronizzazione di molte unità mobili tra due client?
Ho già pensato a un modo per farlo. Dopo aver generato un'unità, viaggeranno solo in una direzione fino a quando non colpiscono qualcosa - forse posso sincronizzarmi solo quando le unità vengono generate e quando interagiscono con un altro oggetto? Questo avrebbe molti benefici? Qual è il modo ideale per implementarlo?
Grazie in anticipo per le risposte!