05 giu 2010

Breve Riassunto Storico

Programmazione | Roguelike

Dato che in giro di roguelike a tema fantasy ce ne sono molti, la mia prima intenzione è sempre stata quella di puntare verso un’ambientazione differente: seguendo i miei gusti personali ho scelto l’horror, ed in particolare i temi lovecraftiani e gli zombi.

E proprio questi ultimi hanno ispirato il mio primo progetto, nato durante le ferie natalizie di qualche anno fa: Dead City incentra l’azione sull’attraversamento di una città infestata dai suddetti mostri, con la possibilità di raccogliere ed utilizzare armi ed equipaggiamento vario.

dc_1Come linguaggio e piattaforma di sviluppo ho scelto inizialmente Blitz!, che fornisce una certa versatilità e potenza, con il quale ho creato delle prime versioni che già facevano uso di grafica 2D a tile. Il problema è nato quando, con lo scemare dell’esaltazione iniziale, mi sono reso conto che le features che avevo implementato non erano tanto un insieme organizzato quanto un mucchio caotico che seguiva degli standard piuttosto casuali. L’improvvisa consapevolezza che nel momento in cui avessi lasciato perdere il progetto mi sarebbe stato praticamente impossibile riprenderlo in seguito, seminò in me il germe della necessità di una minima analisi preliminare.

La mia difficoltà più grande, a livello di mentalità, è stata in effetti quella di superare uno stadio di estasi creativa in cui le idee si riversavano direttamente sul codice, che risultava più il prodotto di uno stato d’animo preciso che di un lavoro sistematico e organizzato. A questo scopo è stato utile il procedere con successive iterazioni dello stesso progetto, spesso ricominciando da zero o recuperando pezzo per pezzo i miei progressi precedenti.
A mano a mano sono emerse nuove priorità, e ne sono state scartate delle vecchie.

Nel frattempo avevo buttato giù una primissima e limitata bozza per Barton Rook, un roguelike con elementi presi dai racconti di Lovecraft, e che avrebbe avuto una struttura episodica, con livelli raggruppati all’interno di “storie” autoconclusive. Purtroppo per lui, è finito quasi subito in ibernazione.

Il mio idillio con il Blitz! si è concluso quando ho cominciato a lavorare in Java: maneggiando e riparando (soprattutto) varie applicazioni web, avevo acquistato una maggior dimestichezza sia a livello di programmazione (prima avevo lavorato in C++, ma erano già passati due-tre anni di vuoto) che di approccio gestionale. A quel punto la mia immaginazione esplose in tutte le direzioni concepibili, e da zero ripresi Dead City e ne tirai fuori altre due iterazioni, passando dal 2D ad una console application con grafica testuale.
dc_2A livello tecnico i problemi più pressanti che ho dovuto affrontare sono stati la gestione della visualizzazione a schermo e la lettura dell’input da tastiera (di base, in console, la lettura avviene solo dopo che l’utente ha premuto INVIO, ed era quindi improponibile per un gioco). Fortunatamente entrambe le questioni sono state risolte adottando JCurses, il porting Java della libreria Curses.

Quest’ultima operazione (che avrebbe dovuto fornire la base per un framework per il futuro – ma vabeh, per adesso ho accantonato l’idea) è andata avanti per un bel pò, ed è stata protagonista di diversi progressi, tanto da arrivare ad una versione funzionale, anche se priva di diverse features. Ma era già qualcosa. Però a quel punto ero ormai saturo, e sentivo il bisogno di dedicarmi a qualcosa di diverso.

Tipo, che so, ad un roguelike a tema fantasy.
E così ho cominciato lo sviluppo di Omen Nomen.

E finalmente arriviamo al presente.

Scrivi un commento