Domande tecniche dai lettori

Abbiamo intervistato il team di Firefly Studios, gli sviluppatori di Stronghold Kingdoms, uno degli MMORTS più giocati al mondo. Scopriamo i segreti di questo titolo che ha permesso di salvare la software house dal collasso.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Domande tecniche dai lettori

TH - Concludiamo con qualche domanda tecnica che soddisferà la curiosità dei nostri lettori. Come viene implementata la sincronizzazione fra il server e tanti personaggi? Come funziona? Quando si fa il login ci si unisce a un gruppo multicast per lo scambio d'informazioni di controllo tra server e giocatori? O c'è qualcosa di più complesso alla base, magari un protocollo implementato solo per il determinato MMO/per tutto il genere?

FS - In Stronghold Kingdoms abbiamo un sistema abbastanza complicato per minimizzare le chiamate del server e riuscire a mantenere gli aspetti del mondo di gioco 'sempre online', ma questa intervista diveterebbe davvero noiosa se lo spiegassimo nei dettagli! Come è possibile immaginare, è molto più facile supportare una singola area o 'hub' per server, piuttosto che diverse aree comuni. Un distretto, una sala sotterranea, o un campo dove interagiscono molti giocatori, richiede una quantità di lavoro da parte del server, delle macchine locali e della connessine internet più grande di una dove un giocatore è da solo o con pochi amici.

Questo è il motivo per cui giochi come Diablo limitano l'interazione tra giocatori a chat o gruppi locali e il motivo, per esempio, per cui Guild Wars ha città comunitarie ma campi di battaglia PvE privati. Il loro scopo principale è quello di avere un combattimento ARPG reattivo e veloce, perciò devono sacrificare qualche elemento persistente del gameplay. Il nostro scopo è quello di avere un mondo persistente online perciò la struttura del network e il design sono completamente diversi. 

Stronghold Kingdoms - Clicca per ingrandire

La decisione di creare campi, città e tutte le altre parti del mondo di gioco condivisde da migliaia di giocatori ha un grande impatto nel design. Questo è il maggior motivo per cui il combattimento nei giochi MMO consiste più che altro nel selezionare il tuo nemico e guardare le tue truppe mentre lo attaccano, piuttosto che comandare la battaglia in prima persona. In Kingdoms il mondo online è assolutamente fondamentale per il gameplay, come anche la frequenza con cui il gioco gestisce le chiamate al server e il modo in cui le chiamate sono recepite per riuscire ad ottenere un gioco completamente a tempo reale senza creare troppo traffico.

Per poterlo fare e per assicurare la miglior performance possibile per tutti i giocatori, al momento riduciamo il numero di chiamate fatte per ricaricare la mappa del gioco, cosa che dipende dalla schermata che il giocatore sta guardando. Partendo dal caso più semplice, se tu selezioni la mappa del mondo come schermata principale , questa si aggiornerà il prima possibile, mentre se stai guardando il tuo villaggio o il tuo castello, la mappa del mondo non si aggiornerà affatto. Il gioco è inoltre in grado di percepire quando non stai giocando a Kingdoms per avendo lasciato la schermata aperta, e in quel caso ricaricherà la mappa del mondo più lentamente, riducendo il numero di chiamate effettuate.

Se il gioco rimane aperto per abbastanza tempo senza che venga effettivamente giocato, la frequenza di ricaricamento rallenterà moltissimo, aggiornandosi alla velocità minima e minimizzando il traffico locale. Per un team piccolo come Firefly questo tipo di ottimizzazione è davvero essenziale per lavorare su un MMO relativamente grande come Stronghold Kingdoms. Senza questo metodo non potremmo garantire la stabilità del gioco, cosa che può creare o distruggere un MMO.