La creazione dei livelli sempre nuovi di Road Not Taken

3 0
La creazione dei livelli sempre nuovi di Road Not Taken

Ecco come SpryFox fa in modo che la sua avventura per PS4/PS Vita riservi nuove sorprese a ogni partita. Parola a David Edery!

Questo post parla di Road Not Taken, il nuovo roguelike di Spry Fox per PS4 e PS Vita. Se è la prima volta che sentite parlare di RNT, guardate i trailer!

Come vi abbiamo raccontato nei post precedenti, Road Not Taken ha dei livelli generati proceduralmente. Ogni volta che vi avventurate nella foresta, vi aspetta una nuova esperienza. Quando si progettano giochi come Bioshock e God of War, i designer devono posizionare a mano ogni corridoio, ogni oggetto, ogni nemico.

In Road Not Taken, noi non posizioniamo niente a mano. Ci concentriamo solo sulla creazione di oggetti e nemici interessanti, per poi definire con attenzione i luoghi e le probabilità che appaiano.

rnt_blog_mapgen_title

Il procedimento mi ricorda un dipinto di Duchamp, “Nudo che scende le scale, n. 2”. Per migliaia di anni, l’umanità ha dipinto dei singoli istanti, immortalandoli nel tempo. Duchamp, ispirato dai progressi del cinema, ha deciso di dipingere tutti i possibili stadi di una donna che scende le scale, ma in un unico quadro. Per me la progettazione di un roguelike è qualcosa di simile. Invece di definire un singolo livello, usiamo degli algoritmi per definire in un sol colpo tutti i livelli possibili.

Generare un livello, passaggio dopo passaggio
Il sistema per la creazione dei livelli agisce con una serie di passaggi che aumentano progressivamente i dettagli. Ogni passaggio ritocca gli equilibri del livello, avvicinandolo sempre di più a quello che il giocatore affronterà in partita. Un singolo livello di Road Not Taken nasce con sei diversi passaggi.

rnt_blog_mapgen_pass1

Primo passaggio: disporre le stanze
In Road Not Taken, le foreste dell’avventura sono una semplice griglia di griglie. Per esempio, un livello potrebbe essere una griglia da tre per quattro stanze, a loro volta composte da sei per otto tasselli. Una delle stanze della foresta, quella in alto a sinistra, viene etichettata come punto di partenza.

A questo punto impostiamo dei limiti, come il numero di bambini da salvare, il minimo di genitori presenti sullo schermo e la difficoltà desiderata. Queste variabili danno forma al resto della mappa.

Sembra facile, ma scegliere i numeri giusti è un processo lungo e laborioso. Abbiamo dovuto trovare tutti i valori che generano livelli rotti (o non divertenti), per poi eliminarli. In pratica passo le mie giornate impostando valori, scegliendone di altissimi e bassissimi, per poi giocare i livelli e vedere come funzionano. Nel farlo scopro altre cose sul gioco, come per esempio il fatto che recuperare 100 bambini è una vera e propria sfacchinata. Per contro, doverne recuperare solo uno è noioso. C’è un valore perfetto, tra uno e l’altro? Ritocco dopo ritocco, riusciamo a mettere a fuoco ciò che è più divertente.

La parte emozionante del design di meccaniche di gioco originali è che nessuno (me incluso) sa quali limiti si riveleranno godibili. A volte le risposte sono sorprendenti, motivo per cui cerco di partire senza preconcetti. Mi lancio nel gioco e creo centinaia di livelli brutti, esplorando l’ignoto nella speranza di imbattermi in qualcosa di inaspettato e divertente.

 

11243299194_b544f38462_o

Secondo passaggio: aggiungere i percorsi
Ogni stanza ha un ingresso ostruito da massi. Il percorso può essere sbloccato solo con un oggetto specifico, che deve essere recuperato in un numero preciso dal giocatore. Per esempio, capita di dover raccogliere cinque alberi di un certo tipo, prima di poter passare. Tecnicamente, possiamo fare in modo che serva uno qualunque degli oggetti del gioco (in tutte le quantità), ma ovviamente alcuni sono più divertenti di altri.

Quindi ragioniamo sulla difficoltà della stanza, poi guardiamo le variabili degli oggetti chiave disponibili, poi ne scegliamo uno per la porta. Gli oggetti vengono piazzati nella stanza con la porta. Ripetiamo il passaggio finché tutti i percorsi della foresta non risultano bloccati.

Durante la fase di prototipazione, subito dopo l’implementazione di questo passaggio, il gioco ha smesso di essere divertente, al punto che abbiamo quasi abbandonato lo sviluppo. Sbloccare i percorsi era piacevole, ma mancava qualcosa. Non era abbastanza divertente.

 

RNT_Blog_MapGen_Pass3

