BoatVenture
Un'avventura endless runner-like in 2D.
Attraversa l'oceano e affronta i suoi ostacoli, colleziona il bottino per potenziare la tua barca e arriva alla fine del mondo.

Disponibile gratuitamente sul Play Store per i dispositivi Android 9+.

Com'è nato il progetto
BoatVenture è nato ad agosto 2019. Doveva essere solo un test per verificare se fossi capace di esportare per mobile e pubblicare sul Play Store.
Mi sono appassionato al progetto e ho deciso di lavorarci a tempo pieno, sei ore al giorno ogni giorno senza interruzioni. A novembre 2019 l'ho rilasciato al pubblico e ho eseguito una piccola campagna pubblicitaria da 30€ su Google AdSense per avere del feedback.

Ho imparato molto da BoatVenture.


Cosa ho sbagliato
Il più grande errore è stato non avere un target specifico a cui riferirmi.
Il progetto era didattico, ma se fosse stato un vero investimento avrei perso molti soldi.
Volevo realizzare un gioco mid-casual, ovvero per giocatori senza troppe pretese ma con un minimo di abilità.
Mi sono reso conto che i giocatori più bravi sono stati allontanati dallo stile grafico cartonesco, mentre quelli più casual non erano in grado di vincere e di capire le meccaniche.
Con il senno di poi avrei potuto mettere un'opzione per scegliere la difficoltà di gioco o ampliare il sistema di difficoltà dinamica.
Invece ho adattato il gioco alle mie capacità di programmatore e designer, cosa che non avrei dovuto fare se fosse stato un progetto commerciale. Ho preso delle libertà in campo di design per meglio accomodare le mie esigenze di apprendimento.

Un altro errore è stato snobbare il reparto grafico e di UI. Solo perché non mi piacciono non significa che dovevo prestarci poca attenzione, e infatti sono state le due cose che più hanno fatto male all'esperienza di gioco.
La grafica non deve essere bella, quello è un di più. La grafica deve accomodare il giocatore, trasmettere un'idea del mondo in cui sta giocando e provvedere informazioni sull'andamento di gioco.
Tutte cose che ho dato per scontato, ma che non ho fatto. All'inizio infatti alcuni ostacoli si potevano prevedere solo con indizi audio. Senza contare il temibile temporale che però non scuote la telecamera neanche un po'. Valeva la pena spendere cinque minuti a cercare un font buono e applicarlo ovunque, anziché avere uno stile diverso in ogni parte.

Per la parte di User Interface è stata una questione tecnica.
Ho cercato innumerevoli tutorial su come adattare l'immagine di gioco per ogni schermo, ma senza successo. Ho scelto di rilasciare il gioco così com'era. E ne ho pagato le conseguenze quando mi è arrivata una recensione da 1 stella da parte di una persona con un dispositivo le cui dimensioni non erano supportate. Alla fine ho capito come gestire la risoluzione, ma ormai era troppo tardi.
Se un gioco non è accessibile a quante più persone possibili perde il suo valore di gioco.
Questo lo dico sicuramente da un punto di vista filosofico. I giochi, adesso meno rispetto a una volta, sono per chi non ha altro mezzo per divertirsi. Se non tutti possono giocare, allora che senso ha?
Ma lo dico anche da un punto di vista produttivo.
Rilasciare un gioco solo per determinati dispositivi decima il potenziale reach di acquirenti. Tanto vale impegnarsi un po' di più e rilasciare il gioco solo quando è pronto per tutti, no?


Cosa ho fatto giusto
Ho imparato a programmare e a programmare meglio
Basti pensare che nelle prime settimane tutto il gioco risiedeva su una classe di codice sola. Poi ho capito che non era l'ideale e ho studiato e applicato un po' di teoria di sviluppo. La pratica è essenziale, ma senza il metodo c'è chaos.

Ho capito che a volte bisogna chiedere aiuto
Cercare di reinventare la ruota è inutile. Ci sono infiniti casi dove una persona può sentirsi frustrata perché non riesce a superare un ostacolo, e non vuole chiedere aiuto. Ma non è solo questo il caso.
Ho capito che affrontare un problema ti cresce come persona, ma che a volte è meglio controllare se c'è già una soluzione esistente prima di spendere tempo a vuoto.
Ho speso non so quanti giorni su una formula matematica a cui non venivo a capo. Poi ho scoperto che Unity aveva quella formula già integrata. Ops.

Ho capito che a volte bisogna fare le cose da soli
Ho cercato sul web per tre giorni un sistema di localizzazione che potessi usare, ma senza successo. Ho usato anche soluzioni a pagamento, ma erano obsolete e non funzionavano, lo stesso valeva per i video tutorial su Youtube.
Alla fine mi sono messo sotto e ho scritto il mio di sistema di localizzazione. Non è adatto professionalmente, ma per un team di sviluppo di una persona sola funziona più che bene. Non ha tempi di caricamento ed è facilmente espandibile in altre lingue e inoltre non usa un regex*!

*il regex è una parte orribile di programmazione.

I giochi migliori mentono ai giocatori
Ho scoperto una buffa cosa chiamata DDA, "Dynamic Difficulty Adjustment". È un sistema che alcuni giochi possiedono che rende la difficoltà dinamica, ovvero, il gioco diventa più facile se continui a perdere e più difficile se vinci senza problemi. Spesso è nascosta al giocatore per renderla ancora più efficace e trasmettere un senso di sfida difficile ma giusta a chiunque.
Mi si è aperto un mondo.
Di solito la DDA viene usata, come dice il nome, per la difficoltà di gioco, ma la prima cosa che ho fatto è stata riscrivere il modello di pubblicità.
Prima mostravo un advertisement ogni cinque partite.
Con il nuovo sistema il giocatore non può vedere una pubblicità se perde nei primi dieci secondi di gioco. Così i giocatori più deboli non si sentono frustrati nel bloccarsi in continuazione.
Il secondo uso è stato rendere il gioco più semplice nei primi trenta secondi se nella partita precedente il giocatore ha perso proprio nei primi trenta secondi.
Infine, ho aggiunto anche un sistema più organico e meno nascosto. Ho messo sì che se nella prima partita in assoluto il giocatore raggiunge un punteggio molto alto, un evento speciale compare e premia il giocatore. Si ottiene dell'oro bonus, ma, senza dir nulla, la difficoltà di gioco aumenta per sempre. 
BoatVenture
Published:

Owner

BoatVenture

Gioco per telefono realizzato da solo in quattro mesi come esperienza didattica.

Published: