Nuovo appuntamento con l’Around the Verse, che questa volta ci porta ad esplorare le lune procedurali della 3.0!


  

AGGIORNAMENTO DAGLI STUDI – FOUNDRY 42 UK

Team della Programmazione

·        Si sono occupati dell’esperienza dell’abitacolo, con l’obiettivo di renderla più dinamica e realistica.

·        Hanno integrato gli effetti di black out e red out nel sistema di Stato Attore, che controlla anche la respirazione e la fatica dei personaggi.

·        I lavori svolti sull’esperienza dell’abitacolo hanno anche permesso di migliorare le animazioni legate alle forze-G a cui è sottoposto il pilota, nonché la sua reazione agli impatti.

·        Stanno anche terminando di lavorare al combattimento in mischia, che include le uccisioni con coltello e quelle a mani nude.

·        Hanno quasi terminato la conversione del vecchio codice relativo allo stato del giocatore al nuovo sistema Attore 2.0, anche noto come sistema di Stato Attore. Ciò permetterà di creare ed implementare molto più velocemente le nuove funzionalità legate ai personaggi, nonché di migliorare l’affidabilità del codice.

·        Stanno testando internamente il delta patcher, dopo che ha superato l’approvazione del team di QA. Per ora, non sono stati riscontrati problemi.

Team della Grafica

·        Si stanno occupando del nuovo sistema di Rendering su Texture.

·        Il sistema degli Ologrammi verrà utilizzato per i briefing pre-missione, le comunicazioni, il mobiGlass ed in molte altre situazioni.

·        Il Sistema di Rendering su Texture verrà utilizzato per tutta la nuova UI.

·        Hanno anche in programma di sfruttare questa funzionalità per permettere ai giocatori di effettuare delle videochiamate in gioco tra loro.

·        Hanno aggiornato il sistema di controllo dell’esposizione per gestire meglio il contrasto tra l’oscurità dello spazio e la luminosità delle superfici di oggetti come lune, pianeti, ecc.

·        Hanno aggiunto delle nuove funzionalità al sistema delle Particelle GPU destinato ad essere implementato nella 3.0, come ad esempio fulmini, turbolenze ed anti-aliasing.

Team Concettuale

·        Al momento si stanno concentrando sulle armi delle navi – stanno terminando i cannoni laser della Amon & Reese, nonché i mitragliatori laser della Klaus & Werner.

·        Per quanto invece riguarda le armi personali, hanno creato una mitragliatrice pesante che verrà venduta dalla Gemini e disporrà del suo sistema di raffreddamento iconico.

·        Il team concettuale Inglese ha visto l’arrivo del suo sesto membro, che si occuperà di lavorare alle varie locazioni di Stanton e di collaborare allo sviluppo di quelle relative a SQ42.

Team Artistico degli Ambienti

·        Il team sta creando dei prototipi delle città procedurali – ciò permetterà loro di generare enormi città e zone di atterraggio senza doverle creare a mano, da zero.

·        Stanno continuando a lavorare agli strumenti che serviranno a decorare lo spazio – uno di questi è il nuovo shader del pulviscolo spaziale, che permetterà di aggiungere ampi volumi di particelle alle locazioni del Sistema Stanton previste per la 3.0.

o   Utilizzando il sopraccitato shader, hanno migliorato la fascia di asteroidi di Yela.

·        Hanno terminato lo sviluppo di tutti gli archetipi principali degli avamposti di superficie – questi includono i marchi delle varie compagnie ed organizzazioni che li hanno prodotti ed installati. Inoltre, sono state aggiunte delle nuove varietà di avamposti, come ad esempio i rifugi di emergenza, le strutture abbandonate e molto altro.

·        Tutte le porte e le camere di equilibrio sono state convertite al sistema delle Porte 2.0, il che vuol dire che adesso terranno conto dello stato di pressurizzazione degli ambienti, dei livelli di ossigeno, energia e via dicendo.

·        Hanno finalizzato i gruppi di avamposti e le strutture esterne decorative. Ciò include le stazioni di comunicazione, i raccoglitori di acqua potabile, antenne, ecc.

·        Continuano i lavori di integrazione degli avamposti sulla superficie dei pianeti – hanno terminato le versioni per i biomi sabbiosi/polverosi/ghiacciati, oltre ad aver aggiunto delle altre decalcomanie per meglio rendere l’usura delle strutture.

