Unreal Engine 4: gli strumenti, come funziona, cosa cambia

Unreal Engine 4: gli strumenti, come funziona, cosa cambia

Riprendiamo l'analisi delle caratteristiche più importanti di Unreal Engine 4, in modo da poter capire come funziona alla base un motore grafico di ultima generazione con tutte le sue funzioni, gli strumenti e le varie opzioni grafiche.

di Rosario Grasso pubblicato il nel canale Videogames
Epic
 

Gameplay

Per creare nuovi elementi di gameplay bisogna creare delle classi. Ciascuna classe corrisponde a un template, ovvero a un insieme di regole associate al nuovo oggetto. Si posso creare varie copie e varianti di una stessa classe, attivando proprietà e modalità di comportamento comprese nel template.

Unreal Engine 4

Ogni attore e oggetto è da vedere come un'istanza di una classe, che definisce le variabili associate a quell'attore o a quell'oggetto e le funzioni che possono essere svolte da quell'attore. I programmatori possono creare nuove classi con il codice C++ e configurare le loro proprietà e funzioni creando una classe Blueprint.

Naturalmente non possiamo scendere molto in profondità in questo argomento. Ci limitiamo a dire che Unreal Engine 4 usa un framework chiamato GameMode per definire le regole di base del gioco. Per esempio, che in un gioco di guida il giocatore che attraversa per primo il traguardo è il vincitore. Tramite GameMode è gestita anche l'apparizione dei personaggi, che Ue 4 chiama Pawn, all'interno della mappa di gioco. I personaggi controllabili possono essere visti come una sottoclasse di Pawn con funzionalità di movimento incorporate come correre e saltare, mentre i cosiddetti Npc, visti basilarmente anche loro come Pawn, dispongono di funzionalità di movimento meno estese.

Unreal Engine 4

Un Pawn quindi è associato a una serie di movimenti e di logiche di gioco abilitate per esso, e poi anche a un Controller. Questo può fare riferimento a un gamepad nel caso di un gioco per PC o per console o a un display touch nel caso di un dispositivo mobile, ma anche a una serie di regole di intelligenza artificiale. A differenza del secondo, inoltre, il primo tipo di Pawn è associato anche a una camera, la cui posizione può essere configurata liberamente e con precisione agendo nel pannello Details.

Il funzionamento del gioco viene definito tramite tre framework che si integrano fra di loro. GameMode determina le condizioni di vittoria e le regole del gioco. In questo framework si trovano ad esempio le posizioni in cui i personaggi devono apparire o le regole che conducono il giocatore da un livello di gioco all'altro. Tutti questi parametri vengono impostati in una classe che Ue4 riconosce come AGameMode.

GameState invece si riferisce allo stato del gioco, che può includere la lista dei giocatori partecipanti alla sessione di gioco multiplayer, ma anche la posizione degli scacchi sulla scacchiera o la lista delle missioni già completate in un gioco open world. PlayerState, invece, fa riferimento allo stato di un personaggio che si trova all'interno del gioco, come può esserlo quello interpretato dal giocatore o un personaggio gestito da un bot per simulare come si comporterebbe un giocatore umano. All'interno di PlayerState si trovano informazioni sul livello di esperienza del personaggio, il suo nome e il suo punteggio, o informazioni sul fatto che è in possesso o meno della bandiera nella classica modalità Capture the Flag.

Unreal Engine 4

Nella documentazione di Unreal Engine 4 si trova un diagramma che illustra come queste classi alla base del gameplay intrattengono rapporti tra di loro. Ogni sessione di gioco è gestita tramite GameMode e GameState, mentre tutti i giocatori umani che ne fanno parte sono associati a PlayerControllers, che consentono ai giocatori di prendere possesso di un Pawn presente nel livello di gioco e di avere quindi una rappresentazione fisica all'interno di esso. I PlayerControllers mettono poi a disposizione dei giocatori degli input per interagire con l'azione di gioco e un HUD per monitoare lo stato del proprio personaggio all'interno di gioco.

Altri dettagli sulla programmazione con Unreal Engine 4 si trovano qui.

 
^