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

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.

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

Saved successfully!

Ooh no, something went wrong!