·        Stanno ottimizzando ed applicando le prime rifiniture alle Stazioni di Servizio. Al momento si stanno concentrando soprattutto sugli interni.

o   Inoltre, hanno realizzato un ponte di osservazione per permettere ai giocatori di guardare il traffico delle navi in arrivo ed in partenza.

·        Hanno aggiunto gli Uffici Amministrativi alle Stazioni di Servizio e ad altri luoghi del sistema Stanton; serviranno a permettere ai giocatori di completare alcune tipologie di missioni.

·        GrimHex ha visto l’introduzione di due nuovi negozi – uno spaccio di componenti per astronavi ed un vecchio negozio di elettronica.

Team dell’UI

·        Continua lo sviluppo per la 3.0 della UI del nuovo mobiGlass e delle app associate.

·        Sia l’UI del mobiGlass che quella degli chioschi ora utilizzano il sistema di Rendering su Texture.

·        Più team stanno collaborando per terminare l’app della Mappa Stellare ed implementare le funzionalità rimanenti necessarie per la 3.0.

·        Hanno completato le app del Gestore Missioni e le sue funzionalità di base, come il tracking delle quest disponibili, quelle completate, ecc.

·        Continua l’implementazione all’interno degli abitacoli delle navi degli schermi multifunzione, che permetteranno di gestire in maniera più dettagliata i vari sistemi dei velivoli.

·        Infine, hanno realizzato dei nuovi schermi di stato per le stanze di equilibrio.

Team Audio

·        Hanno completato gli effetti sonori del cannone railgun.

·        Stanno continuando a lavorare all’audio delle navi relitto, nonché a quello degli interni della Javelin.

·        Hanno migliorato il sistema di Stato Attore per far funzionare meglio il sistema di Respirazione durante i dialoghi.

·        Hanno migliorato gli effetti audio ambientali per le varie zone della 3.0.

Team delle Animazioni

·        Continua lo sviluppo delle meccaniche di uccisione in mischia.

·        Hanno anche rimesso mano alla meccanica dei salti per sistemare alcuni problemi riscontrati con i nuovi ambienti e gli stati di gravità.

·        Hanno spostato il meccanismo di funzionamento delle animazioni relative al mobiGlass dalla postura di osservazione a quella di mira per migliorare la funzionalità e, nel complesso, l’aspetto dei personaggi mentre utilizzano questa interfaccia.

·        Hanno introdotto delle nuove animazioni di ingresso/uscita dagli abitacoli per far sembrare queste operazioni più naturali e realistiche.

Derby

·        Continuano i lavori relativi agli NPC che nella 3.0 forniranno le nuove missioni.

·        Dovrebbero implementare i nuovi dati di mocap nel giro di qualche giorno.

Team delle Navi

·        Hanno finito di preparare i relitti delle navi per l’utilizzo sia nello spazio, che a terra. Questi includono la Starfarer, la Caterpillar, la Constellation e la Freelancer.

·        Hanno implementato gli strumenti necessari per permettere ai designer di posizionare rapidamente i relitti, semplificandone l’utilizzo.

·        Hanno finalizzato la geometria della sezione pieghevole della Hull C. Stanno terminando la struttura meccanica per assicurarsi che non si verifichino collisioni tra i vari elementi. Inoltre, hanno effettuato un passaggio di illuminazione sugli interni della parte frontale della nave, mentre quella posteriore è stata abbozzata.

·        Hanno iniziato a lavorare alla Eclipse – al momento, si stanno concentrando sull’abitacolo. Altri lavori in corso d’opera riguardano il carrello di atterraggio ed il meccanismo delle ali pieghevoli.

·        Hanno quasi terminato la Reclaimer – devono effettuare l’ultimo passaggio artistico su soltanto tre stanze della nave.

o   Gli schermi dell’abitacolo della nave avvolgeranno il pilota per compensare gli spazi angusti.

o   Hanno completato la versione artistica finale delle postazioni del raggio traente della Reclaimer.

 

DIETRO LE QUINTE: LUNE PROCEDURALI

TLDR

·        La stessa tecnologia planetaria che hanno utilizzato finora verrà rilasciata nella 3.0 con l’aggiunta delle nuove lune, ciascuna delle quali avrà la propria gravità, atmosfera, il suo ecosistema, oggetti vari, condizioni metereologiche differenti, ecc.

