In questa Lettera del Presidente, Chris Roberts parla nel dettaglio dello stato del modulo FPS, dei problemi che hanno dovuto e che stanno tutt’ora affrontando e delle motivazioni che li hanno indotti a posticipare l’uscita di Star Marine. Se ne consiglia caldamente la lettura!


Salute Cittadini,

Nelle ultime dieci settimane, ho diretto a Londra le riprese di performance capture per Squadron42, e la prossima sarà l’ultima settimana di riprese della “unità principale”. Dirigere le riprese di Squadron 42 è stato uno dei compiti più divertenti e creativamente appaganti che abbia mai fatto. E’ il momento in cui la storia ed i personaggi scritti da David Haddock prendono vita per la prima volta, e sono stato in grado di sentire quanto sarà speciale Squadron 42. Il cast che abbiamo assemblato per Squadron 42 non si troverebbe fuori posto in nessuna delle produzioni più blasonate. Stiamo utilizzando le tecnologie più avanzate nel campo della performance capture, che sfruttano sia la cattura facciale che quella dei movimenti, permettendoci così di catturare persino i movimenti o le espressioni più fugaci. In ogni scena che abbiamo ripreso utilizzavamo da una a tre telecamere per il viso di ogni attore, più altre cinquanta che filmavano i loro movimenti. Questa tecnologia, combinata con le apparecchiature di prossima generazione per la creazione di volti e personaggi, effettua delle scansioni 3D complete degli attori per inserirli nel mondo di Star Citizen/Squadron42, permettendoci così di riprodurre emozioni, sfumature e sottigliezze che non penso si siano mai viste in passato in un gioco dal gameplay completamente controllato dai giocatori. Spero che utilizzando questo livello di fedeltà sia possibile rendere il mondo e la storia di Star Citizen più profondi di qualsiasi cosa io abbia mai fatto in passato, e che riesca a sorpassare i limiti attuali della capacità narrativa nello stesso modo in cui fece Wing Commander con le sue varie iterazioni. La storia di Squadron 42 sarà un’esperienza che mi sento di definire speciale. Invece di guardare un film riprodotto davanti ai vostri occhi, sarà come trovarsi all’interno di un mondo vivente, di vivere una storia che normalmente potreste soltanto guardare su un grande schermo, ma questa volta sarà la VOSTRA storia, non quella di un qualche protagonista in cui vi dovrete immedesimare! Quando termineremo le riprese, queste avranno già superato i tempi di produzione tanto di Wing Commander 4 (42 giorni) che dell’ultimo film che ho prodotto, Outlander (51 giorni). E’ questo il tempo necessario per girare delle scene reali. Stiamo filmando qualcosa di molto sfumato e dettagliato, come in un film, ma in una maniera tale che si possa fondere con il mondo completamente interattivo e vivo di cui controllerete il ritmo di sviluppo. Per quanto mi riguarda, questo è uno dei primi, migliori risultati del crowd funding di Star Citizen: dare la possibilità al team di sviluppo di vivere le sue passioni piuttosto che adeguarsi alle richieste o alla pianificazione di un publisher. Per cui lasciate che vi ringrazi, che ringrazi ogni singolo backer per aver reso tutto questo possibile. Ci avete permesso di fare qualcosa di meraviglioso. Il fatto che io sia qui oggi e che stia vivendo tutto questo mi elettrizza da morire.

Adesso, tuttavia, devo allontanarmi dalle riprese di Squadron42 per affrontare un argomento che è al centro dell’attenzione generale. Inizialmente avevamo pianificato di rilasciare il modulo FPS, che chiamiamo Star Marine, poco dopo il PAX East di Aprile. In quell’occasione mostrammo ai backer che parteciparono all’evento una build di questo modulo che girava abbastanza bene. Mancava ancora qualche rifinitura (specialmente nelle animazioni) ed aveva ancora diversi problemi seri che ne impedivano la pubblicazione su grande scala… Ma eravamo abbastanza fiduciosi del lavoro fatto e di quello ancora in atto da poter affermare che sarebbe stato disponibile a breve. Sfortunatamente, le cose sono andate diversamente. Negli ultimi due mesi abbiamo continuato ad affrontare e risolvere problemi tecnici e di gameplay. So che avete due domande cui, più di ogni altra, volete avere una risposta, e a questo riguardo cercherò di essere il più esauriente e chiaro possibile.

