Nuova puntata dell’Around the Verse: oggi si parla del sistema di Interazione dei Giocatori con gli oggetti dell’Universo di Star Citizen!


  

AGGIORNAMENTO DAGLI STUDI – FOUNDRY 42 UK

·        Gameplay

o   Lo sviluppo del sistema di Interazione dei Giocatori ha visto importanti progressi, mentre il sistema dei Pensieri Interni ha subito ulteriori miglioramenti.

o   La prima implementazione del Controllore del Traffico Aereo è in corso d’opera, stanno lavorando alla struttura sottostante.

§  Il Controllore del Traffico Aereo è il sistema che sarà incaricato di gestire l’assegnazione delle piattaforme di atterraggio ed il traffico delle navi in entrata ed in uscita dalle stazioni spaziali, nonché di rimuovere dalle piattaforme le navi appena atterrate.

o   Hanno terminato il sistema dello Stato dei Personaggi: è l’ultima implementazione del sistema di respirazione procedurale e di quello del danneggiamento della tuta.

o   Stanno lavorando su un sistema di “raccolta e trasporto” combinando gli Oggetti Utilizzabili con le interazioni dei Giocatori.

§  Il sistema degli Oggetti Utilizzabili era pensato per le IA ed era finalizzato a dare loro la possibilità di interagire con i vari elementi del mondo di gioco.

§  Il sistema delle Interazioni, invece, riguardava l’UI dei giocatori, che avrebbe permesso loro di interagire con l’ambiente circostante.

§  Combinando questi due sistemi, i giocatori saranno in grado di interagire con qualsiasi oggetto dell’universo di Star Citizen.

o   Hanno iniziato ad implementare la tecnologia delle Conversazioni all’interno della Sussunzione; il team di Design sta inserendo tutte le conversazioni per i primi test.

·        Audio

o   Stanno svolgendo delle operazioni di R&D e stanno pianificando i sistemi per mappare e modificare automaticamente l’audio.

o   Continuano i lavori sul sistema di Propagazione Audio, sull’audio del sistema di Respirazione e sul nuovo strumento dei dialoghi “Word Up”.

o   Inoltre si stanno occupando del Toolkit per le Armi delle Navi, dell’audio di ricarica del fucile Gallant, della rifattorizzazione di alcuni elementi delle armi e del supporto al codice multi-posizione.

·        Musica

o   Stanno lavorando al sistema di Loop Dinamico delle Musiche Ambientali e Cinematiche.

o   Inoltre, stanno ripulendo la logica della musica di combattimento in volo, stanno prototipando il sistema della Tensione e la musica procedurale relativa agli Ambienti Planetari.

o   Hanno aggiunto nuove tracce musicali nel Launcher.

·        Grafica

o   Hanno effettuato una prima integrazione della foschia volumetrica illuminata in tempo reale di Lumberyard.

o   Procedono spediti i lavori sulla funzionalità della “Renderizzazione su Texture”; il team della UI ha realizzato la prima versione 2D della tecnologia che andrà ad aggiornare le UI del gioco (a breve mostreranno le proiezioni olografiche in 3D).

§  Si tratta di una funzione pensata per proiettare in maniera dinamica la UI e le immagini sulle superfici olografiche, comprese quelle curve, per rendere il tutto più realistico e visivamente interessante.

o   Sono prossimi al completamento della tecnologia di Esplorazione Ambientale in tempo reale, che permetterà di renderizzare dinamicamente ed in tempo reale la riflessione della luce sulle superfici.

·        VFX

o   Effetti volo atmosferico: hanno unito i VFX relativi all’ingresso planetario a quelli delle scie del motore, che poi sono stati ottimizzati e rifiniti.

o   Miglioramenti agli effetti delle entità luce: stanno cercando di creare degli effetti realistici per i fulmini e gli effetti elettrici in generale.

o   Hanno completato il primo passaggio sui propulsori ed i danni della MISC Prospector.

o   Hanno effettuato i primi lavori sugli effetti di “caricamento” e “stato caricato” del cannone railgun APR Scourge.

·        Arte Concettuale

o   La bozza della Origin 600i è entrata nella fase di sviluppo finale.

·        Armi

o   Sono state completate la Distortion Scattergun della Preacher e la Scattershot della Apocalypse Arms.

o   Si stanno occupando della LMG della Klaus e Werner.

·        Navi

o   Il lavoro sulla Reclaimer ha visto degli ottimi progressi: sono stati completati l’esterno dello scafo (e l’artiglio), i quartieri abitativi interni, la tecnologia e la funzionalità di recupero materiali.

§  Stanno iniziando a sviluppare gli stati di danneggiamento della nave e stanno completando la sala dei droni, l’abitacolo ed il ponte ingegneristico.

o   Hanno iniziato ad occuparsi delle navi relitto: stanno rompendo le navi nei singoli elementi strutturali, stanno creando le versioni invecchiate/deteriorate dei materiali e stanno lavorando ai componenti dei relitti.

