venerdì 29 luglio 2011

L’importanza di chiamarsi Editor

Quando ci si cimenta nella programmazione di un videogioco le cose da fare e a cui pensare sono veramente tante. Ci sono le meccaniche, il gameplay, la GUI, le possibili configurazioni hardware, la grafica, l’audio; e poi i contenuti, come dialoghi, storia (eventuale), personaggi, mondi, mappe.

In mezzo a questo meraviglioso marasma l’idea di infilarci pure dell’altro sembra francamente poco felice, specie se questo altro prevede lo sviluppo di nuovo codice che non apporta nulla al gioco. Stiamo parlando di lui, del pezzo di software più discusso, sopravvalutato (da alcuni), sottovalutato (da molti) e, solitamente, trascurato dell’intero processo di sviluppo di un titolo ludico: l’editor dei livelli.

E’ veramente così importante? Dipende.

Dipende innanzitutto dal tipo di gioco a cui state pensando. Per un puzzle game potrebbe servire, ma anche no; per un platform ne avrete quasi certamente bisogno, al contrario che per un roguelike, che fa della generazione procedurale il suo punto di forza. Insomma, la natura del gioco influenza certamente questa scelta. Possiamo dire che vi servirà se il vostro mondo di gioco cambia significativamente con il progredire del gioco stesso.

Quindi la regola è che se sto facendo un platform o un RPG o un qualsiasi altro gioco con varietà di scenari mi serve un editor dei livelli? Dipende.

Dipende dal tuo livello di preparazione, dal tempo e dalla passione che intendi infondere nel progetto. La progettazione e lo sviluppo dell’editor ti porterà via tempo e risorse che potresti altrimenti dedicare al progetto vero e proprio. Non è propriamente un lavoro per principianti.

Pensaci. Con poco sforzo potresti mettere in piedi dei dati innestati direttamente nel codice. E’ il modo grezzo, sporco, duro, ma che ti porta ad avere in breve un (piccolo) mondo (spoglio) pronto ad accogliere il personaggio. Vuoi prototipare? Vuoi sperimentare un’idea, per capire quanta presa può avere su di te? Capire se ti diverte, se ti coinvolge, se ti può invogliare a prenderla più seriamente? Hardcoda tutto. Una bella matrice di int con dati fissi è brutta, ma può salvarti la vita.

Oppure potresti essere un attimo più raffinato e decidere di fare tu stesso da editor producendo dei file esterni con i dati utili a descrivere il tuo mondo. Questo metodo è un po’ più lungo perchè ti chiede di scrivere anche il parser per questi file (il level loader) ma ti permette sicuramente maggiore flessibilità rispetto alla soluzione precedente. E mondi più grandi e interessanti... magari ancora un po’ spogli, un po’ privi di eventi, un po’ ripetitivi, ma va bene lo stesso, no?

…?

Ok, non ti ho convinto. Sei un duro e tieni al tuo progetto. Vuoi qualcosa di più. Vuoi veramente che dia l’esperienza di gioco di un Super Mario. Vuoi veramente che le tue mappe siano ricche e interessanti, che il tuo mondo dia l’idea di un qualcosa di vivo, in cui potercisi perdere. Allora non attendere oltre: vai e scrivi il tuo editor!

Scrivere l’editor significa spiegare al computer la tua idea. E’ qui la vera difficoltà, ma anche il suo punto di forza. Già, perchè ti costringe a ragionare sul tuo gioco, a definirne gli elementi e a prevederne le meccaniche e, soprattutto, a stabilire le strutture dati necessarie.

Sviluppare l’editor è anche un ottimo modo per capire quanto veramente tieni al progetto, poichè ti occuperà per le prime settimane, proprio il periodo in cui si registrano il maggior numero di decessi neonatali dei progetti amatoriali. Ti fornisce anche un buon metro di giudizio sul tuo gioco: se non riesci a scriverne l’editor, difficilmente saresti riuscito a terminarlo. Forse era troppo complesso, o forse non avevi le idee chiare su cosa fare (figurati sul come).

In definitiva, se hai intenzioni serie e un progetto un po’ più complesso di Pong, scrivi il tuo editor. Scrivilo bene. Non importa che sia bello, ma cerca di farlo robusto e con pochi bachi e ti darà soddisfazioni.

Male che vada avrai abbandonato un editor. Scusate il cinismo, ma la reputo una perdita meno dolorosa che abbandonare un gioco.

Nessun commento:

Posta un commento