Quali problemi sta affrontando il team FPS?

La risposta tl;dr [NdT: è un acronimo che indica qualcosa di troppo lungo e che quindi si potrebbe non voler leggere] è che ci sembra che la build attuale non rispecchi gli standard qualitativi che vogliamo ottenere con Star Citizen. Ci sono diversi problemi che andranno risolti prima di potervi fornire la prima iterazione del gameplay che vogliamo possiate sperimentare, e ciò richiederà altro tempo. La sfide che stiamo affrontando per il lancio del modulo FPS sono un mix di problemi di natura tecnica e di gameplay. Quello più importante di cui ci stiamo attualmente occupando è il codice di networking di backend. Dopo aver provato a lavorare con il codice a nostra disposizione, abbiamo deciso che dovevamo abbandonarne una parte. Questo ha portato alla sviluppo di quello che definiamo come il Gestore delle Istanze Generiche (GIM) ed alla riscrittura da zero sia del Matchmaker che (per il progetto più grande) del Launcher. Questi sforzi stanno procedendo bene, ma hanno richiesto ai nostri ingegneri del tempo addizionale.

Approfondendo la questione degli aspetti tecnici di questi sistemi, uno degli ostacoli principali è stata, come già detto, la creazione del GIM. Il nuovo sistema sarà responsabile della gestione di tutti i server di gioco che costituiranno Star Citizen, e lo abbiamo realizzato in maniera tale da avere un controllo molto più diretto sullo stato interno e sulle operazioni di ogni singolo server di gioco già disponibile. Il GIM non solo gestirà le istanze dell’Arena Commander e di Star Marine, ma fornirà anche una solida infrastruttura da utilizzare per gli hangar istanziati multi-giocatore e per i server di gioco dell’Universo istanziato che costituiranno l’Universo Persistente. Il GIM allocherà e riciclerà i server di gioco ad una velocità di gran lunga superiore e con un’affidabilità maggiore di quanto potevamo fare in passato, cosa che ci aiuterà ad assegnare più velocemente i giocatori alle loro partite e con meno incidenti. Lo sviluppo di questo sistema, che ha richiesto diverso tempo, è stato uno sforzo di gruppo che ha coinvolto gli ingegneri di tutta la compagnia. Dopo che lo avremo integrato, non soltanto migliorerà l’esperienza di Star Marine, ma predisporrà anche gli sviluppi ‘dietro le quinte’ del futuro di Star Citizen. La prossima settimana lo testeremo internamente, e non vediamo l’ora di farlo!

Il nuovo GIM non è l’unico sistema ‘realizzato in casa’ di cui necessitiamo per Star Marine. La seconda sfida è stata costituita dalla necessità di riscrivere da zero il sistema di Matchmaking del gioco utilizzando un approccio completamente differente, cosa che permetterà di eliminare le lunghe attese durante la fase di ricerca della partite. Le situazioni che portavano al messaggio “Partita non trovata” saranno completamente eliminate ed ogni giocatore/gruppo avrà la certezza di entrare in partita con un tempo di attesa minore di quello richiesto in passato. Il Matchmaker adesso si assicurerà che gli amici che entrano a far parte di un gruppo pubblico si trovino, come è normale che sia, sempre nello stesso team. Sono felice di poter annunciare che, a partire da questa settimana, è stato integrato il nuovo software di matchmaking e stiamo effettuando i test necessari.

