segue da: Dinamiche di gestione degli shooter (parte 1)
Regole di calcolo: L'arbitro selezionato usa un insieme di regole, che sfruttano una varietà di algoritmi definiti dalle meccaniche di gioco, per poter determinare l'ammontare del danno. Le regole impiegate determinano se le richieste di danno degli attaccanti sono corrette, assegnano il danno, informano gli altri attaccanti ed assegnano i punti. La scelta dell'arbitro non influisce sul processo degli algoritmi ma potrebbe influire su come i risultati sono percepiti dai giocatori.
Nel determinare l'ammontare del danno l'arbitro esegue un'analisi della linea visiva tra l'attaccante e il bersaglio al fine di determinare l'accuratezza dell'attacco. Le meccaniche di gioco, come l'eventualità che un giocatore possa poter sparare attraverso le pareti, sono considerate in modo che sia l'attaccante che il bersaglio percepiscano il risultato come corretto.
Il punto in cui un bersaglio viene colpito potrebbe avere peso nell'ammontare del danno inflitto; quest'ultimo diventa difficile da calcolare se l'attaccante percepisce il colpo come un headshot e invece l'arbitro lo ha calcolato come un colpo andato a vuoto. In questo caso l'arbitro può sfruttare la differenza tra il punto che l'attaccante crede di aver colpito e il punto che effettivamente ha colpito, riducendo l'ammontare del danno inflitto in base alla distanza tra questi due punti .
La figura 4 mostra il punto colpito così come viene percepito sia dall'attaccante che dall'arbitro. L'attaccante ha la percezione di aver inflitto un headshot, mentre l'arbitro ha la percezione di un colpo andato a vuoto. L'arbitro può assegnare il colpo come uccisione o trovare un compromesso e fare in modo che il colpo infligga un danno significativo ma non una morte istantanea.
Scegliere il server come arbitro permette di sfruttare ulteriori risorse grazie alle marcature orarie delle varie informazioni di rete. L'arbitro può eseguire un salto indietro nell'ambiente di gioco, tornando al momento dell'attacco e completare i calcoli usando uno snapshot del passato. Questo fornisce i risultati migliori nella percezione di correttezza di gioco.
Anti Cheat: L'obiettivo di un cheater è di sconvolgere il fair-play e imporre il proprio volere e il proprio senso di gioco. I cheater scovano buchi nell'architettura del gioco e nella fisica, usano strumenti per manipolare il traffico della rete ed arrivano anche a cambiare il codice di gioco. Possono compromettere alcune architetture di arbitrio e trovare il modo di aggirare i controlli.
Ogni MMO deve avere una strategia con la quale affrontare i cheater; un metodo semplice può essere un controllo sullo stato della rete prima dell'invio di ogni richiesta di danno. Un metodo più complesso, ma anche più efficace, consiste nell'invio di messaggi a intervalli regolari; i messaggi vengono considerati come un battito cardiaco. Quando l'arbitro riceve la richiesta del danno, controlla il ritmo del battito dell'attaccante calcolando la deviazione standard del tempo compreso tra i battiti ricevuti. Il ritmo è anormale se l'intervallo di tempo più recente varia di più di due deviazioni standard. Se il ritmo è anormale, l'arbitro può rifiutare la richiesta o diminuire l'ammontare del danno. La latenza della rete potrebbe interferire con il ritmo dei battiti creando false anormalità ma in questo caso può essere d'aiuto una convalida dei pacchetti di informazione. Una marcatura oraria sulla richiesta del danno permette all'arbitro di sistemare il danno in modo corretto.
Esempio: In un ipotetico gioco online, le armi dei giocatori sono pistole ad acqua. I game designer hanno stabilito che all'Attaccante spetterà il compito di arbitrare se il colpo è andato a segno, mentre il Bersaglio si occuperà di calcolare il danno. Il gioco definisce sei sezioni da colpire: 2 braccia, 2 gambe, il busto e la testa. Il danno è definito dalla dimensione dell'area bagnata su ogni particolare sezione, con l'headshot che provoca cecità temporanea con vari livelli di gravità.
Quando un giocatore spara con la pistola ad acqua, la sua console usa un algoritmo standard di rilevamento collisioni per determinare se il getto d'acqua, proiettato come un raggio a partire dalla sua pistola, va a toccare il modello del giocatore bersaglio. Se la console dell'attaccante determina che il colpo è andato a buon fine, il gioco invia una richiesta di arbitraggio del danno al bersaglio. La richiesta contiene: il punto in cui il bersaglio è stato colpito così come percepito sulla console dell'attaccante, chi è stato a lanciare l'attacco e altre informazioni specifiche del gioco (in questo caso il colore dell'acqua).
Quindi la console del giocatore bersaglio agisce come arbitro del danno e usa le informazioni raccolte nella richiesta per duplicare il rilevamento della collisione. È improbabile che due console calcolino lo stesso punto di impatto, ci si aspetta che i due risultati siano almeno minimamente differenti. Se l'arbitro concorda sulla sezione colpita (testa, busto, ecc.) allora il danno viene calcolato normalmente. Nel caso di un colpo andato a vuoto, l'arbitro del danno calcola la distanza del raggio del getto dell'attaccante con il modello del bersaglio; se la distanza è molto grande, allora il design del gioco impone che il colpo si risolva con solo poche gocce d'acqua che andranno a finire sulla sezione apparentemente colpita.
Per fare un ulteriore esempio, si presume che la console dell'attaccante calcoli il colpo nella parte superiore del braccio, mentre il bersaglio determina il colpo nella parte superiore della schiena, come mostrato in figura 5. L'arbitro del danno (ovvero la console del bersaglio) decide che il colpo è arrivato alla spalla e che è stato un colpo diretto, creando una cospicua zona bagnata.
In un altro esempio, l'attaccante calcola il colpo nella gamba, mentre al bersaglio risulta un colpo andato a vuoto. L'arbitro del danno decide che il bersaglio è stato solamente raggiunto da qualche schizzo alla gamba.
Soluzione: L'obiettivo principale è di far percepire il gioco come giusto e corretto al maggior numero possibile di giocatori. Più arbitri possono essere utilizzati per completare ogni passo del processo di arbitraggio del danno, tuttavia è importante implementarli con cautela, in quanto una manipolazione impropria della percezione di gioco potrebbe portare entrambe le parti a sentirsi ingannate. Una configurazione mista, con l'attaccante per arbitrare la mira dei colpi e il bersaglio per arbitrare il danno e le uccisioni, fornisce una rapida percezione degli eventi, riuscendo contemporaneamente a gestire le differenze tra le varie percezioni.
Articolo apparso sul numero di Agosto 2009 della rivista GameDeveloper
A cura di
Ronald Roy, Game Integrator Engineer per Sony Computer Entertainment