Ho già fatto un po 'di codifica della rete di giochi, ma principalmente con TCP per i giochi senza necessità in tempo reale. Sto lavorando a un gioco Java 2D con multiplayer in rete. Per l'apprendimento, voglio farlo da solo, senza un'API di rete esistente.
Come posso rappresentare in modo efficiente lo stato del gioco inviato ai client da un server? C'è il modo più ovvio ma probabilmente meno efficiente, che sarebbe quello di creare una sorta di oggetto di contesto dello stato del gioco con la posizione di ogni giocatore, lo stato dell'animazione, ecc., E inviarlo a ciascun giocatore ogni aggiornamento . Ciò non sembra terribilmente difficile da implementare, ma probabilmente sarebbe troppo grande per ottenere qualcosa di simile all'interazione in tempo reale (ovviamente la mia esperienza con questo è limitata, quindi potrei non essere corretto).
C'è un modo solido che qualcuno di voi ha usato prima per trasmettere solo cambiamenti di stato, e c'è anche una disparità abbastanza grande nelle prestazioni da valere il lavoro extra?