Terzo passaggio: spostare alcuni oggetti chiave dalle stanze
Cristian Soulos, il nostro capo programmatore, ha capito come rendere il tutto più interessante. Ha capito che Road Not Taken sarebbe stato più divertente se gli oggetti non fossero stati tutti sotto il naso del giocatore. Ha sparso gli oggetti chiave di alcune porte in altre stanze, obbligando a esplorare la foresta per sbloccare tutti i percorsi e salvare tutti i bambini. (Mi immagino sempre che il computer si abbandoni a una risata diabolica, mentre elabora questo passaggio).

Appena abbiamo aggiunto questa funzione, Road Not Taken ha smesso di essere un gioco che divertiva per una decina di minuti, trasformandosi in un’esperienza in cui perdersi per ore. La lezione è che, quando si lavora con un game design inedito, ciò che è divertente non è sempre ovvio.

 

RNT_Blog_MapGen_Pass4

Quarto passaggio: aggiungere gli obiettivi e gli ingredienti critici
A questo punto aggiungiamo bambini, genitori e ingredienti critici. Salvare i bambini è l’obiettivo principale: sono proprio loro a trasformare il giocattolo in gioco. Gli ingredienti per il sistema di crafting aumentano le probabilità di vincere, se usati correttamente, perché forniscono strumenti per esplorare al meglio la foresta, tenendo a bada le creature nemiche.

RNT_Blog_MapGen_Pass5

Quinto passaggio: aggiungere un pizzico di difficoltà
Oltre agli oggetti chiave, abbiamo degli oggetti sfida. Servono a complicarvi la vita: vi attaccano, vi bloccano, o più semplicemente vi confondono. Prima valutiamo la difficoltà desiderata della stanza, un semplice numero che cresce con l’abilità del giocatore e con il tempo, poi riempiamo le stanza con oggetti e nemici che rendano la foresta insidiosa al punto giusto.

Ogni oggetto ha una difficoltà aspettata e alcune limitazioni, inerenti al numero di istanze che possono apparire in un livello. Ci sono anche delle regole che vietano l’apparizione degli oggetti accanto a elementi specifici, o che indicano quanto bisogna addentrarsi nella foresta per trovarli.

Non tutti gli oggetti appaiono in ogni partita, quindi il giocatore deve adottare strategie sempre diverse. Può capitare di specializzarsi sull’uso di pozioni ma, se in una mappa non compaiono gli ingredienti per farle, si impone l’uso di una tattica diversa. Molti oggetti hanno più di un utilizzo possibile, quindi ci sono sempre tantissime opzioni. Dovrete fare un po’ di esperimenti, per scoprirle tutte.

Ecco alcuni dei vantaggi di avere un generatore procedurale di livelli
La difficoltà è regolabile: tarare tutto a dovere richiede molto tempo, ma il risultato è che si possono generare livelli più difficili con il semplice cambio di un numero. Posso garantirvi che alcuni livelli di Road Not Taken sono completamente fuori di testa, persino per me che sono il lead designer del gioco. Risolverli è una soddisfazione incredibile!

rnt_blog_mapgen_robust

Il gioco accoglie bene i nuovi contenuti: poco tempo fa, abbiamo aggiunto 10 nuovi oggetti e nemici molto particolari a Road Not Taken. Se avessimo avuto a che fare con un gioco tradizionale, con livelli da tarare a mano, un cambiamento simile ci avrebbe obbligato a passare intere settimane per ricalibrare il tutto. Nel nostro sistema procedurale, con qualche piccola modifica, non è stato necessario. In pratica abbiamo la grande libertà di sperimentare con nuove idee, senza perdere il lavoro che abbiamo già fatto, così possiamo inserire decine o centinaia di oggetti e nemici. Con un po’ di fortuna, insomma, potremo pubblicare tanti aggiornamenti interessanti, dopo l’uscita di Road Not Taken!

Le combinazioni continuano a sorprendere: ci sono miliardi di miliardi di livelli possibili nel sistema procedurale di Road Not Taken. Continuo a imbattermi in nuovi scenari che non avevo previsto. Cosa succede se si genera un procione vicino a dei blocchi di pietra? Il caos totale… e non l’avevo certo previsto.

Vogliamo divertire voi, ma anche noi
Se ne parla poco, ma un piccolo segreto degli sviluppatori è che spesso si stancano dei loro giochi, perché ci devono giocare in continuazione per mesi (o anni) prima dell’uscita. Road Not Taken, invece, continua a sorprendermi, tanto che non mi è ancora venuto a noia.

Abbiamo appena completato un altro giro di ritocchi agli equilibri, e il gioco sta venendo davvero bene. Credo che a questo punto abbiamo già implementato la maggior parte di oggetti e nemici che vedrete nel gioco finale. Non ci resta che rifinire i dettagli e aggiungere qualche piccola funzione. Se tutto va come deve, lanceremo il gioco in primavera o in estate!

PS: se non l’avete ancora visto, abbiamo pubblicato un trailer “live action” per Road Not Taken. Dategli un’occhiata!

I commenti sono chiusi.

3 Commenti


    Loading More Comments

    Inserisci la tua data di nascita.

    Date of birth fields