§  Il primo insieme di navi relitto comprenderà la Constellation, la Caterpillar, la Starfarer e la Freelancer.

o   È stato completato lo scafo della Razor, che è entrato nella fase di definizione dei danni; stanno finalizzando i LOD e stanno preparando la nave perché sia possibile pilotarla nel gioco.

o   Hanno completato gran parte degli esterni della Hull C: stanno assemblando i propulsori di manovra ed hanno rifinito gli interni e gli esterni.

·        Ambiente

o   Stanno esplorando nuovi modi di creare delle forme volumetriche nello spazio.

o   Stanno terminando il benchmark visivo degli interni dei moduli abitativi, ingegneristici ed idroponici degli Avamposti di Superficie.

o   Le stazioni spaziali di tipo “Stazione di Servizio” sono entrate nella fase artistica finale: stanno lavorando alla libreria degli shader e stanno migliorando la qualità dei singoli componenti per portarla al livello desiderato.

§  Inoltre, stanno continuando a lavorare al sistema modulare utilizzato per realizzare queste stazioni, con lo scopo di fornire maggiore varietà alle potenziali configurazioni e combinazioni delle varie stanze.

·        Animazioni

o   Stanno lavorando alla IA per migliorare tutte le animazioni e portarle ad un livello che vada oltre la semplice funzionalità.

o   Sono stati apportati diversi miglioramenti alle condizioni di affaticamento ed agli stati di respirazione associati: stanno importando la curva dei dati di Maya all’interno di DataForge.

o   Stanno implementando gli abbattimenti multi-direzionali, che permetteranno di uccidere i nemici da vicino.

o   Sono stati apportati dei miglioramenti alle configurazioni di alcune armi ed alle loro animazioni di ricarica; tra le armi interessate c’è il fucile Devastator, il fucile da cecchino Arrowhead, il fucile laser Galant e la SMG ballistica P8SC.

o   Sono state migliorate le animazioni di combattimento in mischia degli archetipi delle armi e delle pistole.

·        Derby

o   Sono stati impegnati nella realizzazione delle animazioni facciali e del corpo degli NPC che forniranno le nuove missioni della 3.0.

o   Hanno consegnato 500 file di animazioni facciali che dovranno essere implementate in SQ42.

o   Hanno tracciato e sistemato quasi 1000 animazioni del corpo dei personaggi per il PU.

o   Hanno realizzato delle nuove animazioni facciali legate alle azioni di fuoco con le armi.

 

DIETRO LE QUINTE: SISTEMA DI INTERAZIONE DEI PERSONAGGI

TLDR

·        Il Sistema di Interazione dei Personaggi va a toccare un po’ di tutto nel gioco ed apre numerose possibilità di interazione, ciascuna avente il proprio feedback contestuale.

·        Questa è la terza versione del sistema di interazione dai tempi dell’Alpha 2.5 ed incorpora il Sistema Oggetti 2.0, assieme alla geometria delle collisioni e quella di raycast, oltre ad aggiungere nuove funzionalità che permetteranno ai giocatori di essere più consapevoli delle interazioni che avranno a disposizione.

·        Il Sistema “Usa” originale era limitato ad un’unica azione e non è era molto descrittivo.

·        È stato necessario effettuare una riscrittura del codice da zero per portare il sistema di interazione al livello di dettaglio ed immersione desiderato.

·        Durante le prime fasi di prototipazione del sistema cargo, era diventato chiaro che dovevano unificare il sistema di interazione per semplificare l’accesso all’enorme sistema di input in continua crescita del gioco.

·        La filosofia dietro il nuovo sistema prevede che sia l’oggetto, assieme allo stato del giocatore, a determinare quali funzioni di interazione siano disponibili, fornendo così un approccio più naturale.

·        L’interazione del giocatore è limitata soltanto alle animazioni ed alla fisicità del personaggio.

·        Il sistema utilizza delle query di prossimità che controllano quali oggetti interattivi siano presenti attorno al personaggio, oltre ai raycast che determinano quali opzioni di interazione siano effettivamente accessibili e disponibili al giocatore.

·        La realizzazione di questi aspetti del sistema, che avrebbero dovuto coprire tutte le possibili opzioni di interazione con l’ambiente ed i giocatori, oltre a fornire il livello di rifinitura qualitativa desiderato, ha richiesto un’enorme coordinazione tra gli studi di LA ed UK e durissimo lavoro.

·        Un aspetto che rendeva complicato la realizzazione e l’assemblaggio di questo sistema riguardava la necessità di realizzare i vari sottosistemi in maniera isolata gli uni dagli altri, così che potessero funzionare a prescindere dalla presenza o meno degli altri componenti di gioco.

o   Hanno dovuto implementare tutti questi comportamenti specifici e realizzarli su misura per tutti i vari sottosistemi, nonché creare un oggetto di interazione generico che fosse in grado di sincronizzarsi con tutti questi altri elementi.