·        Sarà possibile passare direttamente dallo spazio ai pianeti (e viceversa) senza dover attendere alcun caricamento e senza che ci siano filmati o interruzioni.

·        Hanno utilizzato la generazione procedurale del terreno ed una tecnologia di dispersione degli oggetti per permettere ai giocatori di atterrare ovunque sui pianeti e sulle lune.

·        Perché la superficie dei corpi celesti avesse un bell’aspetto, svariati artisti hanno collaborato per realizzare vari livelli di terreno, che sono stati quindi mescolati tra di loro e vengono attivati/spenti in funzione del punto di osservazione dei giocatori.

·        Passare dalle dimensioni e dalla prospettiva di un sistema solare alla superficie di un singolo pianeta è stata una sfida complicata.

·        La geometria e le texture di pianeti e lune vengono prese da un set di risorse fisso e combinate in maniera procedurale in tempo reale.

o   Dal momento che i set di dati sorgenti utilizzati per queste operazioni sono davvero piccoli, la generazione procedurale avviene in maniera estremamente efficiente.

·        La maggior parte del tempo di R&D degli ultimi due mesi è stato investito nello sviluppo del sistema di dispersione degli oggetti, la cui creazione era necessaria per evitare di generare pianeti o lune con superfici vuote.

·        Hanno realizzato un algoritmo che lavora in maniera tale da creare automaticamente degli ambienti naturali, posizionando sul terreno di gioco tutti gli elementi scenici ad essi connessi.

o   Inoltre, la logica di questo algoritmo permette di utilizzare anche effetti audio e particellari specifici per ogni ambiente.

o   Nel complesso, ciò ha permesso di realizzare dei pacchetti dati relativi ad aree o ambienti particolari con un elevato livello qualitativo e di dettaglio. Inoltre, ciascuno di questi pacchetti dati contiene una serie di parametri che permette di regolarne l’orientamento, le dimensioni, l’allineamento con il terreno, ecc.

o   Inoltre, questo sistema tiene anche conto delle condizioni di illuminazione delle superfici, che dipendono dallo scorrere del tempo.

·        Il team artistico ha creato tutte le risorse necessarie per la realizzazione delle rocce e degli arbusti; per evitare che gli oggetti scenici ambientali risultassero essere ripetitivi, questi elementi sono stati modificati e mescolati utilizzando il Substance Designer.

·        Le risorse necessarie per creare tutto questo sono state organizzate in librerie riutilizzabili, espediente che permetterà il rapido accesso da parte dei computer a queste informazioni, nonché la generazione procedurale efficiente dei biomi.

·        A differenza di altri giochi, Star Citizen non ha barriere o sfondi che impediranno ai giocatori di interagire con l’ambiente circostante.

·        La generazione procedurale è deterministica, nel senso che il terreno viene creato dalla CPU, mentre le texture e tutto il resto vengono elaborate dalla GPU. Il risultato finale viene messo in cache in una rete geometrica fissa, la quale viene quindi distribuita tra tutti gli snodi disponibili dei core, realizzando un metodo di generazione procedurale efficiente e che non richiede un elevato transito di informazioni.

·        Un ottimo esempio di quanto sia stato difficile realizzare tutto questo è la scala delle dimensioni tipicamente utilizzata dai giochi FPS, che in genere coprono soltanto un’area di quattro chilometri quadrati. Di contro, Star Citizen copre miliardi di chilometri quadrati senza utilizzare alcuna barriera.

·        Il risultato finale è sorprendente, tanto che all’inizio persino gli artisti che ci stavano lavorando sono rimasti stupiti.

 

TRASCRIZIONE INTEGRALE

Marco Corbetta (MC): Salve, io sono Marco Corbetta e sono uno dei Direttori Tecnici Senior di Foundry 42, Francoforte. Oggi parleremo dei pianeti. Dunque, quella che vi mostreremo oggi è la tecnologia planetaria, assieme ad alcune delle funzionalità che includeremo nel nostro primo rilascio con la 3.0. La tecnologia planetaria è esattamente la stessa funzionalità che abbiamo utilizzato per creare lune, pianeti, Delamar, o meglio, il planetoide Delamar, Levski e via dicendo. Ogni pianeta è unico. Ha una propria gravità, ecosistemi, oggetti, clima ed atmosfera.

