È possibile riuscire a generare interesse per un motore grafico (di fatto già a disposizione dal lancio di PlayStation 4) sfruttando qualche tweet, mostrando un paio di loghi in coda ad un trailer e spendendo qualche parola durante un evento come il PlayStation Experience?

Sì, quando c’è di mezzo un Hideo Kojima in un’inedita veste di “scapolo d’oro” dell’industria videoludica (ma procediamo con ordine).

Poco più di un anno fa Hideo Kojima è tornato ad essere “un uomo libero”, videoludicamente parlando. Esauriti gli obblighi contrattuali che ancora lo legavano a Konami il game designer nipponico è ufficialmente libero di accasarsi.

La scelta, come sappiamo, ricade in dicembre su Sony Interactive Entertainment, scelta come partner per la prossima creatura di Kojima Production (il criptico Death Stranding) perché, stando alle dichiarazioni del papà di Metal Gear, i legami già costruiti con il colosso giapponese in precedenza permettono di accorciare i tempi di sviluppo.

hideo-kojima
Una ne pensa, cento ne fa.

C’è però un problema di fondo, visto che lasciando Konami Kojima ha dovuto anche lasciare il suo ultimo “figlioccio tecnologico”, quel FOX Engine sviluppato dalla stessa Kojima Production e battezzato con un nome che inequivocabilmente richiama il franchise Metal Gear.

E senza troppi giri di parole, niente motore grafico vuol dire fondamentalmente niente videogiochi.

Nessuna delle parti in causa però ha intenzione di perdere tempo, e già qualche settimana dopo l’annuncio ufficiale della collaborazione tra Sony e Kojima Production il designer è “on the road” alla ricerca dell’engine con cui andare a rendere Death Stranding realtà.

Un vero e proprio Tech-Tour attraverso i Worldwide Studios di Sony, accompagnato in questa “quest” da Mark Cerny, lead architect di PlayStation 4 e figura chiave del mondo PlayStation.

Dopotutto Konami lo voleva in mezzo a una strada.

Kojima ha smosso mari e monti.
Kojima ha smosso mari e monti.

È, immaginiamo, a questo punto che la figura di Cerny diventa una sorta di jolly capace di dare un senso pratico a tutte quelle dichiarazioni al miele spese da Kojima nei confronti di Sony (e quindi di giustificare il risparmio di tempo dal punto di vista dello sviluppo di Death Stranding).

Cerny infatti non solo, in qualità di “capo progetto” di PlayStation 4, ne conosce l’hardware a basso livello, ma grazie al suo background ha anche una visione chiara di quello che è lo sviluppo dal punto di vista software e del “processo creativo” dietro la creazione di un videogioco, avendo ricoperto in diversi momenti della sua carriera il ruolo di programmatore, Designer e Director, oltre che di Produttore Esecutivo.

Se si aggiunge all’aver lavorato più o meno a contatto con diverse Proprietà Intellettuali legate al mondo PlayStation (Crash Bandicoot, Spyro, e Knack, tra le altre) anche un’idea abbastanza chiara di come i Worldwide Studios sono strutturati, quantomeno nelle loro figure chiave, ecco che Mark Cerny diventa il proverbiale uomo giusto al momento giusto, lo scudiero più adatto ad una missione di questo tipo.

A Kojima infatti non basta assistere a qualche presentazione e poi, come un bambino in un negozio di caramelle, puntare il dito e scegliere il motore grafico: con l’engine prescelto bisognerà lavorare e riuscire a rendere concreta la visione che c’è dietro Death Stranding, senza che la scelta nasconda o alteri la personalità del prodotto facendolo risultare troppo simile ad altri giochi sviluppati con la stessa tecnologia.

Se Kojima vuole, Kojima ottiene.
Se Kojima vuole, Kojima ottiene.

Un’impresa non così tanto facile, soprattutto perché se c’è una cosa che gli studi interni di Sony sanno fare è sfruttare l’hardware.

Lo abbiamo visto nelle passate generazioni con la saga God of War di Santa Monica, ma anche con il lavoro di Naughty Dog dietro ad Uncharted e a The Last of Us, che praticamente ad ogni uscita sono diventati il benchmark grafico delle potenzialità di PlayStation 3 prima e PlayStation 4 poi.