o   Inoltre, hanno dovuto realizzare anche tutte le varie possibilità di interazione, le quali dovevano coesistere con un’ampia varietà di soluzioni di gameplay.

·        La loro preoccupazione riguardava l’implementazione nel gioco di un tipo di logica che potesse creare un’esperienza interattiva molto più intuitiva e semplice.

·        Tutti gli oggetti interattivi che saranno presenti nel gioco utilizzeranno vari componenti del sistema Oggetti 2.0.

o   Il nuovo sistema aggiungerà la possibilità di inserire delle interazioni particolari riguardanti alcuni elementi/ossa di un’entità.

·        I componenti generici forniscono loro i mattoncini necessari per realizzare quanto descritto in precedenza, ma lo svantaggio di questi contenuti è correlato alla mole di operazioni di manutenzione richieste a causa dei continui cambiamenti apportati alla tecnologia, agli ambienti in cui vengono posizionati i vari oggetti e così via.

·        L’approccio modulare con cui sono state realizzate le varie logiche di comportamento permette di realizzare i vari elementi in maniera più concettuale.

·        Hanno utilizzato dei sottosistemi, quali le query al sistema delle zone, per indicare al motore di gioco quali oggetti sono vicini al giocatore e quindi con quali di essi sarà possibile interagire, mentre è stata sfruttata la tecnica del raycast per definire quali oggetti saranno accessibili al giocatore dalla sua prospettiva.

·        Adesso è possibile interagire con tutti gli oggetti presenti nel gioco in base alla propria visuale, cosa che rende tutto più consistente.

·        Il nuovo sistema di interazione punta ad introdurre una maggiore fluidità nel passare in rassegna le varie opzioni di interazioni disponibili, oltre che a mostrarle in maniera più chiara e definita.

o   Inoltre, il nuovo sistema richiederà al giocatore di muoversi attorno all’oggetto desiderato meno di quanto non avvenisse con il vecchio sistema.

·        Al momento si stanno concentrando sul consolidare la logica/la tecnologia di interazione per arrivare al punto da poter realizzare nuovi elementi semplicemente collegando concettualmente i sistemi ed i comportamenti già sviluppati.

·        Assieme al sistema di Interazione, stanno lavorando ad una tecnica chiamata “Renderizzazione su Texture” che permetterà al gioco di renderizzare correttamente la UI all’interno del motore di gioco.

o   Questa tecnologia permetterà loro di proiettare correttamente la UI sulle superficie curve.

·        Stanno continuando ad aggiungere nuove funzionalità e stanno pensando alle nuove possibilità che questo sistema potrebbe creare; inoltre, stanno unificando i vari sistemi per sfruttare i vantaggi comportati dal nuovo sistema di Interazione.

 

TRASCRIZIONE INTEGRALE

Calix Reneau (CR): Il Sistema di Interazione del Giocatore tocca un po’ tutto. È un sistema di interazione unificato con… L’esperienza in prima persona di combattimento, shopping, raccolta oggetti, interazione con gli schermi ed i terminali di gioco, persino quando entrate nell’abitacolo della vostra nave e la pilotate in giro per l’universo, ed essere in grado di puntare e mettere in evidenza tutti i vari oggetti aprirà un mare di opportunità di interazione… Del tipo: “Voglio saperne di più a riguardo”, e potremo fornire delle informazioni contestuali riguardanti le azioni che potrete compiere.

Chad McKinney (CM): Dunque, il Sistema di Interazione del Giocatore che vi stiamo iniziando a mostrare qui è la terza versione del sistema di interazione che abbiamo implementato nel gioco. Il sistema di interazione originale era quello presente nel gioco nell’Alpha 2.5 e precedenti, ed era una sorta di miscuglio di approcci differenti realizzati per cercare di capire quale oggetto stesse guardando il giocatore e con cosa stesse cercando di interagire. Successivamente realizzammo un Sistema di Interazione con gli Oggetti 2.0, che cercava di essere identificare in maniera più accurata l’oggetto con cui si stava cercando di interagire grazie all’utilizzo del raycast e della geometria di collisione. Anche questo sistema presentava dei problemi a livello di utilizzabilità, per cui stiamo aggiungendo delle nuove funzionalità all’attuale Sistema di Interazione con gli Oggetti 2.0 per renderlo più contestualmente consapevole degli oggetti con cui il giocatore sta cercando di interagire.

Zane Bien (ZB): Il nostro vecchio sistema, specialmente il Sistema “Usa”, con cui sostanzialmente… I box di confine dell’interazione dovevano trovarsi all’interno dell’oggetto stesso e potevamo collegarvi soltanto un’azione, che non era molto descrittiva. Compariva soltanto la scritta “Usa”, giusto? È per questo che è stato definito come il Sistema “Usa”.