Il terzo processo attualmente in corso riguarda il miglioramento del codice di backend del networking di Star Citizen, costituito da quello che abbiamo definito come il sistema di ambienti dinamici “Phoenix”. Ogni volta che il team lancerà una nuova build di Star Citizen, tutti i dati di cui il server avrà bisogno verranno automaticamente copiati sugli hard disk di Google; questa costituirà la fotografia dei nostri dati di gioco. Questi hard disk sono ripartiti in due o tre sezioni concettuali: Immagine Base (l’OS più un paio di altre cose), i Log ed i Dati Server (Codice e Risorse). Quando prepareremo un ambiente, monteremo i duplicati di questi dischi su ogni Macchina Virtuale (VM) che creeremo. I duplicati di queste fotografie vengono creati rapidamente, impiegano circa 45 secondi per 200 giga di dati. Abbiamo scritto dei codici automatizzati per mandare automaticamente i comandi di configurazione alle VM, in maniera tale che queste vengano impostate nella maniera appropriata a seconda del tipo di server che andranno ad ospitare (Server di Gioco, Matchmaking, Party, ecc.). Durante questo processo, ad ogni server verrà assegnato un nuovo DNS in base alla versione dei dati caricati. Quando si creerà una nuova build, avremo bisogno di inviarla ad un ambiente, per cui attiveremo il comando che spegnerà automaticamente tutte le VM, smonteremo i duplicati dei dischi dell’Immagine Base e dei Dati Server (i dischi di Log sono sempre conservati per l’analisi e risoluzione di eventuali problemi), e poi riavvieremo i server con i nuovi duplicati basati sulla nuova fotografia, così l’ambiente sarà di nuovo attivo ed utilizzerà la nuova versione dei dati.

Questo intero processo richiederà circa otto minuti. Quando vorremo prendere un ambiente QA che sarà stato realizzato in questo modo e lo vorremo estendere per trasformarlo in un ambiente PTU, invieremo un comando al nostro sistema di Gestione, e questo andrà da Google, richiederà più VM, creerà degli altri duplicati dei dischi, li monterà, attiverà i comandi principali che configureranno le VM, assegnerà loro i DNS e li connetterà con l’infrastruttura già esistente. A questo punto, avremo un ambiente PTU pronto per l’utilizzo. Questo processo verrà ripetuto quando si passerà in Produzione. Per espandere un ambiente ci vorranno dagli otto ai dieci minuti a seconda del tipo di ambiente e delle configurazioni richieste.

Il vantaggio di questa creazione dinamica e dell’espansione dell’ambiente è triplicata. Innanzitutto, qualsiasi modifica alle configurazioni, qualsiasi settaggio errato o processo bloccato viene completamente rimosso quando avviene la ricreazione delle VM utilizzando i nuovi duplicati dei dischi. Qualsiasi cambiamento della configurazione che deve essere conservato dovrebbe essere realizzato dagli strumenti preposti alla configurazione delle macchine. Secondo, potremo essere assolutamente certi che il PTU e la Produzione saranno esattamente uguali all’ambiente QA che avremo testato, per cui quando andremo Live non si riscontrerà nessuna strana differenza che sia passata inosservata durante il QA. Il terzo vantaggio è rappresentato semplicemente dalla velocità. E’ molto più veloce ricreare al volo e dinamicamente gli ambienti che ricopiare ogni volta i dati. Questi ultimi due punti sono importanti. Se c’è una cosa che abbiamo imparato dalle nostre esperienze passate, è che è importante avere un ambiente di test coerente che possa essere messo online velocemente, e questo nuovo sistema è piuttosto veloce. Ci aiuterà davvero molto, aumentando esponenzialmente la nostra capacità di iterare rapidamente le nostre versioni di test, il che vuol dire che il reparto QA e, infine, i nostri backer saranno in grado di effettuare dei test più variegati in un minor lasso di tempo. Più saremo accurati nel fornire nuove versioni al nostro team di QA ed ai nostri backer, migliore sarà il lavoro che potremo fare nello sviluppo del gioco.

Questi nuovi sistemi e processi sono stati realizzati per eliminare le grosse limitazioni inerenti al codice utilizzato in passato. Ci siamo presi del tempo in più per svilupparli come si deve, ma la loro integrazione richiederà ulteriore tempo (test, risoluzione dei bug e cose simili) perché possano funzionare al meglio. Ma abbiamo già visto degli importanti miglioramenti: il nuovo sistema è molto più affidabile ed è in grado di gestire contemporaneamente un numero più elevato di giocatori grazie ai miglioramenti del protocollo di networking ed all’architettura semplificata dei servizi di backend. In breve, aver sviluppato da noi tutto questo ci permetterà di realizzare un gioco migliore e di preparare il terreno per gli elementi di gameplay su larga scala che arriveranno in futuro!

