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.

102 CAPITOLO 5. SVILUPPI FUTURI<br />

Tale mancanza sposta il problema del Cheat-detection da <strong>un</strong> livello <strong>su</strong>periore<br />

al livello della <strong>Game</strong> Logic.<br />

Infatti è possibile estendere la classe ComponentScript, aggi<strong>un</strong>gendo la<br />

chiamata <strong>di</strong> <strong>un</strong>a f<strong>un</strong>zione astratta CheatDetection() all’interno del me<strong>to</strong>do<br />

Update Reader(). Eseguendo <strong>un</strong> Override <strong>di</strong> ques<strong>to</strong> me<strong>to</strong>do, a seconda delle<br />

caratteristiche del componente associa<strong>to</strong> al ComponentScript, si possono<br />

eseguire determinati controlli specifici atti a controllare la coerenza delle<br />

informazioni gi<strong>un</strong>te da altri <strong>Peer</strong>.<br />

Per quan<strong>to</strong> riguarda il Cheat-management è necessario implementare <strong>un</strong><br />

sistema “democratico” in grado <strong>di</strong> prendere decisioni quali, ad esempio,<br />

l’espulsione <strong>di</strong> <strong>un</strong> determina<strong>to</strong> <strong>Peer</strong> dalla Membership.<br />

Un sistema potrebbe essere quello <strong>di</strong> attribuire ad ogni Player <strong>un</strong> p<strong>un</strong>teggio<br />

<strong>di</strong> “Fairness”. Quando, in <strong>un</strong>a specifica implementazione <strong>di</strong> Cheat-<br />

Detection(), viene rilevata <strong>un</strong>’incoerenza sospetta tale p<strong>un</strong>teggio viene decrementa<strong>to</strong>.<br />

Ogni Player attribuisce agli altri Player <strong>un</strong>a propria visione <strong>di</strong><br />

Fairness: non è det<strong>to</strong>, cioè, che il p<strong>un</strong>teggio <strong>di</strong> “Fairness” appartenente al<br />

Player B, secondo il Player A, sia lo stesso attribui<strong>to</strong>gli dal Player C.<br />

Il p<strong>un</strong>teggio <strong>di</strong> Fairness attribu<strong>to</strong> da ogni Player ad ogni Player, dal<br />

momen<strong>to</strong> che deve rappresentare <strong>un</strong>’informazione costantemente con<strong>di</strong>visa,<br />

può prendere forma nel Data Layer, sot<strong>to</strong> forma <strong>di</strong> SharedComponent, e<br />

gesti<strong>to</strong> da <strong>un</strong>’apposi<strong>to</strong> modulo de<strong>di</strong>ca<strong>to</strong> all’Anti-Cheating.<br />

In ques<strong>to</strong> modo ogni Player può conoscere il p<strong>un</strong>teggio <strong>di</strong> Fairness globale<br />

(cioè la somma <strong>di</strong> tutti i p<strong>un</strong>teggi <strong>di</strong> Fairness che ogni singolo <strong>Peer</strong> attribuisce<br />

ad <strong>un</strong> determina<strong>to</strong> Player sospetta<strong>to</strong> <strong>di</strong> Cheating), e se ques<strong>to</strong> è al <strong>di</strong> sot<strong>to</strong> <strong>di</strong><br />

<strong>un</strong>a certa soglia <strong>di</strong> <strong>to</strong>lleranza, il Player incrimina<strong>to</strong> sarà rimosso dalla visione<br />

della Membership <strong>di</strong> ogni <strong>Peer</strong> (Figura 5.1).<br />

Ques<strong>to</strong> tipo <strong>di</strong> meccaniche <strong>di</strong> Cheat-management decentralizzate e au<strong>to</strong>gestite,<br />

non può però f<strong>un</strong>zionare in <strong>un</strong> contes<strong>to</strong> <strong>Peer</strong>-To-<strong>Peer</strong> nel quale la<br />

maggioranza dei Player fa uso <strong>di</strong> Cheats.<br />

Se si considera, inoltre, che le valutazioni <strong>di</strong> Cheat-Detection vengono eseguite<br />

<strong>su</strong> specifiche informazioni provenienti da generici messaggi in entata,

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

Saved successfully!

Ooh no, something went wrong!