Robert Johnson (RJ): Per fare in modo che il Sistema di Interazione dei Giocatori funzionasse davvero, abbiamo dovuto praticamente riscrivere da zero l’interfaccia che avremmo utilizzato per interagire con gli oggetti all’interno del gioco. Per esempio, nei primi due anni di vita del progetto ci eravamo abituati ad avere soltanto una grossa, orribile scritta “Usa” su tutto, che non solo aveva un pessimo aspetto, ma sembrava sempre molto poco maneggevole. Riuscire a posizionarsi all’angolazione giusta per utilizzare la roba era davvero complicato. Per cui dovevamo realizzare un design che ci permettesse di arrivare al livello di dettaglio che volevamo implementare nel gioco, per fornire agli utenti la capacità di interagire con tutti gli oggetti presenti nei livelli di gioco e con un livello di dettaglio sufficiente a realizzare un’esperienza di gioco immersiva. La maniera più semplice per concretizzare tutto questo era, sostanzialmente, riscrivere da capo gran parte del codice necessario. Scrivere un sistema completamente nuovo, in contrasto con l’utilizzo del vecchio meccanismo “Usa”.

CR: Io ho realizzato uno dei prototipi del cargo. Alcune delle primissime versioni incomplete che abbiamo sviluppato… Ed in questo ambito mi sono occupato della realizzazione di una piccola sezione di una Freelancer in cui mostravamo come il sistema fosse in grado di riconoscere gli oggetti che stavamo inserendo nella stiva, per poi mostrarli nella schermata del manifesto cargo… E questa è anche stata la prima volta che ho realizzato qualcosa con un cursore. Alla fine, quel sistema è stato trasformato in un MFD [NdT: Schermo Funzionale Mobile] e nel meccanismo che vi permetterà di interagire con i componenti e con gli schermi del vostro abitacolo, e prima o poi diventerà… Beh, o almeno dovrebbe… Dovremmo unificare tutti questi sistemi di input, che sono in continua crescita, in qualcosa che disponga di una serie di funzionalità base.

ZB: Quello in arrivo è un sistema completamente nuovo, perché prima non era necessario utilizzare il cursore su nulla, per cui capire dove si stava puntando era davvero difficile. Okay. Dunque, questo testo compare sulla porta, ma riguarda la porta che si trova sulla sinistra o quella sulla destra? Grazie al cursore ed alla possibilità di evidenziare gli oggetti… Che è un altro elemento che abbiamo inserito nel sistema di interazione, ovvero la capacità di mettere in evidenza l’oggetto con cui andremo ad interagire. Dicevo, così facendo, quando porterete il cursore su qualcosa, quell’elemento in particolare verrà evidenziato in maniera diversa, per cui ci sarà un feedback aggiuntivo che, in quanto giocatori, vi risulterà estremamente utile per capire quando starete utilizzando il sistema di interazione. È come… Okay, io sono… Questa è la porta che sto guardando, e queste sono le azioni ad essa collegate. Voglio dire, l’intero concetto di base ruota attorno all’idea di fare in modo che tutte le interazioni possibili all’interno del gioco siano estremamente consistenti. Per cui, ad esempio, se volete avvicinarvi ed interagire con un terminale, il sistema di interazione vi permetterà di farlo. Potrete portare il cursore su di esso e premere alcuni pulsanti. Questo meccanismo può essere applicato ad una situazione come quella dei chioschi, dove è molto… Ci sono delle interazioni davvero profonde e complesse, che vi permetteranno di filtrare o ordinare gli oggetti utilizzando diversi pulsanti, oppure potrà essere utilizzato per il pannello di un ascensore, da cui potrete selezionare il primo piano, il secondo e altre interazioni semplici come questa, ma tuttavia non si tratta solo di… Questi esempi riguardano gli schermi, ma potremo utilizzare questo sistema anche per raccogliere gli oggetti sparsi per il mondo, o interagire con un pannello di controllo fisico.

CR: Man mano che abbiamo rimesso mano alle interazioni del sistema di interazione, queste sono rimaste grosso modo le stesse, almeno da un punto di vista teorico. L’idea di base è sempre stata di fare in modo che fosse l’oggetto a determinare in quale maniera sia possibile interagire con lui, assieme al vostro stato attuale. Abbiamo mostrato parte di questo meccanismo con la demo della batteria, che credo vi abbiamo fatto vedere in uno dei video precedenti… Quello in cui potevate prendere in mano la batteria, per poi utilizzare l’interazione contestuale per inserirla nel radar e, ovviamente, manipolare direttamente anche il radar per aprire il pannello e cose del genere, ma dal momento che il vostro stato attuale andrà ad interagire con il mondo di gioco, potrete realizzare queste interazioni più… In maniera più naturale.

