Ciao, mi chiamo Mark
e sto creando un videogioco
intitolato "Mind Over Magnet",
un adorabile puzzle platformer
basato, l'avrete intuito, sui magneti.
Ricominciando lo sviluppo
dopo la pausa natalizia,
ho notato un pulsante molto interessante
sulla mia dashboard-cosa
per sviluppatori su Steam
che non posso mostrarvi per via
degli accordi di riservatezza.
Era il pulsante per presentare il gioco
al prossimo Next Fest.
Si tratta della convention online di Valve
dove gli sviluppatori possono condividere
le demo dei loro prossimi giochi.
E si è dimostrata un'ottima
strategia di marketing:
guardate cos'è successo a Balatro
– coinvolgente titolo
roguelike pokeristico –
nell'ultima edizione di febbraio.
Sapevo quindi di dover presentare
Mind Over Magnet
al prossimo Next Fest di giugno.
Devo solo creare un trailer,
preparare una demo
e correggere un aspetto
molto irritante del mio gioco
che ormai mi tormenta da mesi.
Ora vi spiego.
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
Il mio gioco è in pixel art, giusto?
Ma gli sprite sono decisamente grandi.
Confrontiamo Magnus con Mario o Madeline.
Significa che una schermata standard
misura 1280×720 pixel.
Quindi se usate un vecchio monitor a 720p…
grandioso, è pixel perfect.
Se giocate su un bel monitor
a 1440p, come nel mio caso…
ottimo, è sufficiente raddoppiare i pixel.
E se giocate su
un bellissimo televisore 4K
mi basta triplicare i pixel.
Ma nel caso dei 1080p,
la risoluzione più diffusa
tra i monitor per PC
secondo le statistiche di Valve?
Beh, siamo nei guai perché è 1,5 volte
più grande dei 720p
e, beh, non…
non esiste il "mezzo pixel".
Esistono alcune soluzioni
per aggirare il problema.
Una è lasciare che sia
Unity ad occuparsene,
aggiungendo o eliminando
dei pixel qua e là
facendo in modo che i "mezzi pixel"
si adattino ad una griglia
di pixel interi.
Ma è una soluzione palesemente imperfetta
e può generare un aspetto grafico sciatto,
specialmente con gli angoli
e le superfici curve.
Un'altra soluzione
è l'uso dell'antialiasing
per smussare i bordi,
ma il tutto appare sfocato
e la pixel art perde
il suo nitido aspetto retro.
La soluzione numero tre
– o la "C", non mi ricordo –
è lasciare inalterati i pixel
aggiungendo un grande
contorno alla schermata,
ma così tutto appare piccolo e distante.
Ho provato tutte queste soluzioni.
Ho inserito l'opzione
per la modalità "Pixel Perfect"
che aggiungeva il bordo alla schermata.
Ho programmato un sistema
che implementava
metodicamente l'antialiasing
solo se i pixel non potevano essere
moltiplicati per un numero intero.
E a volte mi sono chiesto se i giocatori
avrebbero fatto caso a quei pixel deformi
e non fosse solo una mia fissazione.
Ma alla fine stavo solo cercando
il "meno peggio" dei compromessi,
facendo continuamente avanti
e indietro tra questi ragionamenti
per cercare di capire
quale di queste tre soluzioni
avrebbe potuto adattarsi
meglio al mio gioco.
Ovviamente c'è… una quarta soluzione
ma non voglio nemmeno considerarla.
Certo, funzionerebbe,
ma non voglio nemmeno nominarla.
D'accordo, lo dico: potrei…
sbarazzarmi della pixel art
e rimpiazzare l'intera grafica del gioco
con del nuovo materiale grafico in 4K, ma…
ma sarebbe una follia, vero?
E così ho rimpiazzato
la pixel art del gioco
con del nuovo materiale grafico in 4K!
Ho triplicato le dimensioni
di tutti gli sprite
per poi ricrearli tramite
gli strumenti vettoriali di Photoshop
come la penna e le forme.
Ogni pulsante, ogni porta,
ogni oggetto decorativo,
ogni magnete,
ogni elemento dell'interfaccia.
Ma non ci ho messo
così tanto come pensavo.
La mia pixel art era già
abbastanza organizzata
e composta da forme semplici
e colori di base.
Inoltre ho deciso di non sfruttare
la nuova veste grafica
per aggiungere nuovi dettagli
perché volevo che gli elementi
si vedessero senza problemi
anche su schermi piccoli
come quello di Steam Deck.
E poi ho deciso di non rifare
la grafica degli sfondi.
C'è ancora la vecchia pixel art
che viene sfocata da un filtro
per la profondità di campo.
Ma non serve che si sappia,
sarà il nostro piccolo segreto.
E dopo tutto questo lavoro
sono davvero soddisfatto
del nuovo aspetto del gioco.
Magnus ha molto più fascino e personalità
e il gioco non sembra più l'ennesimo
banale titolo indie in pixel art.
E poi il gioco funziona.
Potete vederlo su un TV 4K,
un monitor a 1080p
o sul piccolo monitor di Steam Deck…
e funziona!
Funziona!
Ed è ironico che probabilmente
io abbia speso più tempo
a cercare un buon compresso
che a ricreare gli asset grafici.
E da tutto questo ho appreso una lezione.
Due, in realtà:
una è "pianificare in anticipo".
Ho creato gli sprite molto tempo prima
del sistema definitivo per le telecamere,
di fatto sperando che avrebbero
funzionato bene insieme.
Non è stato così:
in Unity c'è questo pulsante
per una telecamera pixel perfect,
ed evidentemente pensavo che attivandola
sarebbe andato tutto alla perfezione.
È stupido e ingenuo perché
le cose non funzionano così
ma… ora lo so.
Ma l'altra lezione è che a volte
può sembrare una buona idea
cercare un compromesso,
una scappatoia o un espediente.
Ma in realtà è la pigrizia a parlare
e a volte è meglio stringere i denti,
rimboccarsi le maniche e darsi da fare
per trovare una vera soluzione
che funzioni a dovere.
In futuro eviterò di perdere tempo
andando subito al dunque
per trovare la vera soluzione.
E così, dopo essermi
risvegliato da quell'incubo,
era l'ora di fare il passo successivo:
creare un trailer.
È qualcosa che ho rimandato a lungo
semplicemente perché
il gioco non era ancora pronto
e non c'era granché
da mostrare nel trailer.
Certo, avevo finito il Mondo 1,
ma se avessi mostrato solo quello
l'intera ambientazione
del trailer sarebbe stata
quel sistema fognario di colore turchese
per due minuti di fila.
Non sarebbe stata una fedele
rappresentazione del mio gioco.
Così ho deciso di ricorrere
all'antica arte del…
"fai finta finché non lo crei".
"Creare" quasi letteralmente,
in questo caso,
perché ci sono ancora
tantissime cose incomplete
come questi livelli
mai sottoposti a playtest
che come sfondo
hanno ancora la cianografia
che uso durante lo sviluppo.
Ci sono sfondi incompleti
e meccaniche non ancora
del tutto implementate.
Mettendo tutto insieme
posso creare qualcosa
che non sarà con certezza nel gioco finale
ma che è abbastanza indicativo
di come sarà il gioco.
Tra l'altro penso di aver
esagerato con la qualità
perché dopo aver postato il trailer
molte persone nei commenti
si sono congratulate con me
per aver finito il gioco.
Ovviamente le ringrazio moltissimo…
ma in realtà non è finito.
È tutto finto!
Usando i nuovi contenuti
mi sono registrato
mentre giocavo a questi livelli.
Non c'era la musica
ma ho attivato gli effetti sonori
così da averli nel trailer.
Inoltre, a rischio di parlare
troppo di risoluzioni,
ho registrato tutto in 4K
anche se il trailer è solo in 1080p
così da ritagliare
i segmenti più interessanti
senza dover ingrandire l'immagine
riducendone la qualità.
Ho quindi importato il filmato
in Adobe Premiere
e ritagliato gli spezzoni
più interessanti:
animazioni interessanti,
esempi di meccaniche,
fasi narrative e cose così.
Riguardo alla musica,
ho finalmente trovato
chi comporrà le musiche per il gioco
così posso chiudere
quell'enorme Modulo di Google!
Grazie a tutti quelli
che si sono proposti.
Non è ancora prontə per lavorare al gioco
quindi per il trailer sono ricorso
al mio servizio audio preferito:
Epidemic Sound.
La cosa bella di Epidemic Sound
– questo video non è sponsorizzato
da Epidemic Sound
ma se andate nella descrizione
e cliccate il mio link
riceverò un compenso da Epidemic Sound –
è che quando scaricate della musica
non ottenete solo l'intero brano
ma anche le singole tracce
come la melodia,
il basso e le percussioni.
Infatti ho potuto isolare le percussioni
e sincronizzare gli spezzoni
con i beat della batteria, così:
(♪ percussioni ritmate ♪)
(♪ percussioni ritmate ♪)
Per quanto riguarda
l'arco narrativo del trailer,
si inizia con qualcosa di semplice
come l'uso dei raggi magnetici
per sollevare i blocchi.
Poi rallento un po'
per introdurre il personaggio di Magnus.
Poi si vede cosa può fare Magnus
come meccanica di gioco,
e dopo ancora c'è una rapida
sequenza di elementi
che compariranno
nella seconda metà del gioco
come altri magneti,
altre meccaniche e altri mondi.
Alla fine c'è una bella call to action
per aggiungere il gioco alla
Lista dei desideri di Steam.
Non è il miglior trailer di tutti i tempi,
l'ho montato in una sola giornata,
non ho nemmeno moltissimo
materiale da utilizzare
e in definitiva non sono Derek Lieu,
quel ragazzo che crea
quei meravigliosi trailer
per ogni sorta di gioco indie.
Ma per ora fa bene il suo lavoro
e dopo averlo postato
su YouTube e altri social
ha spinto il gioco oltre
le 30.000 Liste dei desideri,
e non è male dato che il Next Fest
non è ancora iniziato.
E infine c'è la demo.
Non sono sicuro di quanti contenuti
voglio inserire nella demo.
Come per il trailer, se nella demo
inserissi solo il Mondo 1,
non sarebbe molto indicativa
del gameplay complessivo del gioco.
Quindi forse dovrebbe esserci
anche il Mondo 2,
metà del Mondo 2
o qualcos'altro ancora.
Quindi devo iniziare a lavorarci.
Ma, comunque sia,
penso di dovermi rimboccare
le maniche per finire il gioco.
Perché, tornando a Balatro,
potreste aver visto
l'enorme hype che ha generato
durante il Next Fest di Steam
per poi uscire ufficialmente
un paio di settimane dopo.
Lo stesso vale per Pepper Grinder:
uscirà circa un mese dopo la conclusione
del suo primo Next Fest di Steam.
E quindi se mostrerò il mio gioco
al Next Fest di giugno,
probabilmente dovrei puntare a pubblicarlo
in luglio o agosto,
che non sono così lontani nel futuro.
È meglio che mi dia da fare.
Nelle ultime settimane
ho scoperto una discreta
– per non risultare troppo pomposo –
pipeline di produzione
per portare a termine il gioco.
Si ispira moltissimo
all'approccio usato Valve
nel caso di Portal,
di cui ho parlato nel video sulla
filosofia di Valve per i playtest.
In sostanza funziona così.
Da martedì a giovedì
lavoro ai nuovi contenuti per il gioco.
Nuovi livelli, nuovi sfondi curati
o nuove cutscene:
qualsiasi tipo di novità.
Il venerdì mi dedico
alla risoluzione dei bug.
Scelgo qualcosa dalla sterminata
lista di cose da fare su Trello
e cerco di trovare
una soluzione a quel bug.
Mi dedico ad altri bug e poi,
alla fine della giornata,
testo il lavoro svolto
e lo esporto in una nuova build.
Quindi la invio a dei playtester
– di solito utenti casuali su Twitter –
che non sono mai più di tre.
Il lunedì controllo
i messaggi privati su Twitter
alla ricerca di bei filmati di playtest.
Guardo l'intero video
annotando tutte le cose
che voglio modificare,
come bug o ambientazioni
che devono essere rifinite
o livelli troppo facili,
troppo difficili o troppo complicati,
o degli exploit che non avevo previsto
durante lo sviluppo di quella sezione.
Ci sono state altre versioni
di questo processo
nel corso dello sviluppo,
ma ormai credo di averla perfezionata.
Ad esempio, in precedenza inviavo
la build di turno a troppe persone
ritrovandomi con tantissimi
filmati da guardare:
era davvero troppo.
E se qualcuno si imbatte
in un bug o un exploit
è davvero penoso
e non particolarmente utile
veder emergere la stessa cosa
in altri nove video.
Inoltre distribuivo le build per
i playtest durante la settimana
rimanendo quindi bloccato
senza poter far nulla
nell'attesa dei filmati dei playtest.
Inviandole di venerdì le persone
ci giocano durante il weekend
mentre mi prendo una pausa
meritata e gioco a Balatro.
Grazie a questo processo,
il gioco sta iniziando a prendere forma.
I nuovi contenuti nascono
come grezze sperimentazioni
che vengono subito testate,
e la roba di vecchia data
– quella dei primi livelli –
è stata vista da così tanti playtester
e ha ricevuto così tante
regolazioni e correzioni
da essere ormai a regola d'arte.
E grazie a questo processo
credo sia fattibile terminare il gioco
poco dopo la sua presentazione
al prossimo Next Fest.
Ma non posso farlo se resto qui
a raccontarvi quello che sto facendo:
è ora di rimettersi al lavoro
almeno per un po'.
Ci sono playtest da fare,
video di playtest da guardare
o nuovi contenuti da creare,
bug da correggere
o partite a Balatro da giocare:
consultate il sopracitato programma
e in base al giorno
saprete cosa sto facendo.
Come sempre, i patron di GMTK
possono già giocare all'ultima build.
Se invece non state finanziando lo show
– e non capisco perché –
potete aggiungere il gioco
alla Lista dei desideri su Steam
per sapere quando uscirà la demo
in occasione del prossimo Next Fest.
Grazie mille per la visione,
ci sentiamo presto.
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)
(♪ ♪ ♪)