Se date un’occhiata a questo video, noterete i tanti progressi che abbiamo fatto sin da quando abbiamo iniziato a lavorare su questa tecnologia: potete vedere i pianeti dallo spazio, è possibile passare agevolmente dallo spazio all’atmosfera senza alcun filmato di transizione o interruzione. La sfida più grossa che abbiamo dovuto affrontare nello sviluppo di questa tecnologia, riguarda il fatto che potrete atterrare ovunque sul pianeta, ma l’unico modo per permettere una cosa del genere è di generare la superficie del pianeta, proprio mentre vi avvicinate ad esso. Il terreno viene generato e suddiviso pezzo per pezzo. Allo stesso modo, anche gli oggetti vengono distribuiti sulla superficie in maniera procedurale, man mano che diventano visibili, come anche le particelle e così via. Quando vi troverete sulla superficie, potrete vedere oggetti come le stazioni spaziali, le lune e tutto ciò che sarà in orbita attorno al pianeta.

Michel Kooper (MK): Per assicurarci che l’ingresso in atmosfera e l’avvicinamento ad un pianeta fossero fantastici a tutti i livelli, dallo spazio fino all’atterraggio, abbiamo coinvolto svariati artisti, i quali hanno realizzato gli input necessari per ciascuno di questi livelli. Per cui, da un punto di vista globale, c’è una mappa colorimetrica che definisce i colori del pianeta, poi, quando ci avviciniamo, entrano in gioco gli ecosistemi, che definiscono le caratteristiche stesse del pianeta. Tutti questi livelli compaiono e scompaiono gradualmente, lasciando il posto a quelli superiori o inferiori, creando nel complesso un aspetto organico. Più ci si avvicina al pianeta, più questi livelli si mescolano tra di loro, fino ad arrivare al dettaglio finale della superficie planetaria.

MC: Inoltre, siamo in grado di effettuare delle transizioni che, dal sistema solare stesso, ci portano al livello della superficie dei pianeti. Qui potete vedere la scala di dimensioni con cui stiamo lavorando. Potete vedere i vari livelli di ingrandimento, partendo dal sistema solare, fino ad arrivare ai vari pianeti e lune. Realizzare e generare tutti questi tipi di ambienti, con una scala di dimensioni così varia, è stato davvero complicato.

Ogni pianeta ha un set di geometrie fisso, a cui si aggiunte un set di memoria che viene utilizzato per lo streaming delle texture. Dal momento che, come detto poco fa, è possibile atterrare ovunque su un pianeta, questo era l’unico modo con cui potevamo generare proceduralmente e dinamicamente la superficie planetaria. La geometria viene generata al volo, mentre le texture vengono combinate proceduralmente in tempo reale, mescolando tra loro i vari strati. Ciò ci ha permesso di realizzare delle transizioni prive di caricamenti dallo spazio all’atmosfera. I dati sorgenti utilizzati per fare tutto questo hanno dimensioni estremamente ridotte. Ad esempio, su queste lune abbiamo utilizzato soltanto cinque ecosistemi unici per corpo celeste. Ciascun ecosistema possiede delle proprietà differenti, e ciascuna di esse viene combinata con altri strati per generare un gran numero di variazioni lungo tutta la superficie. Un altro elemento interessante, è il fatto che utilizziamo soltanto delle texture con risoluzione 1K, che sono state appositamente create dai nostri artisti ambientali. Queste texture vengono sfruttate per la generazione dei pianeti. Dunque, così facendo abbiamo sviluppato un sistema di blending e di generazione efficiente che combina insieme tutti i vari strati delle texture, ottenendo tuttavia degli ottimi risultati, anche quando si è molto vicini alla superficie.