RJ: Dunque, il normale meccanismo di funzionamento del sistema è il seguente: l’utente preme e tiene premuto F per entrare nella modalità di interazione. Successivamente, gli viene presentato un cursore che gli permette di scegliere cosa fare. Le possibilità di scelta potrebbero variare a seconda della vicinanza del giocatore a vari oggetti, la loro orientazione relativa e cose del genere, ma il cursore stabilirà quale interazione verrà selezionata e premendo il pulsante sinistro del mouse sarà possibile attivare quell’azione, che verrà seguita da un’animazione di raccolta di qualcosa, oppure di ispezione di un determinato oggetto. Abbiamo anche aggiunto varie sottomodalità differenti: ad esempio, se invece di cliccare con il sinistro cliccherete con il destro, potrete ingrandire su un oggetto per concentrarvi sui singoli dettagli aggiuntivi, così da poter vedere cosa starete facendo con esso. Per cui è il cursore a darci tutta la precisione di cui abbiamo bisogno, ma il risultato finale solitamente porterà ad una qualche tipo di animazione.

CR: Per me era importante che voi foste in grado di interagire con qualsiasi parte dello schermo, e questo per un paio di ragioni. La prima, semplicemente mi piaceva davvero la sensazione comunicata da questo meccanismo, mi ha convinto fin dall’inizio e durante le varie iterazioni del sistema… Ce ne sono state alcune che hanno riscosso più o meno successo, ma in generale sono orgoglioso di quanto abbiamo fatto. Tuttavia, anche le animazioni, la possibilità di guardarsi attorno nel mondo è limitata dalle vostre animazioni, dalla fisicità del vostro personaggio. Per cui se dovrete interagire con qualcosa, per farlo dovrete essere in grado di vedere quel determinato oggetto, e solitamente, i giochi FPS tendono a manipolare tutto attraverso un puntino al centro dello schermo, che è la vostra linea visiva. Tutta la vostra capacità di interazione si riduce ad un puntino al centro dello schermo. Questo vuol dire che se avete intenzione di interagire con qualcosa, per farlo dovrete riuscire a portarlo al centro dello schermo, cosa che non risulta particolarmente complicata nel caso in cui possiate truccare un po’ le animazioni, ma quando si cerca di rimanere fedeli al modello fisico ed a quello che sta davvero accadendo, è importante essere in grado di guardare con i vostri occhi al limite del vostro campo visivo per poter raggiungere tutto quello che potete vedere. Di conseguenza, se ci saranno interazioni che vi permetteranno di mettere da parte qualcosa o di accedere ad elementi situati sopra il vostro sedile, queste possibilità dovrebbero sempre essere realizzabili ed attuabili.

CM: Il meccanismo di funzionamento del sistema di interazione sfrutta quella che chiamiamo una query di prossimità, per cui controlla cosa ci sia attorno al giocatore e nell’area locale per vedere con quali oggetti sia possibile interagire, ma poi utilizza anche i raycast per capire su cosa stia attualmente puntando il cursore, ed utilizzando questi dati il sistema può capire quale sia la stima migliore dell’oggetto che state guardando, quale sia quello a cui stavate guardando in precedenza e quale sia il miglior risultato per l’interazione che si dovrebbe verificare nel caso in cui premiate immediatamente il pulsante correlato. Per cui sostanzialmente questo cursore vi permette di passare in rassegna le opzioni di interazione a voi disponibili.

ZB: Sapete, a seconda di quale tipologia di oggetto o di azione voi stiate per invocare sull’oggetto che state attualmente guardando… Ad esempio, vi compariranno delle tipologie di cursori differenti. Riceverete dei feedback estremamente specifici su … “Okay, questo è un quadrante”, per cui il vostro cursore potrebbe avere una forma simile per indicarvi che potrete ruotarlo, oppure potrebbe essere un cursore su schermo, il quale vi segnalerà che starete guardando un pulsante o cose del genere. Dunque riceverete anche questa sorta di feedback, il quale renderà tutto molto più intuitivo rispetto ad un meccanismo basato su un unico cursore per ogni situazione, senza feedback.

CM: Realizzare questo sistema è stata una grossa sfiga, perché ha richiesto la collaborazione di diversi studi. Qui a LA c’è il team di design, mentre il team ingegneristico principale fa base negli UK ed è supportato dagli studi di LA, e parte del nostro lavoro prevedeva di riuscire a far funzionare questa logica sofisticata utilizzando soltanto le coordinate dello schermo. C’è questo cursore… Capite, la posizione del giocatore. Con questa informazione, come facciamo a capire quale sia la migliore soluzione di interazione nello spazio 3D? Per cui abbiamo dovuto utilizzare un po’ di formule matematiche. Abbiamo dovuto fare un po’ di test, prototipare il sistema e quindi iterarlo per vedere quanto e come funzionasse. L’altro problema riguardava le prestazioni: come è possibile effettuare tutti questi controlli? Come è possibile rendere il sistema intelligente e capace di comprendere cosa vogliamo fare e quale sia il risultato corretto, riuscendo contemporaneamente a rimanere efficiente?

