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.

4 CAPITOLO 1. STATO DELL’ARTE<br />

mente la base d’utenza <strong>di</strong> Facebook come sistema <strong>di</strong> marketing e <strong>di</strong> <strong>di</strong>ffusione.<br />

1.2 Architetture <strong>di</strong>stribuite per il <strong>su</strong>ppor<strong>to</strong><br />

ai MOGs<br />

Tale eterogeneità non rende possibile l’affermarsi <strong>di</strong> soluzioni generiche<br />

ottimali per ogni tipologia <strong>di</strong> gioco, ogni tipo <strong>di</strong> architettura e <strong>di</strong> tecnologia: i<br />

requisiti ed i sistemi <strong>di</strong> sincronizzazione utilizzati per realizzare <strong>un</strong> RPG playby-post<br />

sono, ad esempio, notevolmente <strong>di</strong>fferenti rispet<strong>to</strong> a quelli utilizzati<br />

invece per sviluppare <strong>un</strong> FPS o <strong>un</strong> MMORPG.<br />

L’architettura Client-Server (Figura 1.1) in ambi<strong>to</strong> videolu<strong>di</strong>co è attualmente<br />

predominante: viene utilizzata in FPS <strong>Multiplayer</strong> come Quake o<br />

Unreal Tournament, o in MMORPG come Ultima <strong>Online</strong> o World of Warcraft.<br />

Nei primi la simulazione e l’aggiornamen<strong>to</strong> dello sta<strong>to</strong> <strong>di</strong> gioco sono<br />

a carico <strong>di</strong> <strong>un</strong> processo fisicamente esterno ai client. Poiché la durata delle<br />

partite <strong>di</strong> <strong>un</strong>o Shooter è piut<strong>to</strong>s<strong>to</strong> bassa (me<strong>di</strong>amente circa <strong>di</strong>eci minuti), e<br />

non è richies<strong>to</strong> ness<strong>un</strong> tipo <strong>di</strong> sistema <strong>di</strong> permanenza dei dati (se non a livello<br />

<strong>di</strong> statistiche esterne), i requisiti per “hostare” <strong>un</strong> server de<strong>di</strong>ca<strong>to</strong> sono tali<br />

da permettere la proliferazione <strong>di</strong> server non ufficiali gestiti <strong>di</strong>rettamente dai<br />

gioca<strong>to</strong>ri, sia in LAN che in Internet [Abrash 1996].<br />

Per quan<strong>to</strong> riguarda invece i generi <strong>di</strong> gioco ambientati in <strong>un</strong> mondo virtuale<br />

persistente, il numero <strong>di</strong> gioca<strong>to</strong>ri e <strong>di</strong> items da gestire a carico <strong>di</strong> ogni singolo<br />

server è notevolmente più al<strong>to</strong>, e dal momen<strong>to</strong> che il concet<strong>to</strong> <strong>di</strong> partita in<strong>di</strong>viduata<br />

da <strong>un</strong> inizio ed <strong>un</strong>a fine è assente, in favore <strong>di</strong> <strong>un</strong>’esperienza <strong>di</strong> gioco<br />

potenzialmente infinita, i requisiti Hardware per aggiornare e mantenere i<br />

dati relativi all’ambiente e alle entità che lo popolano sono tali da rendere<br />

necessaria l’esistenza <strong>di</strong> singoli server <strong>di</strong> gioco “ufficiali”.<br />

L’architettura <strong>Peer</strong>-To-<strong>Peer</strong> (Figura 1.2), anche se utilizzata in <strong>di</strong>versi<br />

ti<strong>to</strong>li, specialmente RTS (Warcraft II (Blizzard, 1995) o Demigod (Gas<br />

Powered <strong>Game</strong>s, 2009)), è invece meno <strong>di</strong>ffusa. Inoltre, mentre il modello

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

Saved successfully!

Ooh no, something went wrong!