Ma da questo punto di vista non si può dimenticare nemmeno il contributo di Sucker Punch che, a pochi mesi dall’uscita di PS4, ha rilasciato sul mercato un prodotto come inFamous: Second Son capace di unire una componente visiva impressionante (ed un frame rate praticamente solidissimo, tanto da richiedere con una patch postuma l’inserimento di un’opzione che lo bloccasse a 30 fotogrammi al secondo per impedire picchi più alti) ad un contesto open world.

Eppure alla fine la scelta ricade su una quasi insospettabile Cenerentola.

Già dallo slogan sono evidenti le affinità tra le parti...
Già dallo slogan sono evidenti le affinità tra le parti...

Decima è il nome di un'isola utilizzata per gli scambi tra Giappone e Olanda.

La scintilla scatta ad Amsterdam, negli studi di Guerrilla Games, lo studio che ha attirato l’attenzione dei giocatori PlayStation (e forse anche non) con l’annuncio dell’interessante Horizon: Zero Dawn.

Ma a ben guardare, dal punto di vista tecnologico, Guerrilla è un cavallo che ha ben poco da invidiare alle altre “teste di serie” dell’ecosistema firmato Sony: i capitoli per home-console di Killzone, la serie principale dello studio, si sono sempre difesi alla grande su PlayStation 3 e si sono sempre distinti dal punto di vista della realizzazione tecnica.

Ma è in particolare l’ultimo capitolo principale della saga, Killzone: Shadow Fall ad essere d’interesse per questo articolo.

Da qui tutto ha inizio.
Da qui tutto ha inizio.

Il motore utilizzato per Horizon è infatti una versione riveduta e corretta di quello che muoveva il titolo rilasciato il 29 novembre, in concomitanza con il lancio di PlayStation 4.

E in questa occasione Guerrilla, mettendo da parte gli aspetti “ludici” e concentrandosi sui risultati ottenuti a schermo dal punto di vista della risoluzione e del frame rate, aveva apparentemente raggiunto la fantomatica accoppiata 1080p e 60 (circa) immagini al secondo tanto invocata dai giocatori. Non senza ricorrere ad un trucchetto che (come vedremo tra poco) costerà al team una class-action.

L’oggetto del contendere è una dichiarazione di Sony che voleva Shadow Fall in grado di girare a 1080p nativi anche durante le modalità multigiocatore del titolo. L’immagine però nella pratica viene ottenuta ricorrendo ad una tecnica che Guerrilla ha ribattezzato Riproiezione Temporale, dove fondamentalmente ogni frame viene originariamente generato ad una risoluzione 960x1080 (laddove i 1080p “canonici” corrispondono ad una risoluzione 1920x1080).

Praticamente, se si osservasse il frame così come viene generato (senza il lavoro di elaborazione fatto agli step successivi), questo equivarrebbe a metà del fotogramma poi restituito allo schermo.

Per ottenere l’informazione che manca Guerrilla utilizza i due frame precedenti e costruisce, per ogni pixel, il suo “vettore di movimento”, che viene utilizzato per predire la posizione del pixel nell’immagine che andrà poi a finire sullo schermo. La maggior parte dei pixel è facilmente prevedibile, per cui il risultato finale si avvicina parecchio a quello dei 1080p propriamente detti.

5
Un buon risultato che nascondeva un trucchetto.

La dichiarazione incriminata

Nel caso la posizione corrente non possa essere predetta con precisione, l’algoritmo dietro la tecnica prevede che venga scelto il valore più adatto tra quelli vicini.

Sostanzialmente in queste zone l’immagine risulta essere più sfocata, oppure possono formarsi delle sottili linee orizzontali che spariscono comunque al successivo refresh dell’immagine.

Per migliorare l’anti-aliasing (il fenomeno di “scalettatura” quando viene mostrata un’immagine di risoluzione più bassa ad una risoluzione maggiore) viene mantenuto in memoria anche il “frame-risultato” del passo precedente, in modo da rendere l’immagine il più pulita possibile.

Un risultato ottenuto con una tecnica del genere può essere considerato a 1080p “nativi”? La posizione di Guerrilla è chiara: la dicitura “nativa” si utilizza per indicare risoluzioni non scalate, ovvero per tutte quelle tecniche che non generano immagini a risoluzioni più basse e poi “adattano” il risultato cercando di raggiungere risoluzioni più alte.