Pascal Muller (PM): Credo che la sfida più grossa che abbiamo dovuto affrontare di recente sia stata la dispersione degli oggetti sulla superficie dei pianeti. Dal nostro ultimo aggiornamento, abbiamo fatto notevoli progressi sul terreno e sulle texture. Ora siamo in grado di renderizzare queste enormi montagne ed oceani, nonché tutta quest’altra roba, ma alla fine, il pianeta risulta ancora vuoto. Non ci sono contenuti. Non sono presenti oggetti, rocce, alberi e via dicendo. Quello che avevamo tra le mani era un sistema base, che non era in grado di raggiungere i risultati che noi volevamo. La maggior parte del tempo di R&D degli ultimi due mesi è stato speso nello sviluppo di questo sistema di dispersione degli oggetti. La difficoltà insita nel realizzare uno strumento simile, consiste nel raggiungere un risultato che sembri essere naturale. Solitamente, quando si crea un livello per un gioco, si devono… Si devono posizionare a mano le rocce, gli alberi e via dicendo, così da comporre la scena in cui il giocatore si muoverà, che ovviamente… Dovrà essere fantastica, dovrà avere un bell’aspetto, ed in più ci dovranno essere degli altri oggetti sullo sfondo e roba di questa genere. Ora, questo non è un approccio che possiamo seguire con questo livello di generazione procedurale. Non possiamo posizionare gli oggetti a mano, per cui avevamo bisogno di un qualcosa che automatizzasse questo passaggio per noi, ma ovviamente non volevamo… Volevamo che il risultato finale avesse un aspetto che fosse il più naturale possibile. Per cui volevamo avere un certo livello di controllo, ma volevamo anche che la maggior parte del lavoro fosse svolto da… Da un algoritmo.

Così, abbiamo sviluppato un sistema che ci permette di definire quali oggetti vogliamo utilizzare per creare una foresta. Quindi alberi, foglie, erba sul terreno, e poi è anche possibile definire dei gruppi oggetto in cui inserire tutti gli elementi desiderati, nonché definire la logica con cui questi vengono organizzati e distribuiti nello spazio. È possibile indicare gli effetti particellari da usare, così da riprodurre anche la caduta delle foglie. E si possono aggiungere anche gli effetti audio, per cui si può riprodurre il suono del vento che soffia tra gli alberi.

Sostanzialmente, questi gruppi oggetti, o preset di oggetti, sono una sorta di pacchetti che vengono assegnati al terreno nelle aree specifiche in cui vogliamo che crescano gli alberi, mentre la loro dispersione viene effettuata in maniera automatica, ma seguendo una certa logica. Dunque, così facendo si ha… È ancora possibile avere… È possibile creare una sorta di armonia naturale, utilizzando un approccio che non sia completamente casuale, o uno schema a griglia che, invece, verrebbe facilmente individuato dall’occhio umano. È possibile definire l’arrangiamento di questi contenuti. Se si vuole aggiungere una grossa roccia, allora si possono anche spargere attorno ad essa una serie di rocce più piccole, di dimensioni varie. Così facendo, si crea una sorta di senso estetico, per cui non è si tratta solo di… Okay, devo mettere da qualche parte questa roccia enorme, e poi tutt’attorno devo spargere delle rocce più piccole lungo chilometri di terreno. All’inizio, avevamo qualcosa del genere, ma poi vi abbiamo… Abbiamo aggiunto molti altri parametri che avrebbero influito sull’aspetto finale e, ovviamente, ci sono anche dei valori che permettono di controllare la scala delle dimensioni di tutto questo, definire delle rotazioni casuali dei singoli elementi, l’allineamento con il terreno e via dicendo.

MK: In veste di team artistico, noi realizziamo tutti i contenuti presenti sui nostri pianeti. Questi contengono elementi come gli ecosistemi, che definiscono la forma del terreno. Essi includono i materiali, che stabiliscono quale aspetto avrà la superficie su cui camminerete in prima persona. Abbiamo creato tutte le rocce e le risorse ambientali, nonché gli arbusti e le radure che realizziamo utilizzando questi contenuti, che poi vengono rimescolati dalla nostra tecnologia dei pianeti procedurali.

In aggiunta, rimescoliamo anche le nostre texture ed i materiali. Li creiamo… Li creiamo in maniera intelligente. Ad esempio, quando realizziamo un nuovo materiale per le nostre rocce, lo utilizziamo… Lo utilizziamo anche per le texture del terreno, per meglio definire l’aspetto delle rocce più piccole e del terreno stesso. Per fare questo, sfruttiamo il Substance Designer [NdT: si tratta di un software commerciale, non di uno strumento interno, per cui il nome non è stato tradotto], che ci permette di suddividere tutti i nostri componenti delle texture in moduli separati, che quindi possiamo inserire, rimescolare e modificare al volo. Ciò ci ha permesso di velocizzare drasticamente il processo di creazione delle texture, nonché di creare rapidamente le variazioni di colore dei vari elementi, come ad esempio la sabbia, oppure le rocce sul terreno. Sui nostri pianeti ci sono enormi distese di terreno da coprire con varie texture, ed i pianeti stessi sono tanti. Per cui abbiamo bisogno di assicurarci che qualunque… Qualunque sia l’approccio utilizzato, questo deve essere intelligente.