RJ: Il tipo di sfida offerto da questo sistema riguarda il fatto che si tratta di qualcosa che verrà utilizzato in continuazione per ogni genere di oggetto ed in ogni genere di situazione differente. Era necessario conferire al sistema quel livello di rifinitura sufficiente a fare in modo che il tutto sembrasse fluido e confortevole, così che il giocatore non si irriti ogni volta che vuole provare ad utilizzare un oggetto. Inoltre, avevamo bisogno di coprire un’enorme varietà di possibili scenari e situazioni in cui i giocatori si sarebbero potuti trovare, per cui o… Il giocatore è effettivamente in grado di fare quello che vuole con questi oggetti, piuttosto che essere limitato da un sistema come quello precedentemente esistente nel CryEngine, che dal punto di vista delle possibilità di interazione con un oggetto era estremamente piatto. Parliamo di quel genere di situazioni che, ad esempio, si verificano quando si sta cercando di salire su una nave, ma spesso viene offerta soltanto la possibilità di utilizzare qualcosa per entrarvi, piuttosto che essere in grado di aprire la porta, far estendere la scaletta, scegliere se salirla o meno e poi far partire il motore… Questi erano tutti elementi che sentivamo di voler implementare nel gioco, ma all’inizio non avevamo un sistema capace di darci questo livello di controllo, per cui realizzare tutto il necessario per implementare queste modalità di interazione è stato una grossa sfida, ma ci ha anche portato ad un livello di rifinitura sufficientemente elevato da evitare di rendere il tutto frustante o complicato da attuare.

CR: Parte del motivo per cui è stato così difficile assemblare questo sistema è legato al fatto che i vari sistemi del gioco sono stati sviluppati in isolamento per assicurarci che funzionassero correttamente. Capite, a prescindere dal fatto che il gioco non ci fosse ancora. Per cui quando abbiamo… Ora abbiamo i vari pezzi e possiamo assemblarli, consolidarli in qualcosa che sia più robusto e completo. Realizzare tutto questo è stato difficile, perché dovevamo prendere i vari comportamenti specifici di ogni oggetto, che erano stati realizzati su misura per i vari sistemi con cui avrebbero dovuto lavorare, per poi creare un oggetto di interazione generico che potesse sincronizzarsi con un oggetto utilizzabile generico che, a sua volta, doveva sincronizzarsi con un oggetto di animazione generico, e tutti questi elementi dovevano… Dovevano essere generici, perché avremmo dovuto implementarli in tantissimi componenti del gioco.

In aggiunta, c’era poi il fatto che volevamo implementare delle interazioni che dovevano coesistere con un’ampia varietà di situazioni di gameplay. Ad esempio, potreste essere seduti nel vostro sedile a rilassarvi, guardandovi in giro, sfogliando il MobiGlas, oppure potreste trovarvi nel bel mezzo di uno scontro a fuoco… O ancora, potreste essere impegnati in una riparazione frenetica di qualche componente, oppure potreste trovarvi all’interno di un relitto da esplorare. Ci sono tantissime tipologie di esperienze di gioco completamente differenti tra loro che questo sistema deve essere in grado di soddisfare, per cui capire quale fosse l’approccio che ci avrebbe permesso di realizzare questo livello di espressione e sfumature, senza andare ad influenzare troppo negativamente altri sistemi scollegati e lontani da questi ambiti, ha richiesto parecchi tentativi e prove.

Ad esempio, il sistema delle “Mani Afferranti”, che era il nome con cui lo avevamo inizialmente chiamato, ci aveva permesso di esplorare i vari approcci con cui avremmo potuto creare un sistema che avrebbe conferito al giocatore la capacità di trasportare un’enorme varietà di oggetti differenti e le implicazioni legate al fatto di avere qualcosa in proprio possesso, o nel proprio inventario, quando non si dispone di un vero e proprio inventario e, invece, i vari elementi vengono agganciati direttamente sulla propria tuta. Ci ha permesso di capire come sarebbe stato possibile accedere a questi elementi, come li avremmo potuti inserire nel mondo di gioco, come ci saremmo potuti avvicinare a sufficienza a qualcosa da riuscire a prenderlo, per cui molte di queste problematiche riguardavano anche il nostro ultimo sistema di interazione. Che è una sorta di hub di controllo di tutti questi aspetti, come anche dei terminali.

RJ: In questo sistema abbiamo inserito degli spunti molto intelligenti per permettere al giocatore di scegliere in maniera intuitiva quale azione compiere con gli oggetti che si troveranno nelle vicinanze e con cui potrà interagire. Senza questi spunti intelligenti, il sistema sarebbe potuto risultare frustrante: ad esempio, mettiamo che il giocatore stia cercando di interagire con un certo elemento mentre è seduto in una posizione particolare, utilizzando però un meccanismo di gioco non molto intelligente. In questo caso, l’interazione in sé potrebbe richiedere un allineamento specifico tra personaggio ed oggetto, oppure ci potrebbero essere altri elementi vicini che renderebbero complicato andare ad interagire con un certo oggetto. Per cui abbiamo dovuto usare la testa per cercare di capire come fosse possibile individuare con precisione l’oggetto con cui il giocatore vuole realmente interagire.