Per quanto riguarda il gameplay, ci stiamo assicurando che il gioco rispecchi quelli che sono i nostri obiettivi per l’azione in prima persona nel mondo di Star Citizen. Da questo punto di vista, le cose si fanno un po’ meno tecniche e sono più correlate alla ‘sensazione’ che fornisce l’esperienza di gioco. Uno dei più grandi problemi individuati su questo fronte è stato la giusta resa della visuale. Se avete letto il nostro ultimo post di design sul modulo FPS, ricorderete che uno dei modi in cui vogliamo che questa esperienza di distingua da tutti gli altri FPS è quello rendere in maniera appropriata e ‘reale’ le animazioni: qualsiasi movimento compiuto dal vostro personaggio dovrà avere il giusto aspetto quando visto dall’esterno o da un altro giocatore, senza duplicare delle animazioni ‘false’ che avranno un aspetto differente a seconda dello spettatore. Fare in modo che questo sistema funzioni bene sta richiedendo più tempo di R&D di quanto inizialmente presupposto. E’ una sfida che risolveremo… Ma richiederà attento lavoro. Abbiamo coinvolto il nuovo studio di Francoforte, che è pieno di veterani della Crytek che conoscono ogni aspetto del motore di gioco, ed alcuni ex-dirigenti della Crytek provenienti da LA ed Austin che aiuteranno il team di Denver a completare il lavoro.

Mentre affrontiamo queste sfide, il team FPS sta continuando a migliorare altre aree del progetto ben oltre le specifiche iniziali. Stanno sviluppando nuovi personaggi, armi e così via, materiale che era già in scaletta, mentre su base quasi giornaliera registriamo in mocap le nuove animazioni per i movimenti… Ed altre risorse stanno lavorando sui cambiamenti più discreti delle mappe. Per esempio, gli artisti hanno compiuti degli altri passaggi di illuminazione dei dettagli della mappa di Gold Horizon, prestando particolare attenzione alla visibilità delle forme per rendere più facile l’individuazione della propria posizione all’interno del livello. Questi passaggi non saranno interessanti come la realizzazione di una nuova astronave o sparare con una nuova arma… Ma sono essenziali per fornire il grado di dettaglio ed il livello di gameplay che vogliamo ottenere da Star Marine.

Per esempio, quando pubblicammo l’Arena Commander, questo utilizzava una versione preliminare del nostro sistema di controllo, e sicuramente da allora non c’è stato un momento in cui questo non sia stato motivo di discussione! Che vi piaccia o no, sappiamo che con Star Marine avevamo bisogno di pubblicare una build che quanto meno mostrasse alle persone quali fossero i nostri obiettivi e non soltanto cosa siamo in grado di fare prima del raggiungimento di una qualche scadenza.

Cosa implicano i problemi del modulo FPS per lo stato del resto del progetto?

Lo sviluppo di Star Citizen è ripartito in vari moduli e sotto-progetti ed il loro sviluppo è simultaneo. Parlando di numeri, soltanto il 15% del team sta lavorando su Star Marine; è semplicemente il principale centro di attenzione attuale perché avrebbe dovuto costituire il prossimo aggiornamento pubblico. Questo implica che lo sviluppo di altre aree del progetto, come ad esempio Squadron 42, il sistema multiequipaggio e l’Universo Persistente, non si è interrotto, mentre i problemi con il modulo FPS hanno bloccato lo sviluppo di quest’ultimo (anche se persino in questo caso lo sviluppo è continuato in altre zone: mentre i nostri ingegneri combattevano con il codice di back end, gli artisti delle armi ed i designer dei livelli hanno continuato a lavorare per raggiungere i prossimi obiettivi del modulo FPS).

