08.09.2019 Views

Progettazione e Sviluppo di un Multiplayer Online Game su Reti Peer-to-Peer

Alma Mater Studiorum Universit`a degli Studi di Bologna Facolta` di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze di Internet Tesi di Laurea in Laboratorio di Programmazione Internet

Alma Mater Studiorum Universit`a degli Studi di Bologna
Facolta` di Scienze Matematiche, Fisiche e Naturali
Corso di Laurea in Scienze di Internet
Tesi di Laurea in Laboratorio di Programmazione Internet

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.1. ANTI-CHEATING 107<br />

Figura 5.3: In A viene esegui<strong>to</strong> <strong>un</strong> movimen<strong>to</strong> spazialmente coerente, ma<br />

temporalmente incoerente. In B, invece, il movimen<strong>to</strong> esegui<strong>to</strong> ri<strong>su</strong>lta incoerente<br />

poichè la posizione attuale (o prevista) non ricade entro l’area <strong>di</strong><br />

spostamen<strong>to</strong> consenti<strong>to</strong> nel periodo <strong>di</strong> tempo specifica<strong>to</strong> (cerchio verde).<br />

Maggiori <strong>di</strong>fficoltà sorgono quando vi è la necessità <strong>di</strong> controllare il comportamen<strong>to</strong><br />

<strong>di</strong> ogni singolo movimen<strong>to</strong>, non solo dal p<strong>un</strong><strong>to</strong> <strong>di</strong> vista della<br />

rapi<strong>di</strong>tà <strong>di</strong> spostamen<strong>to</strong>, quin<strong>di</strong>, ma anche dal p<strong>un</strong><strong>to</strong> <strong>di</strong> vista della rotazione<br />

e dei relativi cambi <strong>di</strong> <strong>di</strong>rezione.<br />

Ri<strong>su</strong>lta impossibile valutare, infatti, se l’agilità <strong>di</strong> movimen<strong>to</strong> <strong>di</strong> <strong>un</strong> Character<br />

sia dovuta all’abilità del gioca<strong>to</strong>re che lo controlla, o all’utilizzo <strong>di</strong> <strong>un</strong><br />

apposi<strong>to</strong> Cheat in grado <strong>di</strong> spingere tali capacità appena al <strong>di</strong> sot<strong>to</strong> del limite<br />

impos<strong>to</strong> dalle regole <strong>di</strong> gioco.<br />

Quello che però è sicuramente possibile (e necessario) controllare, è la<br />

coerenza delle rotazioni in relazione al TimeSpan tra <strong>un</strong> aggiornamen<strong>to</strong> e<br />

l’altro: se ad esempio il gioco prevede <strong>un</strong> Character in grado <strong>di</strong> compiere<br />

<strong>un</strong>a rotazione <strong>di</strong> 20 ◦ ogni secondo, nel me<strong>to</strong>do Update Reader() del relativo<br />

ComponentScript sarà possibile valutare se gli eventuali cambi <strong>di</strong> <strong>di</strong>rezione<br />

segnalati rientrino effettivamente nei limiti imposti dalle specifiche <strong>di</strong> gioco

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!