CM: Ogniqualvolta si interagisce con un elemento del mondo di gioco, il motore sfrutta il sistema Oggetti 2.0 per capire se quel determinato oggetto può essere utilizzato o meno dal giocatore. Per cui se un designer vuole che una porta o un ascensore possa interagire con i personaggi, gli è sufficiente aggiungere una qualche sorta di stringa, un componente di interazione in cui sono definite le regole e le modalità di interazione disponibili. Successivamente, vengono specificati i punti di interazione presenti sull’entità, ovvero i punti in cui verranno mostrate le possibilità di interazione disponibili. Un aspetto che è stato introdotto con il nuovo sistema di interazione è la capacità di interagire con alcune ossa o sottoregioni specifiche di un’entità, mentre in precedenza il vecchio sistema utilizzava dei grossi box di confine che spesso rendevano difficile trovare l’elemento con cui si voleva interagire. Non erano chiari.

CR: Per cui l’aspetto importante di questi componenti generici riguarda il fatto che ci forniscono dei mattoncini costruttivi con realizzare elementi che, invece, sono estremamente specifici. Il problema con questo genere di contenuti è correlato alla necessità di effettuare continue e complicate operazioni di manutenzione, perché ogni volta che si sviluppano nuovi elementi, o cambia la nostra tecnologia, oppure vengono modificate le ambientazioni in cui abbiamo posizionato tali contenuti, perché tutto continui a funzionare…. Bisogna bloccare, rivedere e risincronizzare ogni cosa, per cui quando passiamo in rassegna tali elementi, dobbiamo sempre essere estremamente attenti. Quando invece la logica di funzionamento diventa modulare, separata e generica, allora è possibile sviluppare i vari pezzi in maniera più concettuale. Questo oggetto è pesante, ma può essere sollevato se si usano due mani. E ciò andrà ad influenzare il numero di oggetti che sarà possibile tenere in mano mentre si proverà ad interagire con quell’elemento, influenzerà il risultato finale che otterremo lanciandolo ed andrà ad influenzare anche le collisioni che si avranno con altri oggetti in condizioni di assenza di gravità. Questi sono degli esempi abbastanza banali, ma ampliano significativamente il panorama delle possibili logiche di comportamento specifiche associabili ai contenuti che stiamo realizzando, cosa su cui solitamente si inizia a lavorare soltanto dopo aver definito le basi.

RJ: All’interno del gioco abbiamo utilizzato dei sottosistemi simili, come quello delle zone: ad esempio, le query al sistema delle zone ci permettono di capire quali siano gli oggetti vicini al giocatore con cui lui potrà interagire. Inoltre, abbiamo usato anche una tecnica abbastanza standard, che è quella del ray casting, ed altre cose simile per determinare a quali di questi oggetti avrà accesso il giocatore. Ma davvero, con questo sistema abbiamo aggiunto una nuova e profonda logica di interazione, necessaria ad ottenere le sensazioni ed il livello di complessità che volevamo implementare nel gioco.

CR: Per cui adesso c’è una linea di input che permette di interagire con l’intero gioco, mantenendo al contempo la consistenza dell’esperienza di gioco stessa. Aggiunge tante possibilità entusiasmanti, ci conferisce sostanzialmente l’opportunità di implementare un’avventura punta e clicca all’interno del nostro FPS. Quindi tutta quella varietà di interazioni specifiche che vengono solitamente sviluppate per i giochi di avventura saranno disponibili in qualcosa di molto più sistematico come Star Citizen.

CM: Credo che il più grande cambiamento nell’esperienza dei giocatori sarà il cambio di mentalità legato alla maniera in cui sarà possibile utilizzare questo sistema. Quando usavate il vecchio sistema di interazione, dovevate spesso cercare il pulsante di interazione con gli oggetti e non eravate sicuri di dove avreste potuto trovarlo. Con il nuovo sistema di interazione, invece, passare in rassegna le varie opzioni disponibili sarà molto più facile e fluido e credo che farà una bella differenza, perché se ad esempio vi troverete all’interno di una stanza, vi sarà sufficiente entrare in modalità di interazione e potrete vedere immediatamente quali saranno gli oggetti con cui potrete interagire grazie al sistema di evidenziazione, nonché capire quali saranno le azioni disponibili. Potrete scegliere in base alle opzioni presenti e potrete usare il cursore per guardarvi intorno, vedere cosa ci sarà vicino a voi e quali saranno le varie interazioni possibili per ciascuno oggetto. Per esempio, potreste accendere i motori, oppure disattivare l’alimentazione della nave. Per cui credo che questo sistema offrirà un’esperienza di gioco molto più divertente, ed inoltre non dovrete muovervi così tanto come avveniva con il vecchio sistema di interazione, che spesso vi costringeva a cambiare posizione o a cercare l’allineamento giusto con l’oggetto che volevate usare. Dovrete soltanto spendere un po’ più di tempo a guardare le varie opzioni disponibili. Ed in questo caso, potrete navigare tra le varie possibilità senza dovervi necessariamente spostare. E passare in rassegna tutto quello che potrete fare non vi richiederà chissà quanto tempo o impegno.

