Unreal Engine è il motore grafico creato da Epic Games, con cui sono stati realizzati giochi di straordinario successo, come Fortnite. Il motore è chiaramente pensato per il 3D (sebbene esistano dei plugin che lo rendono versatile anche per il 2D) e, con uno sforzo relativamente esiguo, si possono costruire livelli graficamente analoghi a quelli dei giochi più famosi. L’obiettivo di questa guida è permettere al lettore di raggiungere questo risultato.
La scena e il menu
Quella che vediamo al centro dell’interfaccia è la scena. Se avete seguito anche i nostri corsi di Unity e Autodesk Maya, saprete che questo è il centro dell’universo del software, ossia il luogo in cui vengono posizionati tutti gli elementi, in forma statica. Anche in questo caso bisogna apprendere la differenza tra Play Mode e Game Mode.
Nella tab sopra la Scena troviamo infatti il tasto Play: una volta attivato, questo ci permette di far girare il gioco, per cui tutti i parametri che abbiamo impostato mostreranno il loro effettivo funzionamento. Per esempio, se abbiamo impostato un personaggio che spara controllato tramite joypad, nella Play Mode potremo controllarlo e sparare.
A fianco di Play, troviamo Build, che per il momento possiamo vedere anche solo sommariamente. In sostanza, serve a compilare il gioco, ossia rendere il suo codice comprensibile agli occhi del computer. “Buildare”, come si dice in gergo, permette anche di calcolare l’illuminazione, per cui se abbiamo fatto delle modifiche alle luci all’interno dell’engine, per visualizzarle e renderle effettive dovremo prima cliccare su Build.
Per salvare dobbiamo recarci anche in questo caso nella barra superiore, dove troviamo il tasto File, Save Current As, che ci permette di salvare il livello corrente o tutti quelli aperti. Attenzione, però, perché il salvataggio si limita al progetto di Unreal, per cui l’output che otteniamo non sarà giocabile al di fuori del motore. Per avere un eseguibile bisogna invece cliccare su Package Project, e selezionare una piattaforma, scegliendo tra console (Xbox One, PlayStation 4, ecc.) o mobile (iOS, Android). Naturalmente non basta un click per rendere un gioco automaticamente disponibile per ogni piattaforma, in quanto ognuna di queste richiede una licenza e specifiche di produzione e ottimizzazione particolari. Nei livelli più avanzati della guida ci preoccuperemo di questo aspetto.
Come scegliere e posizionare gli attori
A sinistra dell’interfaccia troviamo la scheda Modes. Qui si trovano tutti gli oggetti prefabbricati che possiamo inserire all’interno della scena. L’unità basilare che possiamo piazzare nel livello è l’Empty Actor, sostanzialmente un oggetto privo di proprietà che si presenta sotto forma di sfera, e che possiamo definire a nostro piacimento. Nella scheda Modes troviamo oggetti molto più avanzati, che spaziano da elementi geometrici fino ad arrivare a effetti volumetrici, come la nebbia, con cui possiamo dare atmosfera al nostro livello. Per inserirli è sufficiente cliccare sulla loro icona e trascinarli all’interno della zona del livello in cui desideriamo farli comparire.
Creare un personaggio e farlo muovere nella scena
Sicuramente l’Actor più importante è l’Empty Character, ossia il personaggio principale che viene controllato dal giocatore (il classico Master Chief o Marcus Fenix, per fare un esempio). Un Character di base può essere controllato tramite joypad con controlli standard; può camminare, saltare e nuotare, ma tramite menu e codice possiamo estendere le sue funzionalità. Possiamo ottenere lo stesso risultato anche con le Blueprint, il sistema di programmazione visivo che tuttavia vedremo nel dettaglio più avanti nella guida. Il modo più semplice per avere un personaggio, tuttavia, è semplicemente cliccando su New Project e selezionando First Person Shooter: questo ci permetterà di avere tutti gli elementi basilari per creare uno sparatutto in prima persona, incluso il personaggio e le sue proprietà.
Banalmente, cambiando un semplice parametro nella scheda a destra chiamata Details (che si apre cliccando sull’Actor) possiamo far saltare più in alto un personaggio, o farlo correre più veloce in seguito a un input, come potrebbe essere un power-up. Possiamo ovviamente anche cambiare il modello 3D del Character Controller, ossia la mesh, e farlo diventare il tipo di personaggio che preferiamo (un soldato, una ragazza guerriera, un personaggio cartoon, ecc.)
Sotto all’Empty Character troviamo l’Empty Pawn. Un Pawn è un’entità diversa dal protagonista, ma posizionata all’interno della scena. L’esempio più comune di Pawn è ovviamente il nemico: in questo caso dovremo assegnare un comportamento attraverso Blueprint, partendo da istruzioni molto basilari come “quando vedi il protagonista, sparagli addosso”. Questa simulazione di intelligenza artificiale può essere estesa a piacimento, fino a creare comportamenti estremamente complessi. Avremo modo di approfondire più avanti la creazione di un nemico.
Nel menu Mode troviamo anche un’icona con una montagna: si tratta di uno strumento con cui possiamo costruire una semplice area naturale con un sistema di sculpting e pittura del terreno. Grazie a questo strumento si possono avere risultati visivamente eccellenti senza bisogno di passare per un software di modellazione 3D e risparmiando quindi tempo prezioso. Migliorando il nostro livello nelle successive lezioni, avremo modo di esaminare queste funzioni.