E3 2012

Speciale Unreal Engine 4

Abbiamo assistito alla presentazione ufficiale dell'Unreal Engine 4, il motore 3D della next generation

speciale Unreal Engine 4
Articolo a cura di
Francesco Fossetti Francesco Fossetti scrive di videogiochi -fra una cosa e l'altra- da più di dieci anni, e non ha ancora perso la voglia di esplorare il mercato con vorace curiosità. Ammira lo sviluppo indie e lo sperimentalismo, divora volentieri tutto il resto. Lo trovate su Facebook, su Twitter e su Google Plus.

In occasione della scorsa GDC, Epic Games aveva mostrato a porte chiuse una demo della nuova versione dell'Unreal Engine. Mentre investitori e possibili partner avevano potuto dare un'occhiata ravvicinata alle inedite funzionalità del motore grafico, noi della stampa ci eravamo accontentati di scoprire le gioie dell'UDK e della politica di commercializzazione che un'azienda attenta e vitale come Epic ha abbracciato da un po'.
Qualche mese dopo, in una piccola meeting room dell'E3, l'Unreal Engine 4 si è svelato anche ai giornalisti, lasciando di stucco la platea con un colpo d'occhio davvero avveniristico. E qui non c'è Angi's Philosophy che tenga: il nuovo motore di Epic è semplicemente incredibile per qualità del rendering e dinamismo dei tool di creazione e modifica in tempo reale.
La breve "demo scene" allestita per presentare UE4 è intitolata Elemental. Proprio come Samaritan si tratta di una scena realizzata appositamente con finalità dimostrative, e dunque non legata ad un prodotto in sviluppo presso gli studi di Epic (nonostante Mark Rein abbia confermato che alcuni team sono al lavoro per creare software che utilizzi il nuovo motore).

I Video delle tech demo

Al seguente indirizzo trovate disponibili tutti i video delle tech demo rilasciate da Epic Game, tra cui la gestione dell'illuminazione, gli effetti particellari, la gestione del terreno e dei fluidi: link

Elemental, inizia la demo. Inizia la Next Gen.

"Elemental" comincia presentandoci antiche rovine posizionate sul picco di una montagna innevata. Fra ghiacciai e stalattiti si ergono colonnati che hanno conosciuto giorni migliori, relitto di una potenza bellica che doveva estendersi su tutta la valle, e che adesso viene spazzata costantemente da un vento gelido e impietoso. Ma qualcosa nelle viscere della terra si muove. La telecamera indugia sull'immenso portone che un tempo doveva essere l'ingresso della fortezza, e poi insiste fra le crepe dei muri fino a penetrare nella struttura, scavata in una nicchia di roccia naturale. C'è un trono di roccia, al centro dell'androne, dove siede quella che sembra una statua immobile, consumata dal tempo. D'improvviso la terra trema, sussulta, s'incendia. Dalle crepe che si aprono al suolo fuoriesce un rivolo di lava. La superficie incandescente emette una luce calda, che s'infrange sulle lastre scure dell'enorme armatura. Il calore pervade questo essere dormiente, e sale lungo nervature invisibili.

