· Aggiornato
BITS OVERLOAD — Da prototipo a release candidate
Di SRADRAVEN
BITS OVERLOAD — Da prototipo a release candidate
Quando ho iniziato a lavorare su BITS OVERLOAD, il punto centrale era abbastanza semplice: creare un gioco di carte sci-fi in cui il vero nemico non fosse soltanto l'altra nave, ma anche un reattore che il giocatore deve imparare a controllare.
Da quell'idea il progetto è cresciuto molto più di quanto mi aspettassi.
Oggi BITS OVERLOAD è arrivato alla versione 0.65.0, con una build release candidate pensata per Steam, e guardando indietro è interessante vedere quanto il gioco sia cambiato senza perdere il suo nucleo originale.
Il cuore del gioco: rischiare con il reattore
Ogni battaglia ruota attorno a due problemi contemporaneamente.
Da una parte c'è il combattimento contro la nave avversaria. Dall'altra c'è il reattore, che deve raggiungere un determinato target.
Le carte permettono di attaccare, generare scudi, riparare lo scafo, modificare il reattore e utilizzare effetti speciali. Ma la parte che rende tutto più interessante è l'ordine in cui vengono giocate.
Una combo può essere perfetta oppure trasformarsi in un overload.
Questo mi ha portato a progettare il gioco non soltanto attorno alla domanda:
"Qual è la carta più forte?"
ma soprattutto:
"In quale ordine devo giocare quello che ho in mano?"
La mano inoltre è persistente. Le carte che non utilizzi rimangono con te, quindi ogni turno influenza anche quello successivo.
Con il tempo il catalogo è cresciuto fino a includere meccaniche come FURTO, SCAMBIO, BLOCCA, DISTORSIONE SCUDO, PESCA MAZZO, carte Reattore positive e negative e, infine, una carta molto particolare.
BITS
Prima o poi il gioco doveva avere una carta che rappresentasse davvero il suo nome.
È nata così BITS.
È una carta estremamente rara, può comparire al massimo una volta durante una run e funziona quasi come un piccolo evento all'interno della battaglia.
Modifica il reattore, interferisce con la mano nemica, azzera lo scudo avversario, infligge un grosso danno e attiva BITS OVERCLOCK, rendendo temporaneamente gratuite le altre carte presenti nella mano.
La cosa importante era evitare che diventasse semplicemente un pulsante "hai vinto".
Per questo il danno diretto di BITS non può eliminare da solo il nemico e la carta non regala automaticamente una montagna di punti. Deve creare una situazione assurda e potente, ma il giocatore deve comunque sapere come sfruttarla.
Far capire cosa sta succedendo
Una delle parti su cui ho lavorato di più non riguarda le regole, ma il modo in cui vengono comunicate.
Nelle prime versioni il sistema funzionava, ma funzionare non basta.
Se gioco ATTACCO voglio vedere l'azione dirigersi verso il nemico.
Se gioco SCUDO o RIPARA, l'effetto deve tornare verso la mia nave.
Se modifico il REATTORE, la carta deve andare verso il nucleo centrale.
Da qui è iniziato un lungo lavoro sulla presentazione: cockpit, pannelli laterali, nucleo centrale, animazioni delle carte, impatti, pulse, shake, particelle, glow, feedback dello scudo e variazioni del reattore.
Anche le vittorie sono diventate una piccola sequenza.
Quando il reattore viene stabilizzato arriva la SUPERNOVA, con flash, particelle, bonus e transizione verso il settore successivo.
È stato uno dei passaggi più importanti nello sviluppo: trasformare numeri e regole in qualcosa che il giocatore possa effettivamente sentire.
Da una battaglia a una galassia
A un certo punto terminare una battaglia e caricarne semplicemente un'altra non era più sufficiente.
Così è nata la Mappa Galattica.
Dopo una vittoria la nave lascia il settore completato, si sposta verso la destinazione successiva e parte il salto nell'iperspazio.
Ho aggiunto una vera sequenza FTL con tunnel spaziale, fase di carica, salto e uscita.
Successivamente sono arrivati anche i mondi procedurali.
I nomi dei pianeti e delle colonie vengono generati in base alla run, producendo destinazioni come VORAX-7, ELYNTH PRIME o AXION DELTA.
Il concetto alla base della struttura è che la galassia sia endless.
Non esiste un ultimo settore prestabilito.
La run continua finché il giocatore riesce a sopravvivere, mentre target del reattore, avversari, mazzi, pianeti e altre variabili continuano a ricombinarsi.
La domanda diventa semplicemente:
quanto lontano riesci ad arrivare?
100 navi e 18 classi
La progressione è stata un altro sistema cresciuto parecchio durante lo sviluppo.
L'Hangar contiene oggi 100 navi giocabili.
Non volevo però che fossero soltanto cento immagini diverse.
Nella versione attuale le navi appartengono a 18 classi, tra cui Scout, Intercettore, Corvetta, Raider, Fregata, Dreadnought, Corsaro, Spettro, Leviatano, Serafino e altre ancora.
Ogni classe introduce un piccolo bonus controllato.
Per esempio, una classe può iniziare con uno scudo aggiuntivo, un'altra può avere una carta extra nella mano iniziale e un'altra ancora può ridurre il primo danno subito allo scafo.
Ho volutamente mantenuto questi bonus piccoli: la nave deve cambiare leggermente il modo di affrontare una battaglia, non trasformarsi nella differenza tra una run possibile e una impossibile.
La progressione tiene inoltre conto sia delle prestazioni sia della dedizione del giocatore, registrando run, distanza raggiunta, punteggi, utilizzo delle navi e risultati ottenuti.
E poi c'è Lord SradRaven
Non tutta la galassia poteva essere prevedibile.
Uno degli eventi più particolari è Lord SradRaven, un rivale raro che può comparire durante le run avanzate.
Ha una nave dedicata, molti più HP rispetto a un avversario normale, effetti audiovisivi propri e una serie di provocazioni.
Soprattutto, Lord SradRaven non muore definitivamente.
Quando viene sconfitto fugge.
E può tornare.
Volevo che la sua comparsa sembrasse meno come "è uscito un nemico più forte" e più come un'anomalia che entra improvvisamente nella tua run.
La parte meno visibile: bilanciare tutto
Più BITS OVERLOAD cresceva, più diventava difficile capire quanto una modifica apparentemente piccola potesse influenzare l'intero gioco.
Per questo ho costruito anche strumenti interni di simulazione del bilanciamento.
La release candidate utilizza simulazioni per confrontare diversi comportamenti di gioco, curve delle anomalie, classi delle navi, combinazioni del reattore e progressione nei settori.
Ma una cosa che ho cercato di tenere ben presente è che una simulazione non sostituisce un giocatore.
Può trovare anomalie statistiche.
Può mostrare che una curva sembra troppo aggressiva.
Può eseguire centinaia di run.
Ma non può dirmi se una sconfitta sembra meritata oppure frustrante.
Per quello serve ancora il playtesting.
I bug che compaiono solo quando il gioco diventa complicato
Lavorare sulla RC16 mi ha ricordato anche una regola abbastanza universale dello sviluppo videogiochi:
le interazioni più interessanti sono spesso anche quelle che rompono tutto.
Per esempio, durante una combo era possibile distruggere una nave nemica e contemporaneamente finire in overload. Bisognava stabilire quale evento avesse realmente la precedenza.
In un altro caso un jackpot da 5.000 punti ottenuto sull'ultimo colpo poteva perdersi durante la transizione post-battaglia.
E poi c'era la combinazione BITS + SCAMBIO: dato che BITS rende temporaneamente gratuite le carte della mano, scambiando le mani nel momento sbagliato l'IA poteva letteralmente ereditare quelle carte a costo zero.
Sono problemi molto piccoli da descrivere, ma sono esattamente il tipo di problema che appare quando tanti sistemi iniziano finalmente a interagire fra loro.
La RC16 è stata soprattutto questo: meno nuove feature e più lavoro per fare in modo che tutto ciò che esiste già rispetti sempre le stesse regole.
Audio, localizzazione e rifinitura
Nel frattempo il progetto ha ricevuto anche una colonna sonora sci-fi originale, con musica differente tra menu ed esplorazione e combattimento, transizioni in crossfade e un layer dedicato agli incontri con Lord SradRaven.
L'interfaccia è stata progressivamente rifatta e ripulita, fino ad arrivare all'attuale cockpit da battaglia.
BITS OVERLOAD supporta inoltre 15 lingue, quindi menu, HUD, carte, tutorial, guida e molti testi dinamici hanno dovuto essere progettati tenendo conto di stringhe molto diverse tra loro.
Sono tutte cose che inizialmente sembrano secondarie.
Poi arriva il momento in cui ti accorgi che sono proprio questi dettagli a separare un prototipo da qualcosa che assomiglia a un gioco finito.
Dove sono arrivato
Attualmente BITS OVERLOAD è alla versione 0.65.0, sviluppato con Godot 3.5.3, e la RC16 rappresenta il passaggio più vicino finora a una build pubblica Steam.
Il progetto contiene ormai combattimento a carte, gestione del reattore, combo, IA, progressione, 100 navi, 18 classi, anomalie, mondi procedurali, galassia endless, mappe, iperspazio, statistiche, medaglie, eventi speciali, musica e localizzazione.
Ma la cosa che trovo più interessante è che il nucleo è ancora quello di partenza:
hai alcune carte in mano, un reattore che sta andando fuori controllo e devi decidere quanto sei disposto a rischiare.
Adesso il lavoro più importante è continuare a testare, rifinire il bilanciamento e trovare tutti quei casi assurdi che soltanto un giocatore riesce a creare.
Perché se lo sviluppo di BITS OVERLOAD mi ha insegnato qualcosa, è che appena pensi di aver previsto tutte le combinazioni possibili…
qualcuno gioca BITS, poi SCAMBIO, poi FURTO.
E scopri che non avevi previsto proprio niente.
Quando ho iniziato a lavorare su BITS OVERLOAD, il punto centrale era abbastanza semplice: creare un gioco di carte sci-fi in cui il vero nemico non fosse soltanto l'altra nave, ma anche un reattore che il giocatore deve imparare a controllare.
Da quell'idea il progetto è cresciuto molto più di quanto mi aspettassi.
Oggi BITS OVERLOAD è arrivato alla versione 0.65.0, con una build release candidate pensata per Steam, e guardando indietro è interessante vedere quanto il gioco sia cambiato senza perdere il suo nucleo originale.
Il cuore del gioco: rischiare con il reattore
Ogni battaglia ruota attorno a due problemi contemporaneamente.
Da una parte c'è il combattimento contro la nave avversaria. Dall'altra c'è il reattore, che deve raggiungere un determinato target.
Le carte permettono di attaccare, generare scudi, riparare lo scafo, modificare il reattore e utilizzare effetti speciali. Ma la parte che rende tutto più interessante è l'ordine in cui vengono giocate.
Una combo può essere perfetta oppure trasformarsi in un overload.
Questo mi ha portato a progettare il gioco non soltanto attorno alla domanda:
"Qual è la carta più forte?"
ma soprattutto:
"In quale ordine devo giocare quello che ho in mano?"
La mano inoltre è persistente. Le carte che non utilizzi rimangono con te, quindi ogni turno influenza anche quello successivo.
Con il tempo il catalogo è cresciuto fino a includere meccaniche come FURTO, SCAMBIO, BLOCCA, DISTORSIONE SCUDO, PESCA MAZZO, carte Reattore positive e negative e, infine, una carta molto particolare.
BITS
Prima o poi il gioco doveva avere una carta che rappresentasse davvero il suo nome.
È nata così BITS.
È una carta estremamente rara, può comparire al massimo una volta durante una run e funziona quasi come un piccolo evento all'interno della battaglia.
Modifica il reattore, interferisce con la mano nemica, azzera lo scudo avversario, infligge un grosso danno e attiva BITS OVERCLOCK, rendendo temporaneamente gratuite le altre carte presenti nella mano.
La cosa importante era evitare che diventasse semplicemente un pulsante "hai vinto".
Per questo il danno diretto di BITS non può eliminare da solo il nemico e la carta non regala automaticamente una montagna di punti. Deve creare una situazione assurda e potente, ma il giocatore deve comunque sapere come sfruttarla.
Far capire cosa sta succedendo
Una delle parti su cui ho lavorato di più non riguarda le regole, ma il modo in cui vengono comunicate.
Nelle prime versioni il sistema funzionava, ma funzionare non basta.
Se gioco ATTACCO voglio vedere l'azione dirigersi verso il nemico.
Se gioco SCUDO o RIPARA, l'effetto deve tornare verso la mia nave.
Se modifico il REATTORE, la carta deve andare verso il nucleo centrale.
Da qui è iniziato un lungo lavoro sulla presentazione: cockpit, pannelli laterali, nucleo centrale, animazioni delle carte, impatti, pulse, shake, particelle, glow, feedback dello scudo e variazioni del reattore.
Anche le vittorie sono diventate una piccola sequenza.
Quando il reattore viene stabilizzato arriva la SUPERNOVA, con flash, particelle, bonus e transizione verso il settore successivo.
È stato uno dei passaggi più importanti nello sviluppo: trasformare numeri e regole in qualcosa che il giocatore possa effettivamente sentire.
Da una battaglia a una galassia
A un certo punto terminare una battaglia e caricarne semplicemente un'altra non era più sufficiente.
Così è nata la Mappa Galattica.
Dopo una vittoria la nave lascia il settore completato, si sposta verso la destinazione successiva e parte il salto nell'iperspazio.
Ho aggiunto una vera sequenza FTL con tunnel spaziale, fase di carica, salto e uscita.
Successivamente sono arrivati anche i mondi procedurali.
I nomi dei pianeti e delle colonie vengono generati in base alla run, producendo destinazioni come VORAX-7, ELYNTH PRIME o AXION DELTA.
Il concetto alla base della struttura è che la galassia sia endless.
Non esiste un ultimo settore prestabilito.
La run continua finché il giocatore riesce a sopravvivere, mentre target del reattore, avversari, mazzi, pianeti e altre variabili continuano a ricombinarsi.
La domanda diventa semplicemente:
quanto lontano riesci ad arrivare?
100 navi e 18 classi
La progressione è stata un altro sistema cresciuto parecchio durante lo sviluppo.
L'Hangar contiene oggi 100 navi giocabili.
Non volevo però che fossero soltanto cento immagini diverse.
Nella versione attuale le navi appartengono a 18 classi, tra cui Scout, Intercettore, Corvetta, Raider, Fregata, Dreadnought, Corsaro, Spettro, Leviatano, Serafino e altre ancora.
Ogni classe introduce un piccolo bonus controllato.
Per esempio, una classe può iniziare con uno scudo aggiuntivo, un'altra può avere una carta extra nella mano iniziale e un'altra ancora può ridurre il primo danno subito allo scafo.
Ho volutamente mantenuto questi bonus piccoli: la nave deve cambiare leggermente il modo di affrontare una battaglia, non trasformarsi nella differenza tra una run possibile e una impossibile.
La progressione tiene inoltre conto sia delle prestazioni sia della dedizione del giocatore, registrando run, distanza raggiunta, punteggi, utilizzo delle navi e risultati ottenuti.
E poi c'è Lord SradRaven
Non tutta la galassia poteva essere prevedibile.
Uno degli eventi più particolari è Lord SradRaven, un rivale raro che può comparire durante le run avanzate.
Ha una nave dedicata, molti più HP rispetto a un avversario normale, effetti audiovisivi propri e una serie di provocazioni.
Soprattutto, Lord SradRaven non muore definitivamente.
Quando viene sconfitto fugge.
E può tornare.
Volevo che la sua comparsa sembrasse meno come "è uscito un nemico più forte" e più come un'anomalia che entra improvvisamente nella tua run.
La parte meno visibile: bilanciare tutto
Più BITS OVERLOAD cresceva, più diventava difficile capire quanto una modifica apparentemente piccola potesse influenzare l'intero gioco.
Per questo ho costruito anche strumenti interni di simulazione del bilanciamento.
La release candidate utilizza simulazioni per confrontare diversi comportamenti di gioco, curve delle anomalie, classi delle navi, combinazioni del reattore e progressione nei settori.
Ma una cosa che ho cercato di tenere ben presente è che una simulazione non sostituisce un giocatore.
Può trovare anomalie statistiche.
Può mostrare che una curva sembra troppo aggressiva.
Può eseguire centinaia di run.
Ma non può dirmi se una sconfitta sembra meritata oppure frustrante.
Per quello serve ancora il playtesting.
I bug che compaiono solo quando il gioco diventa complicato
Lavorare sulla RC16 mi ha ricordato anche una regola abbastanza universale dello sviluppo videogiochi:
le interazioni più interessanti sono spesso anche quelle che rompono tutto.
Per esempio, durante una combo era possibile distruggere una nave nemica e contemporaneamente finire in overload. Bisognava stabilire quale evento avesse realmente la precedenza.
In un altro caso un jackpot da 5.000 punti ottenuto sull'ultimo colpo poteva perdersi durante la transizione post-battaglia.
E poi c'era la combinazione BITS + SCAMBIO: dato che BITS rende temporaneamente gratuite le carte della mano, scambiando le mani nel momento sbagliato l'IA poteva letteralmente ereditare quelle carte a costo zero.
Sono problemi molto piccoli da descrivere, ma sono esattamente il tipo di problema che appare quando tanti sistemi iniziano finalmente a interagire fra loro.
La RC16 è stata soprattutto questo: meno nuove feature e più lavoro per fare in modo che tutto ciò che esiste già rispetti sempre le stesse regole.
Audio, localizzazione e rifinitura
Nel frattempo il progetto ha ricevuto anche una colonna sonora sci-fi originale, con musica differente tra menu ed esplorazione e combattimento, transizioni in crossfade e un layer dedicato agli incontri con Lord SradRaven.
L'interfaccia è stata progressivamente rifatta e ripulita, fino ad arrivare all'attuale cockpit da battaglia.
BITS OVERLOAD supporta inoltre 15 lingue, quindi menu, HUD, carte, tutorial, guida e molti testi dinamici hanno dovuto essere progettati tenendo conto di stringhe molto diverse tra loro.
Sono tutte cose che inizialmente sembrano secondarie.
Poi arriva il momento in cui ti accorgi che sono proprio questi dettagli a separare un prototipo da qualcosa che assomiglia a un gioco finito.
Dove sono arrivato
Attualmente BITS OVERLOAD è alla versione 0.65.0, sviluppato con Godot 3.5.3, e la RC16 rappresenta il passaggio più vicino finora a una build pubblica Steam.
Il progetto contiene ormai combattimento a carte, gestione del reattore, combo, IA, progressione, 100 navi, 18 classi, anomalie, mondi procedurali, galassia endless, mappe, iperspazio, statistiche, medaglie, eventi speciali, musica e localizzazione.
Ma la cosa che trovo più interessante è che il nucleo è ancora quello di partenza:
hai alcune carte in mano, un reattore che sta andando fuori controllo e devi decidere quanto sei disposto a rischiare.
Adesso il lavoro più importante è continuare a testare, rifinire il bilanciamento e trovare tutti quei casi assurdi che soltanto un giocatore riesce a creare.
Perché se lo sviluppo di BITS OVERLOAD mi ha insegnato qualcosa, è che appena pensi di aver previsto tutte le combinazioni possibili…
qualcuno gioca BITS, poi SCAMBIO, poi FURTO.
E scopri che non avevi previsto proprio niente.
