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ù.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.