Ogni volta che cerchiamo di definire una paletta dei materiali per una delle nostre locazioni di gioco, in realtà sviluppiamo un intero set di materiali e lo applichiamo ai set di risorse. Possiamo modificare il tempo della giornata, vedere come questo influenzi l’aspetto degli oggetti… Come sarà quando il sole si troverà allo zenit? E quando invece sarà basso sull’orizzonte? In questo modo, quando combiniamo tutti gli elementi, sappiamo che, di base, hanno un aspetto fantastico. Sono tanti gli elementi che potrebbero influenzare l’aspetto finale dei materiali che inseriamo all’interno dei nostri pianeti. Ciascuno di essi verrà rimescolato in materiale procedurale. Per cui potrebbero anche subentrare altri fattori. Il sistema campionerà il colore dalla definizione dell’aspetto globale del pianeta. Per cui, ogni volta che vi recherete da qualche parte… Il risultato, il terreno, non sarà mai lo stesso.

Quando creiamo una delle enormi librerie destinate al sistema procedurale, non cerchiamo, ad esempio, di definire la superficie finale dei materiali. Invece, cerchiamo di assicurarci che, tra le altre cose, essa sia anche riutilizzabile. Possiamo sfruttare lo stesso tipo di roccia, o la stessa forma, per poi riapplicarla con un materiale differente, o utilizzarla su una luna vicina o in un altro sistema. Ciò ci assicurerà di sfruttare al meglio la memoria di gioco, perché staremo utilizzando sempre gli stessi elementi di base, ma potremo anche di coprire rapidamente vaste aree di terreno.

PM: Un’altra grossa sfida comportata dal sistema di dispersione degli oggetti, che tra l’altro è anche legata all’approccio utilizzato per creare tutte le nostre strutture in gioco, era il fatto che non abbiamo delle risorse sceniche di sfondo. Nei giochi tradizionali, ci sono sempre il primo piano, il piano di mezzo e poi quello di sfondo, che tutti insieme costituiscono il panorama di gioco. E generalmente, l’ultimo non è raggiungibile. Ad esempio, potreste ritrovarvi in una foresta con un vulcano sullo sfondo, ma questo non sarà accessibile. Potrebbe essere un panorama epico, ma sarà costituito principalmente da elementi di sfondo. In Star Citizen non c’è nulla di simile. Ogni volta che vedrete qualcosa sullo schermo, sarà un oggetto che potrete raggiungere e toccare con mano, e ciò ha pesantemente influenzato il nostro processo lavorativo, la maniera in cui creiamo le varie risorse ambientali.

A volte, le cose che vedete sullo sfondo in altri giochi sono delle semplici immagini, hanno sempre lo stesso aspetto, e se vi recherete sul posto, troverete soltanto un muro. Cosa che di solito non succede, perché lo spazio in cui il giocatore è in grado di muoversi è limitato, ma questo non vale per Star Citizen. Ciò non causa alcun problema con gli elementi più piccoli, come le rocce, perché le potrete vedere soltanto quando le avrete vicino, ma se sullo sfondo ci saranno delle grosse colline, allora queste si vedranno anche da molto lontano e, ovviamente, man mano che vi avvicinerete, dovreste poter vedere un numero di dettagli sempre maggiore. Allo stesso modo, quando entrerete in atmosfera dallo spazio, ci dovrà essere una transizione fluida che determinerà la comparsa di questi elementi. Per cui dobbiamo sviluppare ogni singola risorsa ambientale tenendo conto anche di questi aspetti, facendo sì che abbiano un bell’aspetto sia dalla lunga distanza, che da vicino, sia quando volerete nell’atmosfera del pianeta, sia quando sarete in orbita attorno ad esso.