CR: Fino ad ora ci siamo concentrati sul consolidare tutte le nostre logiche di comportamento e la tecnologia correlata per metterci in condizione di poter realizzare nuovi elementi semplicemente assemblandoli concettualmente, per poi poter entrare nel dettaglio degli altri aspetti e lasciandoci così la libertà di pensare a nuove idee creative; e questo è soltanto l’inizio.

ZB: Parallelamente ed assieme a questo sistema di interazione, stiamo lavorando anche su una tecnologia che abbiamo definito “Renderizzazione su Texture”. In termini di UI, essa ci permetterà di renderizzare in maniera appropriata la UI all’interno del sistema di rendering. Metterà insieme tutti gli effetti visivi e sembrerà che l’UI faccia davvero parte del mondo di gioco, per cui è un altro elemento che renderà l’interazione con il mondo circostante ancora più realistica ed immersiva: vi farà sentire parte del mondo di gioco. In aggiunta, ci permetterà di proiettare la UI sulle superfici curve, per cui è sicuramente qualcosa che vogliamo implementare in correlazione con l’impostazione sci fi del mondo di gioco. A prescindere dal punto in cui sarà situato il cursore, questa tecnologia vi permetterà di navigare facilmente fino a… Fino al punto in cui si troverà il cursore in termini di UI, per cui se vi troverete su un pulsante situato su una superficie curva, la posizione del vostro cursore sarà… Sarà più semplice da mappare su una superficie curva grazie a questa tecnica di renderizzazione su texture. È un piccolo esempio di tutti i vari componenti che metteremo insieme per fornire un’esperienza di gioco davvero completa.

CM: Vorrei aggiungere a quanto detto finora che questo nuovo sistema di interazione sta per diventare disponibile e che stiamo iniziando ad aggiungervi tutta una serie di cose, ma anche che, per come è fatto, in futuro potremmo teoricamente aggiungervi ancora un mare di altri elementi e tantissimi nuovi componenti. Ogni giorno pensiamo a nuove possibilità con cui sfruttare questo sistema di interazione, pensiamo al fatto che abbiamo utilizzato in gioco altre soluzioni che, forse, potremmo rimpiazzare con questo sistema. Ad esempio, il Sistema di Trasporto Oggetti negli hangar: al momento è grosso modo una cosa a sé stante, ma non dovrebbe essere così… È quasi identico a quello che stiamo facendo con il sistema di interazione, per cui non presenta altri vantaggi. Questa situazione ci fornisce l’opportunità di unificare i vari sistemi e sfruttare i vantaggi apportati dal nuovo sistema di interazione, ma oltre a questo ci sono tantissime nuove cose che potremmo fare, come ad esempio cercare di implementare una porzione più consistente dello HUD delle navi direttamente all’interno di alcune porzioni del sistema di interazione. In questo modo, potremmo ad esempio realizzare uno schermo sui cui saranno riportate le navi presenti nell’area e, selezionandone una, potreste leggere le informazioni correlate, oppure potreste comunicare con quel determinato giocatore. Utilizzando il nuovo sistema di interazione potremmo generare dei nuovi punti e possibilità di interazione. Ciò ci conferirà un elevato livello di flessibilità nel decidere quale logica di comportamento rendere disponibile ai giocatori, con il vantaggio che tutto questo continuerà a ruotare attorno ad un unico sistema. Questo gioco è stato estremamente iterativo e credo che ciò sia uno dei suoi punti di forza, ma il sistema di interazione è sicuramente un ottimo esempio di questo approccio di sviluppo. Abbiamo iniziato con un meccanismo che era già presente nel CryEngine e che di per sé funzionava bene, non è che fosse malfunzionante o altro, ma semplicemente non rispondeva alle nostre necessità. Per cui abbiamo iniziato ad aggiungervi roba ma, nel tempo, ha iniziato a buggarsi, a diventare sempre meno efficiente e continuava a non fare quello di cui avevamo bisogno, per cui non abbiamo smesso di iterare, cambiare, ideare e realizzare nuovi componenti. Adesso ci troviamo in condizione di poter finalmente assemblare il tutto e non vedo l’ora che il sistema arrivi nelle mani dei giocatori, così che possano anche loro iniziare a vedere questi elementi prendere forma.  

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