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.

68 CAPITOLO 3. IMPLEMENTAZIONE<br />

possibile l’esecuzione <strong>di</strong> più <strong>Peer</strong> all’interno dello stesso programma. Ciò ha<br />

facilita<strong>to</strong> i processo <strong>di</strong> debugging dei Layer logici e <strong>di</strong> rete.<br />

I <strong>di</strong>versi Layer con<strong>di</strong>vidono alc<strong>un</strong>i elementi <strong>di</strong> natura strutturale: ad esempio<br />

il Layer Net, il Layer P2P ed modulo SharedComponents concretizzano<br />

il concet<strong>to</strong> <strong>di</strong> “comando” nel medesimo modo (utilizzando lo stesso tipo <strong>di</strong><br />

interfacce e presentando implementazioni simili).<br />

Per quan<strong>to</strong> concerne le tecnologie ed i linguaggi <strong>di</strong> programmazione utilizzati,<br />

<strong>un</strong>o dei fat<strong>to</strong>ri che ne hanno vincola<strong>to</strong> la scelta, risiede nel Layer View.<br />

Il Layer View infatti é compos<strong>to</strong> da moduli piut<strong>to</strong>s<strong>to</strong> complessi, le cui f<strong>un</strong>zioni<br />

e<strong>su</strong>lano da quelle che sono le tematiche del proget<strong>to</strong> <strong>di</strong> tesi.<br />

Era necessario in<strong>di</strong>viduare <strong>un</strong> Framework od <strong>un</strong> Engine che offrisse il<br />

maggior numero <strong>di</strong> f<strong>un</strong>zionalità richieste dalle specifiche del Layer View e,<br />

contemporaneamente, permettesse in breve tempo l’integrazione con i Layer<br />

sot<strong>to</strong>stanti.<br />

La scelta é ricaduta <strong>su</strong> Unity3D 2 .<br />

Unity3D si presenta come <strong>un</strong> ambiente integra<strong>to</strong> che mette a <strong>di</strong>sposizione <strong>un</strong><br />

Renderer 3D, <strong>un</strong>o SceneGraph particolarmente modulare, <strong>un</strong> Engine fisico<br />

per la gestione dei movimenti e delle collisioni nonché sistemi per la gestione<br />

degli input ed il <strong>su</strong>ppor<strong>to</strong> au<strong>di</strong>o.<br />

Tra le caratteristiche peculiari <strong>di</strong> Unity3D vi sono il cos<strong>to</strong> (gratui<strong>to</strong> per<br />

applicazioni non commerciali), l’E<strong>di</strong><strong>to</strong>r WYSIWYG, che consente <strong>un</strong>a rapida<br />

definizione della scena tri<strong>di</strong>mensionale, e la possibilità <strong>di</strong> convertire il proget<strong>to</strong><br />

<strong>su</strong> <strong>di</strong>verse piattaforme.<br />

Per quan<strong>to</strong> riguarda la programmazione, Unity3D <strong>su</strong>pporta l’utilizzo del<br />

linguaggio C#, e mette a <strong>di</strong>sposizione <strong>un</strong> sistema semplifica<strong>to</strong> <strong>di</strong> “scripting”<br />

2 www.<strong>un</strong>ity3d.com

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

Saved successfully!

Ooh no, something went wrong!