MC: Un’altra sfida complicata legata a tutto questo è il fatto che abbiamo a che fare con la generazione procedurale nel contesto di un gioco online, per cui essa deve essere deterministica su tutte le macchine. Per far questo, per assicurarci che tutto funzioni a dovere anche sui server dedicati, dobbiamo effettuare una serie di operazioni utilizzando la CPU. Solitamente, i server dedicati non dispongono di schede grafiche. Per cui, al momento, tutta la generazione procedurale è effettuata utilizzando la CPU, mentre il blending delle texture grafiche viene realizzato sfruttando principalmente la GPU dei client. I risultati vengono caricati in cache nella memoria della geometria fissa che ho citato in precedenza, mentre la generazione viene distribuita su tutti i core disponibili. Per cui l’intero processo è estremamente efficiente e scala con il numero di core disponibili…  Ed il risultato finale è esattamente lo stesso sia sul server, sia sui client, per cui non c’è bisogno di trasmettere alcuna informazione per replicare l’ambiente.

Quello che stiamo vedendo ora, è un video registrato dal nostro QA in cui quattro giocatori atterrano insieme su un pianeta. Potete vedere la transizione priva di caricamenti di tutti loro mentre scendono sulla superficie planetaria.

MK: Ciò che fa la differenza, nel caso della nostra tecnologia planetaria, sono le dimensioni. Ad esempio, quando si lavora ad un livello FPS, solitamente si… Anche quando si tratta di una mappa davvero grande, al massimo si parla di dimensioni dell’ordine dei quattro chilometri quadrati. Non c’è bisogno di preoccuparsi di quello che potrebbe accadere fuori dai limiti dello spazio giocabile. Quello che facciamo… Quello che tentiamo di fare con Star Citizen è, sostanzialmente, coprire tutti questi elementi. Si va dall’avvicinarsi ad un pianeta, al volare vicino alla sua superficie, scendere a terra, uscire dalla nave e guardarsi attorno, vedendo le rocce ed il terreno con un alto livello di dettaglio. Di sicuro, lavorare con un tale sistema è molto interessante, ma di contro, si perde la capacità di creare a mano ogni singolo metro quadrato di terreno. Questo perché si devono generare ambienti di dimensioni enormi, ma il nostro sistema procedurale ci permette di impostare le regole con cui distribuire i vari elementi scenici ed il risultato finale è incredibile, forse anche migliore di quello che avremmo potuto ottenere facendo tutto a mano.

PM: Non sai mai come sarà il risultato finale e come verranno sparsi gli oggetti, per cui spesso si finisce per esplorare una nuova area di una luna mai vista prima e rimanere sbalorditi. Voglio dire, da un lato non possiamo controllare tutto quanto a mano, ma dall’altro, posizionare tutto pezzo per pezzo sarebbe insostenibile, perché lo sviluppo di un pianeta richiederebbe anni, e ciò nonostante… L’aspetto interessante di tutto questo, è il fatto che, ogni tanto, si scopre una zona nuova di una luna e si rimane meravigliati da come il sistema sia in grado di posizione i singoli elementi ambientali, di come funzioni bene. Inoltre, l’illuminazione, la luce solare, ricopre una parte importante in tutto questo, perché non sai mai come illuminerà l’ambiente, perché i pianeti… Non… Con il passare del tempo, le cose cambiano, e non puoi semplicemente dire: “Okay, voglio che al tramonto questa zona di veda così”. Per cui ogni tanto ti ritrovi a fissare questi panorami mozzafiato che sono stati assemblati proceduralmente dal motore di gioco, e ti rendi conto di quanto funzioni bene.

MK: Noi stabiliamo le regole. Scegliamo gli oggetti che vogliamo utilizzare, ma non possiamo sapere quale sarà il risultato finale fino a quando le cose non prenderanno forma e non verranno assemblate dal sistema procedurale. Fatto questo, ci limitiamo a prendere una nave e fare un giro per le nuove zone, per poi scendere a terra e dare un’occhiata più da vicino al tutto e… Wow. Non puoi fare a meno di ripeterti che quello che hai davanti è il risultato finale creato da tutti gli elementi sviluppati dal nostro team. E che quello è davvero il mondo che abbiamo creato noi stessi.

MC: A conclusione di questa presentazione, vi mostreremo la suddivisione degli effetti visivi dei pianeti procedurali e come i vari pezzi vengano combinati insieme per realizzare l’immagine finale. Grazie per averci seguito.

Traduzione a cura di Darnos.
Trascrizione in Inglese disponibile presso Relay.
Articolo originale disponibile presso le Roberts Space Industries.