Da questo punto di vista, la Riproiezione Temporale sarebbe da considerare nativa, in quanto non esegue nessuna operazione di questo tipo (cui in gergo ci si riferisce come upscale) ma “approssima” la posizione di ogni pixel sulla base dello storico dei frame precedenti.

Decima Engine.
Decima.

Un programmatore è un mago che non ci ha creduto abbastanza

Riportando le parole del team, però, se per “nativo” si intende che ogni parte del processo coinvolge immagini 1920x1080, allora la tecnica non è da considerare nativa.

Da qui, in pratica, nasce l’accusa di pubblicità ingannevole e la class-action ai danni di Sony, che si andrà poi a risolvere con un nulla di fatto: secondo il giudice chiamato a dover diramare la questione, infatti, la causa non aveva ragione di esistere ed è stata per tanto respinta, lasciando ciascuna delle parti ad affrontare le rispettive spese per seguire la vicenda.

Non ci è dato sapere se a far pendere l’ago della decisione di Hideo Kojima sull’engine che verrà poi battezzato Decima per l’occasione siano stati “trucchi” di questo tipo o meno. Quello che è indubbio è che però, già in tempi non sospetti, Guerrilla aveva dimostrato di saper sfruttare più che egregiamente un hardware che all’epoca era ancora agli esordi.

A tre anni di distanza e dopo aver modificato quello stesso codice per adattarlo ad un contesto open-world (potendo peraltro pensare tutta la produzione con un “tetto” di 30 fotogrammi al secondo) Horizon, per quanto ci è stato possibile vedere fino a questo momento, ha ad ogni modo tutti i connotati di un perfetto biglietto da visita per convincere uno studio esterno ad affidarsi alle mani di Guerrilla.

Non è un caso infatti che la collaborazione tra lo studio di Amsterdam e Kojima Production si sia evoluta andando oltre le previsioni. In origine Guerrilla (stando alle parole dei coinvolti, senza nemmeno far firmare qualcosa a Hideo Kojima) voleva semplicemente “donare” la tecnologia a sua disposizione allo studio giapponese, lasciando poi il team lavorare in modo indipendente.

Per l’occasione era stata anche confezionata una chiavetta USB con il codice sorgente di quello che sarebbe stato poi battezzato Decima, da consegnare a Kojima durante una sorta di cerimonia ufficiosa.

horizon-zero-dawn
Un bel biglietto da visita.

Dopo qualche chiacchiera e di nuovo grazie al ruolo di jolly di Mark Cerny, il risultato finale è stato qualcosa di decisamente inedito all’interno dell’industria: una collaborazione tecnologica dove tutti e due gli sviluppatori mettono mano al codice sorgente dell’engine, in modo che entrambi possano beneficiare dei progressi ottenuti su questo fronte dalle “teste” che lavorano dietro la tecnologia.

Allo stesso tempo è anche un atto di fiducia, visto che di fatto da una parte diventa più difficile stabilire chi è l’autore delle varie modifiche e dall’altra può capitare che il codice che viene aggiornato o sostituito per un progetto crei dei problemi all’altro.

È anche per questo, probabilmente, che una divisione di Kojima Production è stata stanziata negli uffici di Amsterdam di Guerrilla, in modo da avere contatti più diretti e non troppo influenzati dalla distanza (geografica, ma anche culturale visto che si tratta di uno studio europeo che collabora con una software house giapponese), certificando un lavoro di collaborazione che nelle intenzioni delle due società ha come fine ultimo l’arricchimento tecnologico di entrambe.

Una manovra del genere farà davvero bene all’industria e ai prodotti coinvolti? Con Horizon previsto per l’uscita il prossimo marzo l’occasione per toccare davvero con mano il risultato di questa collaborazione inevitabilmente slitta in avanti.

In ogni caso, stando alle parole di Kojima su Twitter ,mentre stava cercando di arrivare sulla Luna ha incontrato Guerrilla che pianificava di andare su Marte. Assieme, le due case possono puntare anche oltre e arrivare su Giove: i prossimi progetti ci diranno se sarà un successo come la missione Apollo 11 oppure se i giocatori riceveranno il temuto messaggio “Houston, Abbiamo un problema”.

[wp_ad_camp_1]