Nota a Me Stesso: Estendere lo Unity Editor (…sempre)

marcosecchi Dev, Strumenti di Sviluppo, Unity3D 0 Comments

Ho recentemente concluso il mio viaggio di un anno e mezzo come game developer per A Little Space game (per DarkwaveGames e 505 Games), e mi sono preso un po’ di tempo per guardarmi indietro per vedere cosa è andato storto (cerco sempre di imparare dai miei errori). Come freelancer questo di solito significa: dove ho perso tempo (e, molto probabilmente, denaro)?

Pericolo in Arrivo…

Una delle cose che mi sono piaciute di più di A Little Space è stata la valanga di possibili personaggi che possono essere generati (parliamo di miliardi di combinazioni) ed essendo un gioco in pixelart, questo vuole dire parlare di tonnellate di spritesheet che dovevano essere tagliati, colorizzati e composti in livelli.

The Project Panel

Pic. 1 – Il project panel

Posso Farlo a Mano

Importare degli sprite solitamente è una operazione ch richiede molto tempo ma, sin dall’inizio, ho fatto l’errore di non creare uno strumento adeguato per facilitarmi la vita (alla fine si tratta solo di cliccare un paio di pulsanti in importazione, non è vero?).

Le Cose Peggiorano

Le cose hanno cominciato ad andare male quando ho scoperto che l’illustratore ingaggiato non era… diciamo… all’altezza della situazione: gli elementi venivano posizionati a caso negli spritesheet, molte grafiche andavano rieditate perché contenevano errori (es.: glow che sbordavano), altre semplicemente andavano eliminate perché non funzionavano (es.: occhi all’altezza della barba). La maggior parte delle volte, questo significava rieffettuare gli slicing più e più volte… Alla fine del progetto, lo Sprite Editor di Unity era diventato il mio peggior nemico!

The Inspector Panel

Pic. 2 – Il terribile pulsante per aprire lo Sprite Editor

Scrivere un semplice importatore mi avrebbe fatto risparmiare una marea di tempo… sfortunatamente, quando ti trovi intrappolato nel circolo vizioso delle deadline, pensi che non ne avrai il tempo… vero?

Sbagliato!

Come esperimento, alla fine del progetto ho cominciato a scrivere uno sprite importer: mi sono stupito di quanto poca fatica ci volesse per estendere l’Editor di Untiy e costruire un semplice prototipo.

Ora il tool è molto più complesso di quanto avessi inizialmente pensato ed include cose che non mi sarebbero servite in A Little Space ma, come si dice… l’appetito vien mangiando!
ho persino deciso di caricare il progetto sullo Unity Asset Store (nel caso a qualcuno servisse).
Potete visionare alcune funzionalità nei video qui sotto:

Una Lezione da Imparare

Alla fine credo che perdere un paio di giorni (anche qualcuno di più) per scrivere uno strumento specifico e mirato, la maggior parte delle volte ripaghi e faccia risparmiare un sacco di tempo e denaro, e questo vale soprattutto se si è freelancer!