
Due parole adesso su come è strutturato il programma. Lo schermo di gioco è costituito da un JPanel, su cui ho simulato una console vecchio stile: quella che, come abbiamo già visto, in Rogue era definita Curses. Per il Java, come per altri linguaggi di programmazione analoghi, si possono trovare librerie che emulano il comportamento dei curses, ma personalmente non mi piacciono granché: ho dunque trafficato un po’ coi JPanel, per ottenere più o meno gli stessi risultati. Non sarà identico, ma mi pare soddisfacente. I mostri sono dotati di un AI piuttosto rudimentale, sia perché l’ho programmata in tempi ristretti, sia anche per non rendere troppo complicata la vita al protagonista. Sono comunque forniti di due sistemi di ricerca del personaggio: ricerca a vista e ricerca a olfatto. In altri termini, se vedono il personaggio lo inseguono a vista; se non vedono il personaggio, cercheranno di seguire l’odore che il personaggio ha lasciato nelle aree visitate. Se sono messi male, possono tentare di fuggire, oppure di mangiare qualcosa per recuperare le energie. Per simulare l’odore, ho usato una semplice variabile numerica. Quando il personaggio calpesta una casella, la variabile corrispondente guadagna una certa cifra, che poi decade col tempo, quando il personaggio si allontana. I mostri possono “fiutare” il punteggio della variabile e seguire così la traccia, alla ricerca di variabili più “fresche”. Forse non è il sistema migliore per svilupparlo, ma è rapido e sufficientemente semplice. Inoltre, non richiede algoritmi che consumano tante risorse. Personaggio e mostri possono fare più o meno le stesse cose. o almeno potrebbero: in questo caso, ho preferito evitare di far usare anche ai mostri gli attrezzi che si possono trovare, ma sono capaci di raccogliere il cibo (o almeno ciò che loro considerano cibo) e mangiarlo quando sono a corto di energia. Entrambi, infatti, estendono la stessa classe, ossia “Creatura”, al cui interno si trova la gran parte dei metodi usati dai mostri e dal giocatore. Utilizzato in un roguelike normale, questo sistema darebbe anche ai mostri la possibilità di servirsi di tutte le armi e di tutti gli oggetti magici che il giocatore potrebbe usare. E potrebbe essere molto letale, credetemi... ma sarebbe anche molto interessante, per cui credo proprio che lo farò, prima o poi. È poi possibile che il gioco contenga alcuni bug, anzi diciamo pure che è probabile: quasi tutti i programmi ne contengono, ma nel peggiore dei casi dovreste solo notare comportamenti anomali del personaggio o dei mostri. Nel caso, siete liberi di segnalarli, così li cercherò e li correggerò. Se il Java è installato correttamente, potete avviarlo come qualsiasi altro programma: se usate Windows, insomma, è sufficiente un doppio click.
Download Miniera (40 KB - JAR)