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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
20 CAPITOLO 2. ARCHITETTURA SOFTWARE<br />
ritetico: manterrà <strong>un</strong>a <strong>su</strong>a visione del Data Layer, ma opererà solo <strong>su</strong> <strong>un</strong><br />
limita<strong>to</strong> numero <strong>di</strong> dati <strong>di</strong> <strong>su</strong>a appartenenza.<br />
Ques<strong>to</strong> approccio coinciderà con <strong>un</strong> Data Layer nel quale ogni singola<br />
informazione a<strong>to</strong>mica è <strong>di</strong> proprietà <strong>di</strong> <strong>un</strong> generico “Owner”, ed è quin<strong>di</strong><br />
vincolata da <strong>un</strong>a serie <strong>di</strong> regole che ne garantiscono i permessi esclusivi <strong>di</strong><br />
creazione, mo<strong>di</strong>fica e <strong>di</strong>struzione. Nella fattispecie l’Owner coinciderà con i<br />
concetti <strong>di</strong> Player e <strong>di</strong> <strong>Peer</strong>.<br />
Quest’ultimo è concretizza<strong>to</strong> nel Layer de<strong>di</strong>ca<strong>to</strong> alla gestione della Membership<br />
dei no<strong>di</strong> che partecipano alla rete. Oltre a garantire la mutua conoscenza<br />
tra i <strong>di</strong>versi <strong>Peer</strong>, astrae il Layer NET sot<strong>to</strong>stante, de<strong>di</strong>ca<strong>to</strong> alla com<strong>un</strong>icazione<br />
<strong>di</strong> rete vera e propria.<br />
Rias<strong>su</strong>mendo, il software sarà compos<strong>to</strong> da i seguenti Layer e Moduli:<br />
• Layer View (Presentation Layer): De<strong>di</strong>ca<strong>to</strong> alla rappresentazione vi<strong>su</strong>ale<br />
dello sta<strong>to</strong> logico. Oltre agli aspetti prettamente grafici, impropriamente<br />
include i moduli de<strong>di</strong>cati alla gestione della fisica, dell’au<strong>di</strong>o<br />
e degli input.<br />
• Layer Logic (Business Layer): De<strong>di</strong>ca<strong>to</strong> all’implementazione delle meccaniche<br />
<strong>di</strong> gioco. Sostanzialmente mo<strong>di</strong>fica il Layer Data a seconda<br />
degli Input che gi<strong>un</strong>gono dal Layer View facendo riferimen<strong>to</strong> alle regole<br />
<strong>di</strong> gioco.<br />
• Modulo SharedComponents (Data Layer e Consistenza): Mantiene lo<br />
sta<strong>to</strong> <strong>di</strong> gioco. Espone <strong>un</strong> Manager in grado <strong>di</strong> creare, mo<strong>di</strong>ficare e <strong>di</strong>struggere<br />
i propri componenti, e <strong>di</strong> mantenere <strong>un</strong>a copia dei componenti<br />
creati dai Manager appartenenti agli altri <strong>Peer</strong>.<br />
• Layer P2P (Membership): De<strong>di</strong>ca<strong>to</strong> alla gestione della Membership.<br />
Astrae l’interfaccia del Layer NET sot<strong>to</strong>stante.<br />
• Layer NET (Comm<strong>un</strong>ication): Espone <strong>un</strong>’interfaccia che consente la<br />
com<strong>un</strong>icazione tra N generici endpoints.