Si muovono i piedi le mani, staccandosi dalle concrezioni rocciose vecchie di secoli, in una nuvola di lapilli. Le colonne non reggono alle scosse, si frantumano, mentre grossi lastroni di ghiaccio si staccano dal soffitto e rovinano al suolo, fracassandosi in mille pezzi.
Lo spettacolo è allucinante. La qualità della texturizzazione è semplicemente impeccabile: un tripudio di Parallax Mapping (un effetto che è diretta evoluzione del bump mapping, capace di un maggiore realismo quando si vogliono generare, tramite texture, dettagli poligonali ed effetti profondità come le pieghe di un vestito, o le fessure tra i mattoni di un muro) valorizza ogni superficie, mentre gli algoritmi di Tessellation (è la capacità dell' engine 3D di selezionare e suddividere ulteriormente i poligoni di un oggetto, aggiungendo dettaglio poligonale laddove necessario) riproducono i modelli dei personaggi con dettagli mai visti prima. Oltre che sul fronte della distruttibilità ambientale, la gestione delle fonti di luce e dei materiali viscosi è incredibile. La lava avanza lentamente, inghiottendo ogni cosa, e trascinando i residui della crosta grigia che si forma in superficie.
L'enorme creatura si muove ora esibendo la sua piena potenza, impugnando un enorme martello che ammorba l'aria con una scia di particelle incandescenti. La telecamera corre oltre le sue spalle, fugge fuori dalle mura, inquadrando una smisurata distesa di monti innevati. Si volta di scatto, per immortalare in un attimo lo spettacolo di un vulcano in piena eruzione. La coltre spessa di fumo oscura il sole, ed al suo interno respirano gli aliti accesi di lingue di fuoco. L'ombra nera si proietta su tutta la valle, scossa dal vento e dai gorghi dell'aria. E lo spirito del fuoco, arrivato ormai al margine del suo maniero, solleva il martello. E' uno sciame irrequieto di scintille e lapilli.

Un colpo secco, e nulla più.
Sullo schermo, solo un logo: Unreal Engine 4. Applausi.

Le nuove caratteristiche tecniche dell'Unreal Engine 4

Se siete fra quelli che ancora desiderano vedere un videogioco basato sulla demo di Samaritan, probabilmente vi strapperete i capelli dopo aver dato un'occhiata a Elemental. Ma al di là dello stupore per la breve demo, quello che veramente lascia basiti è la quantità di variabili che l'Unreal Engine 4 riesce a gestire sul fronte dell'illuminazione e degli effetti particellari, proponendo un editor dalla malleabilità francamente impensabile, che permette di modificare in tempo reale ogni aspetto delle proprie creazioni.
Dopo l'intima proiezione di Elemental i ragazzi di Epic ci conducono passo passo in un tour guidato che ci presenta le nuove introduzioni.
Prima di tutto, Unreal Engine 4 gestisce in tempo reale gli algoritmi di Global Illumination. Ogni elemento dello scenario riflette la luce che lo colpisce direttamente, trasformandosi di fatto in una fonte d'illuminazione secondaria. I cromatismi principali delle texture di queste superfici determinano il colore della luce diffusa, per una resa davvero realistica. Il sistema di "Deferred Decals" (sostanzialmente una texturizzazione a strati) permette di sovrapporre ad ogni modello vari strati di texture in modo da creare superfici incredibilmente complesse.
Un'altra introduzione riguarda le cosiddette "superfici emissive". Sostanzialmente è possibile fare in modo che un'intera superficie sia una fonte di luce dalla forma non convezionale (di solito la forma delle luci è una sfera perfetta), atte a simulare ad esempio quei materiali incandescenti che emettono una radiazione luminosa, come metalli incandescenti o il materiale ferroso delle lampadine.
Una delle linee di tendenza dei nuovi software grafici sembra proprio quella di lavorare diffusamente sulla simulazione realistica delle fonti luminose, ma l'Unreal Engine 4 vuole andare oltre. Da una parte l'HDR è stato rivisto rispetto all'Unreal Engine 3 per simulare ancora più fedelmente la caduta della luce e le diverse atmosfere che l'ambiente di gioco può assumere a seconda della palette dei colori scelta. Dall'altro viene migliorato l'effetto sulla visione al passaggio da una zona illuminata ad una completamente buia, per un risultato decisamente convincente ed immersivo. Il team ha implementato inoltre un nuovo sistema di Lens Flare dinamico (per la gioia di tutti i game designer che vorranno imitare l'artisticità di JJ Abrams che ne ha abusato in film come Super 8) che tiene conto del posizionamento dell'osservatore e degli oggetti a schermo per visualizzare nei momenti più opportuni i "riverberi" laterali della luce. Vi ricordiamo che le Lens Flare sono un'aberrazione che si verifica a causa delle interiflessioni che modificano l'aspetto della luce quando questa attraversa i vari elementi che compongono l'ottica delle telecamere e delle videocamere.
Ancora più stupefacente è la gestione delle particelle: il numero di elementi che l'UE4 riesce a gestire a schermo contemporaneamente ha del miracoloso, soprattutto perché sia il pulviscolo che eventuali elementi di dimensioni leggermente più cospicue interagiscono con le fonti luminose, celandosi allo sguardo nel caso non siano illuminate direttamente, e poi comparendo all'improvviso quando un fascio di luce attraversa l'aria.
Nell'Unreal Engine 4 sarà possibile inserire addirittura "sorgenti di particelle", che si lasceranno attorno un alone quasi melmoso di scintille fluorescenti. Per ognuna di queste sorgenti sarà possibile definire routine fisicamente corrette che vadano a simulare le particelle in modo più realistico il comportamento dei fluidi gassosi, come il fumo di sigaretta, o il fuoco che esce da un camino. Splendida la possibilità di queste sorgenti di generare interferenze distruttive e costruttive: entrando in contatto, due sorgenti potrebbero in qualche modo annullarsi, oppure "mescolarsi" per cambiare il colore delle scintille generate. Anche l'ombra proiettata dal fumo volumetrico ha dell'incredibile: modificando i parametri di densità e traslucenza (il parametro che definisce quanta luce attraversa un materiale non completamente opaco ne completamente trasparente) è possibile ottenere un risultato realistico.
Il fumo stesso può "colorarsi" se una sorgente luminosa viene posizionata al suo interno. Oltre a tutto questo va sottolineata la presenza di routine di distruzione degli oggetti che ci sono sembrate molto simili al sistema "fracture" presentato da Nvidia qualche mese fa, ma su cui Epic non ha voluto insistere.

Nuovi strumenti per i Game Developer

La seconda parte della presentazione si è infatti focalizzata sul dinamismo del kit di sviluppo dell'Unreal Engine 4, che permette praticamente di "giocare" le proprie creazioni e modificarle in real time (una feature da tempo presente nel concorrente "CryEngine 3"). In qualsiasi momento è possibile letteralmente entrare negli ambienti appena costruiti, per controllare come il personaggio interagisce con essi. Tornare all'editor puro tenendo in memoria l'ultima posizione del personaggio generato per l'occasione è questione di attimi. Impressionante anche la possibilità di far eseguire al motore la sostituzione di intere stringhe di codice mentre si continua a "giocherellare" con il kit. Dopo aver cambiato qualche parametro non si deve aspettare che l'UE4 controlli e ricompili il codice: l'operazione verrà eseguita in "background", e gli sviluppatori potranno continuare a spostare e modificare oggetti. Un sistema di scripting a nodi con un'interfaccia molto semplificata (con cui il team aveva costruito uno strano planetario semovente) si sposa con la possibilità di strutturare a proprio piacimento la gerarchia di finestre: strumenti che i team di sviluppo gradiranno sicuramente, ma che sarebbe francamente poco opportuno trattare approfonditamente in questa sede. In ogni caso il kit di sviluppo dovrà essere rilasciato a breve, e Epic ha già confermato che al lavoro sul motore ci sono vecchi e nuovi partner, pronti ad invadere, semmai, la prossima generazione di software con un mare di titoli "Unreal Engine Based".

Unreal Engine 4 Elemental è una demo tecnicamente impressionante, ma ancora più impressionante è stato vedere quello che c'è sotto. Le nuove tecnologie implementate da Epic nel suo Unreal sono semplicemente fantastiche. Il team pare essersi focalizzato soprattutto sulla gestione delle fonti di luce e delle particelle, non dimenticando un evidente incremento prestazionale sul fronte della resa delle texture e della distruttibilità ambientale. Il risultato è ormai sotto gli occhi di tutti. Ad onore del vero alcune delle novità di questo Unreal Engine 4 erano già presenti nel CryEngine 3 da qualche tempo. Parliamo sia della simulazione del ciclo giorno/notte che della global illumination,così come gli effetti della tessellation o le qualità dell'editor che da oltre un anno disponeva della funzionalità "create and play", crea e gioca. Quello che cambia ed è superiore in modo decisivo è la qualità della caduta e riflessione della luce diffusa, così come superiori sono il sistema particellare ed la gestione più avanzata degli shader. Anche il sistema di lens flare dinamico è unico nel suo genere, sebbene non sarà così impattante rispetto ad altre caratteristiche. Per gli sviluppatori la vera rivoluzione sarà l'editor che permette di cambiare i parametri di gioco senza toccare una riga di codice in c++ . Il kit di sviluppo si presenta quindi con un dinamismo persino superiore a quello del CryEngine 3. UE 4 potrebbe insomma convincere anche i team più reticenti.