Lo sviluppo di un videogame è sempre qualcosa di estremamente complesso, sopratutto per i piccoli team di sviluppo, si tratta di progetti che durano anni e il lavoro d'implementazione si potrae spesso anche diverso tempo dopo il loro rilascio ufficiale. Uno degli aspetti più difficili durante lo sviluppo di un videogioco è la produzione degli asset grafici e il loro posizionamento all'interno del gameplay.
Le grandi software house del settore videoludico realizzano interi motori grafici proprietari oppure sfruttano asset contenuti all'interno di engine disponibili online. Ma per i progetti low-budget, come ad esempio quelli amatoriali, è possibile affidarsi ad alternative libere e aperte. L'articolo di oggi andrà proprio a descrivere alcuni tra i Graphics Tool open source più gettonati dalla community.
Tiled
Partiamo da Tiled, si tratta di un tilemap editor molto popolare utilizzato per assemblare background retro-looking all'interno delle scene del gioco. Tiled può esportare mappe in formato XML, JSON o in comodi flattened image file. Questo Graphics Tool è disponibile per Linux, Windows e MacOS, sarà quindi possibile adattare il tool alle abitudini di lavoro di ogni developer. Una delle feature più interessati di Tiled è la possibilità di definire il posizionamento degli oggetti in modo arbitrario, come ad esempio dei coin o un powerup, nella mappa, basterà infatti caricare nel progetto gli asset che si desiderano per inserirli correttamente nello scenario di gioco.
Piskel
È il turno di Piskel, è un pixel art editor rilasciato sotto licenza Apache 2.0. Viene impiegato durante il "confezionamento" degli ambienti di gioco e dei suoi personaggi che vengono realizzati tramite tecniche di pixel art. Piskel dispone di due feature in particolare che possono fare la differenza per molti team di sviluppo: la prima si chiama Onion skin, con cui è possibile applicare o nascondere un overlay trasparente tra un frame e l'altro, creando l'effetto ottico che genera l'animazione; l'altra è invece il Spritesheet exporting, con cui è possibile esportare le animazioni come se fossero dei file spritesheet, ovvero singoli file d'immagine contenenti tutti i fotogrammi dell'animazione. Questo rende molto più semplice la vita dei developer che possono caricare un animazione semplicemente indicando al gioco un file di immagine.
Unpiskel.py
Terzo ed ultimo tool di oggi è Unpiskel.py.
Spesso durante lo sviluppo può presentarsi la necessità di convertire i file generati da Piskel in file PNG. Unpiskel.py serve proprio a questo, tramite questo comodo script Python è possibile ottenere dei file PNG da poter esportare su altri progetti. Ad esempio, per convertire un file basterà digitare da shell:
python unpiskel.py input.piskel
mentre per convertire un insieme di file:
for f in *.piskel; do python unpiskel.py "$f"; done
Con i file PNG sarà quindi possibile riutilizzare i medesimi asset grafici su altri progetti, magari per realizzare un seguito o uno spinoff, oppure per creare nuove scene con tool diversi da Piskel.