Qual è un buon modello di rete per giochi simili a Clash of Clans?
Fidati ma verifica
Clash of Clans fa tutti i calcoli sul client. La battaglia è effettivamente un gioco a giocatore singolo, e (questo è importante!) non c'è assolutamente nessuna casualità nel risultato della battaglia. Alcune cose possono sembrare casuali, ma usano un generatore pseudo-casuale che produce risultati identici esattamente nello stesso ordine ogni volta.
Questo è il modo in cui funzionano i replay - non è un video replay, semplicemente riproduce le azioni del giocatore nel motore di battaglia esattamente nello stesso ordine ed esattamente negli stessi frame. Questo è il motivo per cui non possono aggiungere una funzione di riavvolgimento (almeno non facilmente) - il motore di battaglia non è annullabile.
La tua bocciatura era destinata fin dall'inizio, signor Hog
Dici che è facile barare quando il client gestisce la logica di gioco? Niente affatto! Questa è la parte di verifica. Il client invia una lista cronometrata di tutte le azioni dei giocatori al server, e il risultato effettivo è determinato da una rapida ripetizione della stessa battaglia sul server. Certo, puoi hackerare il client locale, ma non avrà alcun effetto sullo stato autorevole del gioco. Il client non deve nemmeno riportare i risultati di vittoria/perdita, solo le azioni del giocatore. Si potrebbe imbrogliare generando e inviando azioni di altissima qualità, suppongo, ma questo è solo botting--e tutti i giochi online sono vulnerabili al botting.
Come punto di interesse, pensate a come Warcraft 2 riusciva a gestire un gioco multiplayer con centinaia di unità in movimento su un modem a 2400 baud. La risposta è abbastanza simile.
Articoli simili
- Qual è la differenza tra modello AR, modello ARMA e modello ARIMA?
- Quale di questi giochi per cellulari è il migliore e perché, Marvel Contest of Champions, Clash Royale o Clash of Clans?
- Giochi come Clash Royale e Clash of Clans diventano noiosi dopo averci giocato per qualche tempo?
- Che linguaggio ha usato Supercell per costruire Clash Royale e Clash of Clans?