Ho i fondamenti dei socket TCP, delle comunicazioni UDP ecc., Ma non riesco a trovare molto su come applicarli a un ambiente di gioco in tempo reale.
Ho un clone Pong, con 4 giocatori, e ho bisogno di sincronizzare le posizioni di paddle tra i tre client e il server (il server è il quarto giocatore). Attualmente utilizzo UDP per inviare aggiornamenti in tempo reale (movimenti di paddle) e TCP per impostare la lobby di gioco, ecc.
È MALE COSA fare spamming su enormi quantità di traffico UDP? Dovrei cercare qualcosa come DCCP per le sue caratteristiche di congestione? O questo non è davvero un problema con un progetto su piccola scala come questo?
Quando devono essere inviati i messaggi di sincronizzazione tra client / server? Attualmente il server sta inviando spam ai pacchetti UDP con lo stato di gioco corrente il più velocemente possibile e i client stanno inviando spam al server la loro posizione di pagaia il più velocemente possibile. È questo il modo migliore per farlo? C'è una sorta di ritardo che dovrei aggiungere in modo che i messaggi vengano inviati una volta ogni X millisecondi o dovrei inviare messaggi solo quando si verificano eventi? (ad es. velocità della paletta modificata a causa dell'input dell'utente)
Sarebbe meglio far comunicare ai clienti le loro posizioni di pagaia tra loro peer to peer?
Sto ponendo queste domande nel contesto di Pong, ma sono anche interessato a come questi problemi sarebbero superati in altri giochi o soluzioni generalizzate.