Come ricreare un sistema di parkour in Unreal Engine? Titoli come Assassin’s Creed hanno fatto di questa disciplina, e del climbing in generale, una vera e propria arte, stuzzicando la fantasia e la creatività di tanti sviluppatori e aspiranti tali.
Alessandro Dottore Stagna, studente AIV del terzo anno di Video Game Programming è uno di loro e nel suo tempo libero ha deciso di lavorare ad un suo progetto personale ottenendo risultati davvero notevoli.
Ma non vogliamo spoilerare niente. Abbiamo pensato di fare direttamente a lui qualche domanda per saperne di più.
D. Ciao Alessandro e grazie del tuo tempo. Come abbiamo detto in apertura, questo sistema di parkour ad Assassin’s Creed. Puoi dirci qualcosa in più?
Mio zio era appassionato di Assassin’s Creed e in generale dei videogiochi, ho provato ad omaggiarlo con questo progetto. E’ stata una sfida con me stesso data la situazione, pero’ sono contento di averlo fatto, così ho potuto ricordarlo sotto un’altra veste e fare un ultimo progetto insieme.
D. Durante il tuo percorso in AIV hai studiato qualcosa in particolare che ha stimolato la tua curiosità e la tua voglia di approfondire?
Durante il secondo anno abbiamo approcciato al mondo di Unreal Engine e tra le tante cose quando si e’ parlato in generale delle animazioni ho voluto approfondire. Così nel tempo libero ho iniziato a fare ricerche e guardare qualche video in giro finché non mi sono appassionato del tutto e ho cominciato a fare dei mini progetti per cercare di studiarle al meglio.
D. Abbiamo specificato che sei uno studente del corso di Video Game Programming, come mai allora ti sei occupato delle animazioni?
Le animazioni mi hanno sempre affascinato, infatti un domani spero di ricoprire il ruolo di Animation Programmer.
Uno degli aspetti di questo campo consiste proprio nell’adattare le animazioni fatte dagli animatori, al mondo che si andra’ a sviluppare.
In questo caso specifico, ad esempio è necessario fare i dovuti controlli sulle animazioni per permettere al giocatore di muoversi all’interno del mondo compiendo determinate azioni – come in questo caso il parkour. Sarà quindi necessario fare calcoli per adattare ad esempio la posa delle mani o dei piedi nei punti corretti, oppure determinare lo spazio di esecuzione dell’animazione. Tutti questi calcoli e queste operazioni sono necessarie per rendere i movimenti il più verosimili possibile.
D. Quindi è importante per te sapere anche come lavorano altri reparti per la produzione di degli asset?
Per noi programmatori e’ essenziale la conoscenza base di come lavorano gli altri reparti, perche’ per lo sviluppo finale del prodotto saremo noi a dover mettere insieme tutti gli assets fatti e farli funzionare al meglio sia per la qualita’ stessa del prodotto che delle sue performance.
D Al netto delle ore di lezione e di studio, quanto tempo più o meno hai dedicato a questo progetto?
Ho dedicato circa due/tre settimane a questo progetto, cercando di gestire al meglio il tempo a disposizione per le lezioni,progetti scolastici e altri progetti da intraprendere per mettersi costantemente alla prova.
D. Quali sono state, se ci sono state, le difficoltà maggiori che hai dovuto affrontare?
Difficoltà ci sono state per lo più in ambito tecnico e soprattutto nello scegliere quali animazioni applicare in determinate circostanze.
Come programmatore mi trovo a dover procedere per priorità nella scelta delle animazioni da far compiere al personaggio una volta dato un comando. Ad esempio per superare un certo ostacolo in una determinata posizione con determinate caratteristiche,è il programmatore a dover fare dei calcoli e quindi scegliere come superarlo.
In molti giochi attualmente in circolazione è il giocatore a poter scegliere una combinazione particolare di tasti per compiere questo tipo di azioni.
Invece, tornando all’esempio di Assassin’s Creed a cui mi sono ispirato, il sistema di parkour è automatico e quindi anche in quel caso sono tutti movimenti e quindi animazioni, che vengono prestabilite a livello di programmazione.
D. Qual era il tuo obiettivo? Sei soddisfatto dei tuoi risultati o vuoi continuare a lavorare a questo progetto?
L’obiettivo era imparare come strutturare un sistema base di parkour e sono abbastanza soddisfatto, anche se si puo’ fare sempre di piu’. Continuero’ a lavorarci su, ma non specificatamente su questo progetto. Il mio obiettivo e’ quello di specializzarmi in Animation Programmer e per farlo dovro’ esercitarmi e mettermi alla prova con tasks nuove e sempre piu’ complesse.
D. Ad esempio a cosa vorresti dedicarti ora?
Vorrei dedicarmi anche ad altri tipi di animazioni, non solo quelle parkour, e in generale su tutti quei progetti che mi permettano di sperimentare quante più cose possibili.
D. Parlando invece del tuo percorso, la programmazione è stata sempre la tua passione? Hai avuto dubbi nello scegliere il corso giusto per te?
Prima di iscrivermi al corso non lo era, e’ stato piu’ un salto nel vuoto verso qualcosa che mi sarebbe potuto piacere. Per fortuna tutto sta andando per il meglio tant’è che è effettivamente diventata la mia passione.
D. Ma come questo tuo progetto di arrampicata dimostra, hai anche altri interessi. Quali sono le tue passioni? E riesci a coniugarle con una disciplina molto tecnica come la programmazione?
Mi piace anche il mondo multiplayer e AI, quindi quando posso mi dedico anche a quello. Riesco a coniugare tranquillamente le due cose, anche perche’ sono dell’idea che se vuoi davvero qualcosa e hai la passione, anche di fronte ad ostacoli, come le ore delle lezioni/di studio o impegni personali, del tempo lo si riesce sempre a trovare.
D.Sei uno studente che segue i corsi in modalità Smart Pass. Come ti sei trovato ad interagire con i tuoi colleghi, hai avuto modo di lavorare con loro?
Si, alla fine del secondo anno ci e’ stato affidato un progetto di gruppo e ho avuto l’onore di farlo con Antonino Caracci, Entoni Shkalla, Francesco Pannullo e Samuele Paciotti. Durante questo progetto abbiamo imparato a lavorare in gruppo e crescere insieme. Anche se alla fine non e’ mai scontato, si sono formate delle splendide amicizie che ci porteremo avanti negli anni.
D. Tra l’altro hai appena partecipato anche alla Game Jam. Puoi dirci a quali giochi hai lavorato?
Ho lavorato insieme al team Coseno del tempo e abbiamo fatto BattleSlot. Partecipare a quest’evento, e in generale a qualsiasi Game Jam, e’ sempre una bellissima esperienza e una sfida con se stessi, perché se ti piace il mondo dei videogiochi, impari a lavorare in gruppo e a conoscere tutti i reparti che sono coinvolti nello sviluppo di un videogioco.