Non voglio dire che tutto questo non abbia avuto alcun impatto su tutto il resto: la corretta integrazione del modulo FPS aiuterà a portare avanti ogni aspetto di Star Citizen, in quanto la tecnologia che introdurrà andrà a costituire i vasi sanguigni ed i tendini dell’intero gioco… Ma non posso fare a meno di sottolineare che questi due mesi di lavoro aggiuntivo su Star Marine non equivalgono a due mesi di ritardo di Star Citizen. Il team dell’Universo Persistente di Austin sta continuando a realizzare brillantemente nuovi mondi, il team delle navi di Santa Monica sta ideando bellissimi progetti preliminari e sta integrando le navi esistenti in preparazione dei futuri aggiornamenti dell’Arena Commander… Ed ovviamente il team di Squadron42 negli UK sta procedendo a pieno regime nello sviluppo dell’avventura in singolo. Il problema più grande che abbiamo dovuto affrontare riguarda il fatto che il recente lavoro svolto sull’Arena Commander, che include nuove navi pilotabili, rientra nella build di gioco che fa parte del ramo di Star Marine. Ci aspettavamo di rilasciare la versione 1.2 e quindi abbiamo voluto avvantaggiarci sfruttando le meravigliose nuove tecnologie integrate nel modulo FPS.

Cosa ci aspetta?

A questo scopo, abbiamo intenzione di verificare se ci siano le condizioni per rilasciare una build con Star Marine disabilitato, la quale vi permetterebbe di sperimentare alcune delle modifiche e degli aggiornamenti che abbiamo implementato nel codice dei servizi di base nel corso degli ultimi mesi. Ma questa possibilità presenta alcune sfide tecniche, e non saremo in grado di realizzarla immediatamente… Ma sento che è di primaria importanza perché abbiamo bisogno di provare in pubblico diverse cose, abbiamo bisogno di raccogliere le vostre opinioni e, sinceramente, dobbiamo continuare a mostrarvi che stiamo lavorando sul progetto che avete a cuore.

Quando vedremo Star Marine? Al momento, non ho una risposta precisa per voi. Quello che vi dirò è che sappiamo esattamente cosa dobbiamo fare, ed abbiamo già iniziato a farlo da tempo. Allocando ulteriori risorse ed intensificando l’attenzione inter-studio sulla porzione FPS del gioco potremo… Non siamo ancora davvero in condizione di farlo. Sono fiducioso che con gli aggiornamenti e le modifiche rilevanti che abbiamo apportato all’architettura di backend, e di cui abbiamo appena discusso, vivremo un’esperienza degna di Star Citizen; ci vorrà soltanto dell’altro tempo per integrare e testare il tutto. Per quanto riguarda invece la parte pubblica, so che è arrivato il momento di iniziare ad informarvi sul processo di pubblicazione di Star Marine: a partire da questo messaggio e per tutte le settimane a venire, forniremo degli aggiornamenti di alto livello sulle sfide che stiamo affrontando e su quelle che abbiamo superato proprio come abbiamo fatto per l’Arena Commander.

Concludemmo la campagna di finanziamento del 2012 con la ‘Promessa’, in cui indicai i nostri obiettivi in quanto compagnia, ovvero che saremmo stati aperti e comunicativi sul nostro processo di sviluppo. Oggi, voglio che ci ridedichiamo a questo punto: non posso promettervi che rispetteremo ogni singola scadenza interna o che prenderemo soltanto le decisioni che condividerete. Ci saranno sfide che supereremo con difficoltà, e non saremo sempre in grado di prevedere con certezza assoluta tutti i possibili intoppi e problemi… Ma posso promettervi che vi terremo informati e che non smetteremo di lavorare fino a quando il gioco non sarà stato completato come vi abbiamo promesso. Dopo tutto, è per questo che siamo qui. E’ il vostro sostegno a permetterci di creare il gioco che vogliamo realizzare. Grazie a voi, abbiamo la liberà di assicurarci che tutto vada come vogliamo, anche se richiederà più tempo e sforzi. Non vi deluderemo!

– Chris Roberts

Traduzione a cura di Darnos.
Articolo originale disponibile presso le Roberts Space Industries.