Visualizzazione post con etichetta roguelike. Mostra tutti i post
Visualizzazione post con etichetta roguelike. Mostra tutti i post

sabato 31 gennaio 2015

Scantanador, un roguelike "in fieri"

Cliccate qui per provare Scantanador 0.0.1 Alpha.
Scantanador è il nome di un roguelike programmato da me, in JavaScript, e basato sulla libreria ROT.JS, libreria JavaScript (che sorpresa!) che contiene diverse funzioni per semplificare la vita a chi, per una qualunque forma di pazzia, decida di programmare un nuovo roguelike. Come potete immaginare, io sono tra questi pazzi.
I comandi sono semplici e sono più o meno i classici di un roguelike. Voi siete la @ al centro dello schermo, vi muovete coi tasti freccia, il tastierino numerico o clicando/toccando il quadrante dello schermo corrispondente alla direzione. Premendo [Invio], o cliccando/toccando l'icona @, potete aprire un menu, con le azioni principali. Il tasto [?] vi mostrerà una lista di tasti, coi comandi corrispondenti.
Al momento, Scantanador è poco più di uno scheletro, ancora in ampia fase di lavorazione e con ponteggi e impalcature sparsi più o meno ovunque. Se il mio obiettivo fosse stato quello di creare un 7DRL, ossia un roguelike programmato in sette giorni, il lavoro sarebbe ormai molto vicino alla conclusione: basterebbe annodare un paio di fili, infilarci un mostro finale, magari due o tre oggetti in più e stop, il gioco è fatto. In tutti i sensi. Siccome però, nella mia pazzia o incoscienza, progetto di realizzare qualcosa di molto più ampio, la conclusione è rinviata a un futuro più o meno lontano, ma che prima o poi arriverà. Almeno, è quanto spero.
Il modello a cui più mi sono ispirato, nella progettazione, è stato ToME, storico roguelike degli anni ‘90 e oltre, nonché uno dei pilastri del genere. Per essere precisi, il mio modello è stato la vecchia versione di ToME, ossia quella che ancora si chiamava Troubles of Middle Earth e che ha chiuso i battenti con la versione 2.3.5, per rinascere poi sotto altro nome, ma identica sigla. Perché una versione così vecchia? Perché è la versione che ho giocato e amato di più, e che mi ha fatto perdere piacevolmente una montagna di ore, ai tempi dell’università: il gioco più recente è senza dubbio migliorato e più ampio, ma alla nostalgia non si comanda. E poi tutti i gusti sono guasti, no?
Nella versione definitiva, quando arriverà, Scantanador presenterà più dungeon, collegati tra loro da un mondo di superficie, oppure un solo, lunghissimo dungeon: ancora non ho deciso, ma il tempo per scegliere non mi manca, con tutto il lavoro ancora in corso. Per il momento, questa versione di prova, versione alpha che più alpha non si può, presenta un solo dungeon, di dieci livelli, e senza mostro finale. Insoddisfacente? Certo, ma è anche una versione di base, che serve a me più che altro come palestra in cui provare le funzionalità che vado via via aggiungendo: potete considerarlo una demo, in altri termini, almeno per il momento.
Trattandosi di un roguelike in JavaScript, è quindi destinato a essere utilizzato soprattutto in un browser e da dispositivi di ogni tipo e dimensione, finora mi sono concentrato principalmente sul supporto vari tipi di input: in pratica, può essere giocato utilizzando la tastiera, nella migliore tradizione dei roguelike, ma può anche essere giocato utilizzando il mouse, oppure le ditate sullo schermo. In teoria. In pratica l’ho potuto collaudare soltanto su un ristretto numero di dispositivi, per adesso, per cui ogni segnalazione di malfunzionamento sarà gradita.
Altro aspetto su cui ho lavorato molto, aspirando a un gioco di lunga durata, è il salvataggio delle partite. Il salvataggio utilizza il localStorage, per cui la partita è salvata all’interno del browser che state utilizzando: se riaprite il gioco con lo stesso browser, dovreste pote ripartire dal punto in cui avevate salvato. A meno che non siate morti dopo il salvataggio, ovviamente: come ogni roguelike che si rispetti, Scantanador abbraccia la filosofia del permadeath, ossia “si muore una volta soltanto”. Quando il vostro personaggio muore, i salvataggi sono cancellati. Punto. Ovviamente, utilizzando il localStorage voi potete imbrogliare quanto volete, se avete una minima conoscenza del JavaScript, perché i dati del salvataggio sono nelle vostre mani, facilmente accessibili.
Riassumendo, vediamo di elencare in breve ciò che è già presente in questa prima versione del gioco, (chiamiamola Scantanador 0.0.1) e ciò che sarà introdotto più avanti.
Già sviluppato:
-supporto per tastiera, mouse, touch;
-salvataggio e caricamento delle partite;
-combattimento corpo a corpo, più alcune armi;
-alcune armature, utilizzabili da player e mostri;
-combattimento a distanza (semplificato), più alcune armi;
-pozioni con effetti immediati o prolungati (alcune);
-oggetti con poteri speciali (alcuni);
-player e mostri possono raccogliere, gettare e utilizzare (alcuni) oggetti;
-mostri con poteri speciali (alcuni);
-meccanismo di combattimento riadattato dal d20 system.
Da sviluppare:
-migliorare il combattimento a distanza;
-nuovi mostri, nuovi oggetti, nuovi poteri;
-mostri più intelligenti (o meno stupidi);
-esperienza e passaggio di livello;
-classi per il player;
-abilità speciali per player e mostri;
-nuovi dungeon/ampliamento dungeon;
-mostro finale;
-magia;
-trappole;
-oggetti da identificare;
-correggere singolari/plurali;
-PNG?
E molto altro, al primo posto la correzione di tutti gli errori che troverò strada facendo. In pratica, come dicevo all’inizio, per adesso ho posto le basi: il resto consiste nell’edificare sopra queste basi. Sperando che reggano.
Ah, la grafica è ovviamente in ASCII: sono tradizionalista, ma soprattutto possiedo le capacità artistiche di un merluzzo. Inserire immagini e trasformarlo in un gioco contemporaneo non sarebbe difficile; realizzare immagini decenti lo è, almeno per me. Che poi in realtà non è proprio definibile come ASCII; dato che utilizzo caratteri Unicode, ma non importa.

Scantanador - A roguelike "in fieri"

Click here to try Scantanador 0.0.1 Alpha.
Scantanador is the name of a roguelike in JavaScript, which I’m programming. It utilizes the library ROT.JS, which is a very nice tool to help a poor, distressed programmer, who is working on a roguelike: its author seems to have a difficult relationship with semicolon and suchlike, but that’s another matter. It’s a good library, if you are crazy enough to program a roguelike. I am.
Command keys are quite easy and are, more or less, those you find in any roguelike. You are the @ in the centre of the screen and you can walk around by using arrow keys, numpad, or clicking/tapping the portion of the screen corresponding to a given direction. Pressing [Enter], or clicking/tapping on the @ icon, you can access to the menu, which lists all the main commands. The ? key will show you a list of all the keys used in the game.
Right now, Scantanador is little more than a skeleton, a bare-bone structure on which I am still working and a lot of work is still needed. A lot. If I were aiming for a 7DRL, which is to say a roguelike wrote and concluded within 7 days, I would be almost there: add a little more stuff, a final boss, maybe another pair of objects and the game would be ready. But not. Since I am crazy enough to think about a bigger game (way bigger), I still have a long way to go, before having a game which, somehow, can be seen as completed. Some day I’ll get there, for sure. Or, at least, I hope.
My model is ToME, mainly, which is a historical roguelike from ‘90s, but still alive and kicking. More or less. In truth, the version I’m using as an inspiration is not exactly alive and kicking, being the old 2.3.5 version, which was still called “Troubles of Middle Earth”, before kicking the bucket and being reborn with a different name and quite a different world. Why am I looking and the old version, if there is a new one, which is richer and probably better in every aspect? Because ToME 2.3.5 (and all the previous versions) is the one I played and loved the most, the game on which I wasted away many and many hours, when I was in college. It’s nostalgia, pure and simple, and I know it, but... it’s a matter of tastes, right? And all tastes are a waste, in the end. More or less. Let’s say so, okay?
Ina distant day, Scantanador will posses many dungeons, all connected by a wilderness or maybe just one dungeon, but extremely deep: I’ m not sure, yet, but I still have plenty of time, to make up my mind about it. There is still an awful lot of work, for me. Anyway, this demo version (which is really an Alpha release, but very alpha) has only one dungeon, with 10 levels, and without a final boss. Not satisfying? I know, I know, but it’s a first release, which manly serves to me as a playground, where I can test new stuff and see if everything works correctly, any time I add some new object, monster or power. It’s just a demo, as I said.
Being a JavaScript game, it should work on a very wide range of browsers and devices, and work fine everywhere. Or at least fine enough. This is the reason why I concentrated on supporting many kind of input: you can play it with your keyboard, with a mouse, tapping on a touchscreen and so on. Or, at least, you should be able to: I could only test it on a limited number of devices and browsers, so I’m not sure that it will really work everywhere. If you find something wrong, just tell me and I’ll fix it.
Given that I’m trying to program a game, which could last many hours, I also spent quite some time on the save and load process. The game is saved inside the browser you’re using to play it, in its localStorage object: if you open Scantanador with the same browser, you should be able to restart a previously saved game. Unless you died after the last save, of course: as a true roguelike, at least in spirit, Scantanador follows the philosophy of permadeath, which is to say “you can only die once”. Once you die, your character and all the saved game are deleted. That’s all. Of course, since it utilizes the localStorage, you can cheat the living shit out of a saved game, if you really want and if you have a minimal working knowledge of JavaScript: all the data are in you browser and very easy to access.
In short, let’s see what has already been implemented in Scantanador (version 0.0.1) and what is still waiting in line.
Already here:
-keyboard, mouse, touch support;
-saving and loading of a game;
-melee fight, plus some weapons;
-some armours, which can be equipped by player and monsters;
-ranged fights (simplified), plus some ranged weapons;
-potions with immediate and prolonged effects (some);
-items with special powers (some);
-player and monsters can pick up, drop and use (some) items;
-monsters with special powers (some);
-slightly changed d20 system rules;
Still waiting:
-improving the ranged fight;
-new monsters, items, powers;
-smarter monsters (or at least less stupid);
-experience points and level-ups;
-classes for the player;
-special abilities for player and monsters;
-new dungeons/bigger dungeon;
-last boss;
-magic system;
-traps;
-unidentified items;
-fix singular/plural;
-NPC?
And much more, starting from all the bugs I will surely have to squash. Put another way, as I said at the very beginning, I only put the basis for a game: now I must build over it, hoping that everything will be solid enough to hold.
Ah, graphics are obviously in ASCII: I’m quite the traditionalist, but I am also as artistic as a cod. It would be easy to add graphical tiles to the game and turn it into something more modern, but it’s not easy to make decent graphical tiles, at least for me. And, by the way, it’s not really ASCII, since I’m using Unicode characters, but never mind.

mercoledì 13 febbraio 2013

Un roguelike negli abissi di Mandelbrot

Avendo già parlato in precedenza dei videogiochi che si possono raccogliere sotto l’etichetta di roguelike, tornerò oggi sull'argomento per presentare un roguelike che ho appena terminato o, per essere più precisi, di cui ho appena terminato la prima versione (chiamiamola pure “Alpha”, per seguire la terminologia usata nello sviluppo del software). Entrando maggiormente nel dettaglio, lo si può schedare come coffeebreak roguelike, ossia come roguelike da “pausa del caffè”: sistema di gioco semplificato, che non richiede la lettura di manuali abnormi, numero di comandi ridotti, gioco rapido e così via. Qualcosa che si può usare per occupare cinque minuti liberi, con una dose di attenzione ridotta e senza affaticare troppo il cervello.
Il titolo del videogioco è “Gli abissi di Mandelbrot”: il suo effettivo legame con gli insiemi di Mandelbrot, uno dei tipi più noti di frattale, è alquanto labile o inesistente, anche se nella schermata di apertura vedrete proprio un insieme di Mandelbrot (disegnato sul momento dal programma a ogni avvio, tanto per dimostrare la velocità e la facilità con cui lo si può realizzare), ma il titolo mi piaceva e così l’ho utilizzato. Per il resto, segue abbastanza fedelmente le caratteristiche tipiche del genere roguelike: grafica in ASCII (o quasi, in realtà ho usato gli UNICODE, ma sempre di caratteri si tratta), comandi da tastiera (ma ci sono pochi tasti da usare), generazione procedurale e casuale del contenuto, protagonista raffigurato col carattere @, eccetera eccetera. È in Java, per cui funziona su qualsiasi tipo di dispositivo abbia installato il Java, qualunque sia il sistema operativo.
Lo scopo del gioco è altrettanto semplice: voi siete il prode @ e dovete scendere sempre più in profondità in un dungeon, sopravvivendo il più a lungo possibile, sia contro i nemici, sia contro le condizioni climatiche dei vari livelli. Non c’è un finale vero e proprio, al momento, a meno che non consideriate come “finale” il raggiungimento del livello più basso del dungeon (auguri... le probabilità di farcela sono così basse da essere di fatto insignificanti), ma la sfida può essere quella di arrivare sempre più avanti, a ogni partita: a mano a mano che si scende, infatti, i nemici diventeranno sempre più potenti. Il vostro personaggio, invece, non si potenzierà con aumenti di livello, ma potrà farlo trovando pozioni magiche, oppure pergamene magiche, o infine armi sempre migliori: a volte questi oggetti saranno abbandonati sul pavimento e potranno essere raccolti facilmente, più spesso saranno nelle mani di un nemico e dovrete sconfiggerlo, per poter ottenere il bottino. Con un avvertimento: non tutti gli oggetti sono benefici e non tutti gli abitanti del dungeon cercano di uccidervi a vista.
Nel corso dell’avventura, troverete vari oggetti. Le pozioni possono curarvi dai veleni, restituirvi punti vita, aumentare le vostre caratteristiche, ma anche diminuirle. Le armi renderanno più potenti e più dannosi i vostri attacchi. Le pergamene possono contenere informazioni utili, inutili, oppure potenti magie. I vestiti servono proteggervi dal clima: se fa freddo, indossatene molti; se fa caldo, spogliatevi. La temperatura di ogni livello è indicata in basso a destra, ma riceverete anche diversi messaggi di avviso, se state morendo di caldo o di freddo. Gli artefatti sono una versione super dell’oggetto corrispondente: hanno poteri speciali, che possono essere attivati un certo numero di volte in ogni livello. Di tanto in tanto, potreste imbattervi anche in un negozio: in quel caso, potrete entrare e comprare o vendere oggetti.
I comandi sono il cuore di ogni roguelike, ma qui sono ridotti all'essenziale  Per muoversi, si possono usare i tasti freccia e i numeri: con le frecce vi potete muovere nelle normali quattro direzioni, coi numeri potete anche muovervi in diagonale. Lo schema corrisponde alla disposizione di un tastierino numerico: col 7 in alto a sinistra, col 9 in alto a destra, con l’1 in basso a sinistra, col 3 in basso a destra, col 5 si sta fermi sul posto, facendo passare un turno. Gli stessi tasti funzionano anche per muovere il mirino, se volete osservare qualcosa o sparare a qualcosa (per poter sparare, però, dovrete prima trovare un’arma da fuoco e assicurarvi che sia carica).
Col tasto V potrete osservare qualcosa: premendolo, vi apparirà un mirino a forma di X, da muovere sullo schermo. Lo stesso mirino apparirà premendo il tasto F, che permette di sparare (se ne avete i mezzi): in questo caso, però, una vota scelto il bersaglio dovrete premere Invio, per confermare e sparare.
Il tasto P permette di vedere i dati del vostro personaggio: forza, destrezza, costituzione, oggetti indossati. A titolo informativo, la forza determina i danni che infliggete, la destrezza determina la precisione nel colpire, la costituzione determina il numero di punti vita: al momento della creazione, il vostro personaggio avrà 10 punti in ognuna di queste, ma disporrà di altri 12 punti da distribuire a proprio piacimento.
Il tasto O elenca gli oggetti in vostro possesso: solo quelli che trasportate, non quelli che indossate.
Il tasto I permette di indossare vestiti, impugnare armi e così via: le armi possono solo essere impugnate (Arma 1 è l’arma da corpo a corpo, Arma 2 è l’arma da combattimento a distanza), ma i vestiti possono anche essere utilizzati come armi, invece di indossarli normalmente, se proprio volete. Più o meno qualsiasi oggetto può essere usato come arma, in realtà, anche se pochi saranno efficaci... a parte le armi. Se però desiderate sconfiggere i nemici, colpendoli con le vostre mutande, nessuno ve lo impedirà.
Il tasto U permette di usare un oggetto nel modo più logico: impugnare un’arma, indossare un vestito, leggere una pergamena, bere una pozione, caricare i proiettili in una pistola, eccetera.
Il tasto A permette di attivare i poteri speciali di un oggetto, se li possiede: gli artefatti di solito ne possiedono uno, gli altri oggetti di solito no. Gli artefatti sono riconoscibili dal loro simbolo, che è una A maiuscola, e dal loro nome alquanto “particolare”: come gentile omaggio, alla partenza ne troverete uno proprio sotto i vostri piedi, pronto per essere raccolto e indossato, o impugnato.
Per raccogliere un oggetto, spostatevi sopra l’oggetto e premete il tasto Invio, oppure il tasto con la virgola. Per liberarvi di un oggetto, premete il tasto G (getta). Per rimuovere un oggetto indossato (sfilare un vestito, riporre un’arma), premete il tasto T (togli).
Restano ancora pochi comandi. Le scale sono rappresentate dai simbolo < (scala verso il livello precedente) e > (scala verso il livello successivo): per salire o scendere, premete il tasto corrispondente, oppure premete Invio. Premere Invio vi permetterà anche di entrare in un negozio. Per attaccare un nemico, usate i tasti di movimento e “muovetevi” contro di lui.
Se premete il tasto Esc, mentre siete nello schermo di gioco, potrete abbandonare il gioco: prima di uscire, vi sarà chiesto se salvare la partita. Se rispondete di no, vi suiciderete. Se invece premete Esc, mentre siete nello schermo per selezionare un oggetto, vedere l’inventario o cose simili, tornerete al normale schermo di gioco.
Infine, premendo il tasto S potrete salvare il gioco in ogni momento; un altro salvataggio automatico avverrà ogni volta che passate in un nuovo livello. Alla morte del vostro personaggio, il file di salvataggio corrispondente sarà cancellato: questa è la dura legge del Permadeath (morte permanente), che regna nei roguelike.
Buona discesa negli abissi di Mandelbrot.

giovedì 20 settembre 2012

Adventure e le avventure testuali


Discendendo lungo le ere geologiche dei videogiochi per computer, le avventure testuali occupano uno degli strati più profondi della Terra, se non il più profondo, prima che comparissero sulla scena persino i più rudimentali esempi di interfaccia grafica, come quella fornita da Rogue. La loro fase di massimo splendore e massima diffusione si colloca tra la seconda metà degli anni ’70 e la prima metà degli anni ’80, periodo in cui il computer era ancora un oggetto alieno per la maggior parte degli esseri umani, ma soprattutto periodo in cui la potenza di calcolo e di memoria di un computer non era neppure paragonabile a quella di un qualsiasi aggeggio odierno, il che poneva grandi limitazioni ai primi programmatori di videogiochi. Le avventure testuali nascono proprio da queste limitazioni, volgendole a proprio favore, proprio come avrebbe fatto Rogue qualche anno dopo.
Un’avventura testuale è all’incirca la versione computerizzata di un libro-game (o, a seconda dei punti di vista, un libro-game è la versione cartacea di un’avventura testuale): l’interfaccia è costituita da solo testo e il testo racconta una storia descrivendo ambienti e situazioni, con cui l’utente potrà interagire descrivendo le proprie azioni. In pratica, sono basate su una interfaccia in linguaggio naturale: il gioco descriveva un ambiente, l’utente scriveva l’azione da eseguire su quell’ambiente e il gioco interpretava l’azione, descrivendo poi le conseguenze di quella azione. Il giocatore, quindi, interagiva con il gioco parlandogli (o meglio scrivendogli) nella propria lingua, che era generalmente l’inglese; stava poi al gioco interpretare gli ordini e agire di conseguenza. Le interfacce in linguaggio naturale erano un esperimento molto interessante, in seguito accantonato in favore delle interfacce grafiche e adesso rispolverate nell'era degli smartphone: le presunte novità rivoluzionarie sono vecchie di oltre trent’anni, ma di questo parleremo un’altra volta.
Adventure è il capostipite delle avventure testuali. Noto anche come Colossal Cave Adventure (e varianti sul tema), è un videogioco sviluppato tra il 1975 e il 1976 e rappresenta, o meglio racconta, una esplorazione di un complesso di caverne realmente esistente, ma riveduto e corretto per renderlo più affascinante ai giocatori. Come è facile da intuire, lo schema di gioco è lo stesso che sarà ripreso qualche anno dopo da Rogue: l’esplorazione di un dungeon sotterraneo. Peraltro, il vero anello di congiunzione tra avventure testuali e roguelike sarà Zork, un successore di Adventure che apparirà nel 1979, sempre a titolo informativo. In questo complesso di caverne è possibile trovare svariati oggetti, che il giocatore potrà raccogliere e utilizzare in altre parti del gioco, per risolvere i puzzle che si troverà davanti. Esempi classici sono le porte chiuse, che dovranno essere aperte con chiavi perse in qualche punto della caverna, oppure porzioni di cibo da raccogliere e utilizzare, in seguito, per distrarre animali feroci, e così via: tutti elementi che, con l’aggiunta della grafica, alla metà degli anni ’80 daranno vita a un nuovo genere di videogiochi, ossia le avventure grafiche.
La struttura di Adventure era complessamente semplice, o semplicemente complessa. Come detto in precedenza, una tipica sessione di gioco consisteva in un dialogo rudimentale tra il giocatore e il gioco: il gioco descriveva il luogo, il giocatore scriveva una breve azione, composta di solito da un verbo e un eventuale complemento (“raccogli chiave”, “vai nord”, “guarda”, eccetera), il gioco descriveva la situazione risultante dall’azione, e così via. Per dare un esempio, attingerò di nuovo alle mille e una risorsa di Emacs, un programma che è più o meno la versione digitale della tasca di Doraemon o del gonnellino di Eta Beta: fra le sue innumerevoli risorse è incluso anche Dunnet, una semplice avventura testuale. Ecco come si presenta una sessione di gioco:
Come si può capire, un videogioco di questo tipo è sia semplice che complesso da realizzare. È semplice perché utilizza soltanto uno dei mattoni fondamentali di qualsiasi linguaggio di programmazione: la stringa di testo, qualcosa che qualsiasi computer può riprodurre su schermo senza problemi, fin da quando esistono gli schermi. Realizzare una interfaccia grafica richiede molto più lavoro rispetto a scrivere una serie di frasi e appiccicarle sullo schermo. La parte complessa, però, è un’altra ed è l’interazione col giocatore. Il programma, infatti, deve capire gli ordini del giocatore, che sono dati in una lingua umana (e cioè in un linguaggio che il computer non può capire), tradurli in qualcosa che abbia senso, applicarli al gioco e poi fornire una risposta in lingua umana. Non è una operazione semplice. Nel caso di Adventure e delle avventure testuali, però, il compito era facilitato dalla loro struttura: gli ordini impartiti dall'utente erano limitati di solito a una o due parole, almeno nelle prime versioni di questi giochi, ed era dunque possibile rendere il programma capace di “capire” un numero sufficiente di ordini e reagire a ognuno di essi in modo adeguato alla situazione. Come è ovvio, il verbo “capire” è usato in senso molto lato; il programma non capiva l’inglese (o qualsiasi altra lingua naturale), ma confrontava le parole digitate dall'utente col vocabolario di parole in suo possesso: quando riusciva a farle coincidere, costruendo un comando eseguibile, il programma lo eseguiva. Più o meno, Adventure capiva l’inglese tanto quando una serratura capisce una chiave. Delle interfacce in linguaggio naturale, però, parlerò meglio in un’altra occasione.
Come dicevo all’inizio, l’età dell’oro delle avventure testuali si è conclusa all’incirca verso la metà degli anni ’80, mentre il declino è arrivato con gli anni ’90, quando più o meno ovunque ha cominciato a imporsi la grafica. Come avviene anche in natura, le avventure testuali hanno reagito ai cambiamenti del loro habitat in due modi: evolvendosi, oppure estinguendosi. L’evoluzione ha portato alla nascita delle avventure grafiche e alle visual novel, una specie che ha trovato ambiente favorevole in Giappone, dove è tuttora una delle forme di vita dominanti nel mondo dei videogiochi per computer. Un’altra branca, passata attraverso Zork, ha prodotto Rogue e i successivi roguelike, i quali si sono a propria volta evoluti in Diablo e videogiochi analoghi: evoluzione non indolore e non “pura”, in quando Diablo è il prodotto di vari incroci, ma è pur sempre un discendente di Rogue.
Come abbiamo già visto parlando dei roguelike, anche nel caso delle avventure testuali esistono i celacanti, che hanno scelto di avere a che fare il meno possibile con l’evoluzione e conservare il sano gusto dei giochi di una volta: attorno alle avventure testuali si è infatti sviluppata una comunità “di nicchia”, che continua tuttora a produrne con entusiasmo e che, a differenza di altre branche di videogiochi, ha concentrato la propria attenzione sullo sviluppo dei dialoghi tra utente e gioco, cioè l’interfaccia in linguaggio naturale. Le avventure testuali prodotte oggi, quindi, permettono una maggiore interazione e “capiscono” comandi più complessi rispetto ai tradizionali verbo-più-complemento, proprio come la comunità dei roguelike ha arricchito il proprio mondo ludico introducendo forme sempre più complesse di AI, come le reti neurali e gli algoritmi genetici. In breve, anche le avventure testuali sono oggi un patrimonio della comunità mondiale dei nerd.
Per chiunque fosse interessato a sperimentarne una, questi sono i link a un paio di versioni di Adventure:
Un’altra avventura testuale è contenuta in Emacs, come ho già detto, mentre chi fosse interessato a produrre avventure testuali, anche solo per divertimento o per esercitarsi, esistono varie soluzioni: una facile guida (in inglese) per programmare avventure testuali in Prolog, che funziona benissimo con SWI-Prolog, ma soprattutto il magico mondo di Inform, un pratico ambiente di sviluppo per storie interattive (una forma evoluta di avventura testuale), gratuito e disponibile anche in italiano.

sabato 7 aprile 2012

UnReal World, un roguelike di sopravvivenza

Oggi tornerò a parlare di uno di quegli argomenti che interessano soltanto me e una manciata di altre persone al mondo. Beh, forse non proprio una manciata, ma un numero di quattro cifre potrebbe essere un buon riferimento, come stima approssimativa. Nel caso specifico, l’argomento è UnReal World.
UnReal World è un videogioco indie; da un certo punto di vista, incarna l’essenza stessa del videogioco indie, almeno ai miei occhi. Dal 1992, cioè da vent’anni, è sviluppato senza interruzione e con ammirevole costanza da un finlandese, Sami Maaranen, con l’aiuto del suo collega e conterraneo Erkka Lehmus, e tutto per passione personale, visto che il videogioco, di per sé, non potrà mai essere altro che un prodotto di nicchia e non li ripagherà mai neppure di un millesimo del tempo speso a lavorarci. O almeno, non li ripagherà in termini economici. Onore a loro per averlo creato e per portarlo avanti.
UnReal World è un videogioco di nicchia, dicevo, ma sarebbe più preciso definirlo un gioco di nicchia all'interno di una nicchia. La prima nicchia è quella dei roguelike, una delle più antiche razze di videogiochi ad aver visto la luce, all’alba dei computer, che ancora sopravvive e si ostina a prosperare nel sottobosco degli appassionati (fortunatamente). All’interno di questa nicchia, UnReal World è indirizzato a chi non cerca il solito roguelike imperniato sullo “ammazzali tutti e arraffa più che puoi”; i combattimenti sono una parte secondaria del gioco, che si orienta invece verso un problema differente: sopravvivere in un ambiente naturale.
Come dice appunto il titolo dell’articolo, UnReal World è questo: un roguelike di sopravvivenza, in un’ambientazione che nessun roguelike, e probabilmente nessun videogioco, aveva mai affrontato prima, ossia la Finlandia della tarda età del ferro. Una Finlandia immaginaria, sia chiaro, la Finlandia che, secondo i suoi autori, si sarebbe potuta sviluppare senza le invasioni straniere, fatta di foreste sconfinate, laghi piccoli e grandi, paludi, isolette, qualche collina e, di tanto in tanto, piccoli insediamenti umani, più o meno sviluppati a seconda della cultura di provenienza. In questo scenario si svolge il gioco.

Come ogni roguelike che si rispetti, UnReal World ha un sistema di gioco parecchio complicato e sviluppato. O meglio, ha un sistema di gioco, cosa trascurata da molti videogiochi moderni. Il vostro ruolo è quello di comune abitante dell’antica Finlandia, che dovrà sopravvivere in mezzo alla natura selvaggia. Non è facile. Tutto ciò che vi servirà (o quasi) dovrete costruirvelo da soli. Dovrete procurarvi da mangiare ogni giorno, dovrete ricordarvi di bere, avrete bisogno di un rifugio per la pioggia, abiti pesanti contro il freddo, luoghi riparati per dormire, armi per cacciare (se sceglierete di andare a caccia) e per difendervi da eventuali aggressioni. Soprattutto, avrete bisogno di prepararvi ad affrontare il Generale Inverno (siamo in Finlandia, ricordiamolo): senza una casa, un camino e una buona riserva di legna, morirete assiderati in allegria.
Al momento della creazione del personaggio, potrete scegliere una delle varie culture dell’epoca: ognuna sarà specializzata in determinati campi e questo condizionerà i punteggi delle vostre abilità. Un popolo di pescatori potrebbe non essere molto bravo nella caccia alle renne, mentre un popolo di cacciatori potrebbe non essere molto bravo nella pesca con le reti. A ogni modo, questi sono soltanto i punteggi iniziali, dopodiché potrete sviluppare il vostro personaggio come preferite. Se riuscirete a mantenerlo in vita abbastanza a lungo, è chiaro. Potete creare un cacciatore e farlo diventare un contadino, oppure fabbricare oggetti di vario tipo e commerciarli nei villaggi, in cambio di provviste o altri prodotti. Potete diventare un predone cannibale, che si aggira nella taiga e aggredisce ogni viaggiatore, a scopo alimentare. Il vostro unico fine è sopravvivere nel migliore dei modi: la strada per raggiungerlo la scegliete voi.
Il gioco è quanto di più libero si possa immaginare. Più o meno tutto ciò che incontrerete potrà essere ucciso e mangiato, incluse le persone. Quasi tutti i tipi di animale possono essere scuoiati, per fabbricarsi abiti, pellicce o altri oggetti di cuoio (dopo lunga e opportuna lavorazione). Potete abbattere alberi e lavorare il legno in mille modi diversi, costruire trappole ed edifici, accendere fuochi ed eventualmente bruciare mezza foresta, se non state attenti. All’inizio del gioco è possibile scegliere due percorsi guidati, uno per principianti e uno per giocatori avanzati, e portare a termine le missioni assegnate, per familiarizzare col mondo e i comandi del gioco; se non vi interessa, potete anche scegliere il gioco in totale libertà.
Rispetto al canonico roguelike, UnReal World presenta una interfaccia grafica bidimensionale abbastanza sviluppata, almeno relativamente al genere. Così si presenta la mappa allargata:

E così si presenta un’area della mappa, dopo che avrete zoomato per lavorare al suo interno:

Niente di paragonabile alle grafiche dei moderni giochi, certo, ma neppure la sua giocabilità (e rigiocabilità) è paragonabile: come ogni roguelike maggiore, si trova almeno una ventina di piani al di sopra dei colleghi più “moderni”. Come ogni roguelike, presenta anche una bella sfilza di comandi, per lo più attivabili tramite tastiera: una lista completa la potete vedere premendo ? (il punto interrogativo) all’interno del gioco, mentre F1 vi aprirà una wiki interna al gioco, con tutte le informazioni sul mondo di UnReal World.

Chiudiamo con argomenti più tecnici. Il gioco è disponibile per sistemi operativi Windows: lo è stato fin dalla sua nascita e lo è tuttora. Da quest’anno, però, è cominciata la sperimentazione di versioni adatte ai sistemi a base Linux e ai Macintosh: sono tuttora un cantiere aperto e non è detto che funzionino sempre, anzi, ma è possibile provarli e partecipare così alla loro messa a punto. I dettagli sullo sviluppo e gli eventuali bug si possono trovare e discutere nel forum, sul sito ufficiale. In alternativa, gli utenti Linux e Macintosh possono giocare la versione Windows di UnReal World attraverso l’emulatore Wine, così come è stato per gli ultimi vent'anni.
Seconda cosa: UnRewal World è a pagamento. Beh, pagamento molto simbolico, vista la somma, ma pur sempre un pagamento. È possibile scaricarlo e giocarlo gratuitamente dal sito ufficiale, in una versione di prova che ha tutte le funzionalità della versione a pagamento, ma il vostro personaggio sopravviverà soltanto per dieci giorni. Se riuscirete a non morire di fame prima, cosa non certo scontata per chi è alla sua prima esperienza. Per giocare a tempo indeterminato, invece, è necessario registrare il gioco, allo spaventoso prezzo di due euro. Esistono anche altre opzioni di acquisto a prezzi superiori, per chi volesse acquistare una registrazione valida anche per i futuri aggiornamenti e così via, ma la versione standard da due euro è più che sufficiente per tutte le vostre esigenze.
Ah, il gioco è in inglese.

sabato 19 novembre 2011

Miniera, un semplice roguelike

Sempre a proposito di roguelike, giusto per passare il tempo ho provato a prepararne uno molto semplice io stesso, sperando che sia utile a dare una idea più precisa di cosa sia un roguelike e di come funzioni. Ammesso che a qualcuno interessi, naturalmente. Il gioco in questione è “Miniera” ed è realizzato in Java, per cui può funzionare allo stesso modo su qualsiasi sistema operativo: l’unico requisito è appunto che sia installata la Java Virtual Machine. Ah, anche una tastiera può tornare utile, dato che i comandi di gioco sono dati proprio attraverso i tasti, come in quasi tutti i roguelike “classici”. Nello specifico, “Miniera” è un coffeebreak roguelike.
Un coffeebreak roguelike, come il nome stesso suggerisce, è un tipo di roguelike molto breve e veloce da giocare, adatto appunto a spendere cinque o dieci minuti di pausa, giusto per rilassarsi e per far passare il tempo. Come caratteristiche di questo sottogenere, possiamo indicare la brevità del gioco, la dimensione del livello che solitamente coincide con quella della finestra di gioco, poche regole, pochi tasti da usare e in generale uno stile di gioco orientato più che altro verso i neofiti e chi non ha tempo/voglia di lanciarsi in un roguelike “maggiore”, di quelli con manuali di svariate pagine, decine di razze e categorie tra cui scegliere e combinazioni inimmaginabili di tasti.
Un modo per sperimentare un roguelike senza doverci perdere la vita sociale, insomma.
In “Miniera”, il gioco è molto semplice: sei rimasto intrappolato in una miniera e devi raggiungere l’uscita. Per raggiungere l’uscita, basta salire un livello dopo l’altro, fino a che non sarai arrivato alla profondità zero. Se ci arrivi, vinci; se muori strada facendo, perdi. Tutto qui.
La grafica è in ASCII, puro e semplice. Questo significa che tutto è raffigurato attraverso caratteri di testo: lettere dell’alfabeto, segni di punteggiatura e così via. Il protagonista è la classica @, che ogni giocatore di roguelike conosce, # sono le pareti, § sono i cumuli di detriti (che si possono scavare, se avete una pala o un piccone), > è un passaggio verso il livello più in basso, < un passaggio verso il livello più in alto. Altri simboli rappresentano le cose che potete trovare nel corso dell’esplorazione: se non si muovono, di solito sono oggetti e li potete raccogliere e usare; se si muovono, allora non sono oggetti, ma cose che vi vogliono fare male.
Per il resto, lo scopo del gioco è trovare le scale che portano verso l’alto (cioè <) e salire, fino a che non siete arrivati all’uscita. Per un elenco completo dei pochi tasti, basta premere ? durante il gioco.

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

mercoledì 9 novembre 2011

Rogue, il nonno dei videogiochi

Abbiamo già parlato in breve del genere roguelike, un particolare tipo di giochi per computer che possiedono caratteristiche estremamente diverse da quelle dei videogiochi a cui siamo abituati oggi, ma che molto spesso ne costituiscono gli antenati. Per continuare il discorso, e siccome questi giochi rientrano tra le mie passioni, parleremo oggi del loro capostipite, da cui prendono il nome: il gioco Rogue.
Rogue è nato nel 1980, risultato del lavoro congiunto di Michael Toy, Glenn Wichman e Ken Arnold, tre studenti universitari californiani che si erano stancati dei soliti giochi presenti sui computer dell’università. I giochi in questione, a quei tempi, erano soprattutto avventure testuali, ossia giochi di ruolo in cui il computer stampava sullo schermo una descrizione testuale dell’ambiente e il giocatore interagiva scrivendo brevi comandi, del tipo “sali”, “scendi”, “raccogli l’oggetto”, eccetera. Questo tipo di giochi, per quanto potessero essere divertenti, presentavano però due difetti: la grafica non esisteva, perché erano soltanto frasi scritte sullo schermo, ma soprattutto il gioco era uno e non poteva cambiare. Una volta giunto alla fine, il giocatore conosceva tutti i passaggi e i “segreti” del gioco e non era dunque invogliato a rigiocarlo.
Rogue fu la soluzione a entrambi i problemi.
Ken Arnold, all’università di Berkeley, sviluppò il primo modello di interfaccia grafica, grazie a cui il programma poteva inserire caratteri in vari punti dello schermo, simulando così un disegno: un tipo di ASCII art, insomma, in cui su usavano i caratteri per disegnare figure. Questo modello è tuttora esistente e si chiama curses. Sulla base di questo modello, Michael Toy e Glenn Wichman, studenti dell’università di Santa Cruz, si lanciarono nell’impresa di creare un’avventura grafica, in cui il computer disegnasse sullo schermo l’ambiente di gioco, invece di descriverlo attraverso brevi frasi. Il risultato fu appunto Rogue.
Creare un’avventura grafica, però, non era sufficiente, perché rimaneva un altro grande problema, ancora più fondamentale: la rigiocabilità. Il programmatore di un’avventura testuale, infatti, per forza di cose conosceva già ogni segreto del gioco e non poteva divertirsi molto; allo stesso modo, un giocatore si divertiva poco a rigiocare un’avventura testuale già conclusa, perché ormai ne aveva imparato ogni elemento. Per risolvere il problema, decisero che non sarebbe stato il computer stesso a costruire l’ambiente in cui svolgere l’avventura, così da ottenere un’avventura diversa a ogni partita.
Questa è la base di Rogue. Il gioco, in sé, è piuttosto semplice, ma come ogni gioco semplice è anche estremamente complesso: il giocatore interpreta un personaggio, raffigurato sullo schermo con una @, e deve superare vari livelli di un dungeon, arrivare fino al livello 25, recuperare un amuleto magico e poi tornare al livello iniziale, per vincere il gioco. Durante il suo viaggio, la nostra @ dovrà affrontare vari mostri, raffigurati con altre lettere dell’alfabeto, e troverà diversi oggetti e armi che lo potranno aiutare nel suo compito. Questa è la trama di Rogue, così come di svariati altri roguelike suoi discendenti.
Il giocatore controlla il suo personaggio attraverso la tastiera: a ogni azione corrisponde un determinato tasto, grazie al quale il personaggio potrà muoversi sullo schermo, raccogliere oggetti, bere pozioni magiche, impugnare armi, attaccare i mostri e così via. anche questo sistema è stato mantenuto praticamente da tutti i roguelike successivi, ed è ancora alla base degli ultimi discendenti di oggi, in quanto elemento tradizionale.
La vera novità introdotta da Rogue, però, non è tanto l’interfaccia grafica, rudimentale ma pur sempre innovativa per l’epoca, quanto piuttosto il modo in cui il gioco è creato: è il programma stesso a produrre il gioco, non il programmatore. In altri termini, mappe, mostri e livelli non sono preparati dal programmatore, ma generati dal gioco stesso ogni volta che è utilizzato.
Quando il giocatore accede a un nuovo livello, il livello è generato casualmente dal motore del gioco: dapprima si creano le stanze, disposte a caso all’interno dello spazio a disposizione, poi le stanze sono collegate tra loro da corridoi, infine sono prodotti i mostri e gli oggetti che le popoleranno. Anche mostri e oggetti sono generati casualmente, pescandoli dalla lista di mostri e di oggetti a disposizione. Come risultato, ogni livello è sempre nuovo e diverso da ogni altro, e rappresenta una sfida diversa per il giocatore. Lo stesso programmatore del gioco non sa come siano i livelli, perché è il gioco a produrli autonomamente, ed è questo il marchio di fabbrica del genere roguelike, che sopravvive anche oggi: ogni partita è sempre diversa dalle precedenti.
Come è logico, trattandosi di computer non si può parlare di casualità reale, ma di pseudocasualità: il numero di fattori in gioco, però, garantisce periodi estremamente lunghi, prima di arrivare a ripetizioni e ritrovarsi livelli identici in tutto e per tutto a quelli già giocati. Pur nei limiti, possiamo quindi considerarlo sempre nuovo ed è proprio l’estrema rigiocabilità a caratterizzare un roguelike, rispetto a quasi tutti gli altri giochi per computer.

A più di trent’anni dalla sua nascita, ovviamente Rogue non è più mantenuto o sviluppato, soprattutto perché i suoi creatori hanno ormai raggiunto la mezza età e hanno altri impegni a cui dedicarsi. Nonostante questo, il gioco è stato “adottato” da una comunità di appassionati, che ne ha prodotto svariate versioni, per adattarlo alle macchine che si sono succedute in questi trent’anni di storia del computer. In pratica, hanno prodotto versioni di Rogue compatibili coi vari computer, per poter continuare a giocarlo senza problemi. Una lista completa (o quasi) delle varianti che ancora ne esistono, suddivise per linguaggio di programmazione, sistema operativo o tipo di computer (ma non solo, ne sono stati create anche varianti per calcolatrici), la potete trovare qui:
Fra le tante, ce ne sarà di sicuro almeno una adatta allo strumento che state utilizzando per leggere questo articolo: potete scaricarla gratuitamente e sperimentare voi stessi cosa sia Rogue. Sarà certo un interessante viaggio nel tempo, che vi metterà in contatto col mondo dei giochi per computer di trent’anni fa... e vi mostrerà quanti siano gli elementi poi ereditati dai videogiochi attuali. Diablo, tanto per dirne uno, non esisterebbe così come lo conoscete, se non ci fossero stati Rogue e tutti i suoi discendenti.

venerdì 3 giugno 2011

Cosa sono i roguelike

Oggi mi dedicherò a un argomento che mi sta particolarmente a cuore, anche se la maggioranza di voi potrà vivere tranquillamente anche senza conoscerlo: il roguelike.
Il roguelike è un tipo di videogioco alquanto di nicchia, la cui conoscenza è riservata a pochi, tanto che neppure esiste una pagina di Wikipedia in italiano sull’argomento. È anche una categoria di videogiochi molto antica, in termini di storia di computer, perché la sua origine risale alle nebbie del 1980, epoca di scarse risorse sia in termini di grafica, sia soprattutto come processori e memoria. Vediamo dunque di spiegare cosa sia di preciso.

Il capostipite, da cui il genere stesso prende il nome, è il videogioco Rogue, sviluppato appunto nel 1980. Rogue era grossomodo un gioco di ruolo, con una grafica molto semplice, ispirato a D&D, che si svolgeva attorno a un’idea molto semplice: il protagonista doveva esplorare un dungeon, ossia un insieme di sotterranei, per raccogliere soldi e diventare a mano a mano più potente, uccidendo mostri, guadagnando punti esperienza e salendo di livello. Niente di straordinario, come potete vedere, e niente che non fosse già stato sperimentato nelle prime avventure testuali per computer. La differenza, però, sta proprio in questo: i primi videogiochi di ruolo erano appunto avventure testuali, ossia storie che il giocatore leggeva sullo schermo e con cui interagiva scrivendo comandi (non molto diverse da un libro-game, insomma). Rogue, invece, trasferisce il concetto in una grafica molto rudimentale, fatta di simboli ASCII (ossia lettere alfabetiche e punteggiatura).
Molto diverso dalle grafiche attuali, naturalmente, ma per l’epoca era qualcosa di rivoluzionario. Il giocatore poteva far muovere il proprio personaggio con semplici comandi da tastiera, di solito premendo alcuni tasti, che corrispondevano a una diversa azione: r per leggere qualcosa (read), e per mangiare (eat), q per bere (quaff) e così via. I tasti freccia, o il tastierino numerico, erano usati per il normale movimento del personaggio, cioè per farlo camminare nelle varie direzioni.
Il personaggio stesso, così come i mostri e ogni altro oggetto incontrato, era rappresentato da un particolare simbolo: di solito, il protagonista è @, mentre i vari tipi di mostro sono resi con una lettera alfabetica diversa per ognuno, maiuscola o minuscola. Un cane può essere d, mentre un drago sarà D; un orco potrebbe essere o, un goblin sarà una g, e così via. Per attaccare un mostro, spesso è sufficiente muovere il personaggio contro il mostro stesso.
Altra caratteristica di Rogue, fondamentale per definire un roguelike, è lo svolgimento del gioco con un sistema di turni. Le azioni non sono in tempo reale, ma sono strutturate in modo simile a una partita di scacchi: prima di ogni azione, il giocatore ha tutto il tempo che vuole per pensare e decidere, dopodiché toccherà ai vari mostri. Non è dunque un tipo di gioco in cui contino riflessi e velocità, ma piuttosto la tattica di gioco. Posso anche prendermi un’ora di tempo, per decidere quale sia il tipo di attacco più efficace contro un determinato mostro, se necessario.
Il mondo in cui si svolge l’azione, poi, di solito è generato casualmente. Così era per Rogue e così è rimasto per la maggior parte dei suoi discendenti. Ogni volta che entriamo in un nuovo livello del dungeon, il livello è creato casualmente e riempito sempre casualmente di oggetti e mostri. In questo modo, ogni livello di gioco è un mondo a sé, che il giocatore dovrà scoprire a poco a poco, mentre procede con l’esplorazione. Nessuna partita è mai uguale alla precedente, dunque: rigiocabilità e continuo rinnovamento erano fattori che all’epoca avevano molta importanza ma che, ormai, si sono invece persi nella maggior parte dei videogiochi moderni.
Collegato a questo concetto, c’è anche quello di permadeath, ossia di morte definitiva: quando il tuo personaggio muore, è morto. Non puoi recuperare un salvataggio precedente e ricominciare dall’ultimo punto. Quando muori in un roguelike, tutto ciò che puoi fare è creare un nuovo personaggio e ripartire da capo, un altro elemento che sottolinea l’importanza di riflettere prima di agire e di avere in mente una buona tattica di gioco e non buttarsi avanti come capita, contando sulla possibilità di rifare.
Infine, la trama. Può esserci, come può non esserci. Lo schema base consiste di solito in un super mostro da sconfiggere, posto nel livello più basso del dungeon, oppure un oggetto da recuperare. Per farlo, bisognerà scendere svariati livelli del dungeon, combattere mostri di ogni tipo, ottenere armi sempre più potenti, accumulare esperienza e così via, come in un gioco di ruolo.
Per una presentazione più dettagliata dei vari punti, inclusi i sottoaspetti, vi rimando alla definizione data (in inglese) da uno dei principali siti del settore, ossia RogueBasin.

Tutto questo, come detto, avveniva negli anni ’80, con la nascita del capostipite Rogue e poi di tutti i suoi discendenti: Hack e poi NetHack, Moria, Omega, eccetera.
La tradizione dei roguelike ha continuato per tutti gli anni ’90, è sopravvissuta al cambio di millennio e ancora continua a vivere, anche se è più che altro un genere di nicchia. Molti aspetti sono rimasti invariati, o hanno subito solo leggeri adattamenti: il sistema a turni, per esempio, è tuttora valido, anche se i principali roguelike lo hanno perfezionato introducendo fattori come la velocità dei personaggi,che modificano il normale fluire dello schema “un colpo io e un colpo tu”. Il sistema di livelli, con la crescita graduale del protagonista, è tuttora in uso, così come il permadeath e la casualità dei dungeon.
Ciò che più è cambiato è la grafica. La vecchia interfaccia in ASCII è ancora molto usata, sia per nostalgia, sia per mantenersi aderenti alla tradizione, ma accanto a essa si sono sviluppate anche grafiche più evolute, sia bidimensionali sia anche tridimensionali (pochi, ma alcuni esempi esistono di roguelike 3D). Un progresso naturale, perché il vecchio Rogue aveva adottato una grafica ASCII in quanto non aveva alternative, all’epoca; oggi, invece, le alternative esistono ed è piuttosto comune vedere roguelike che utilizzano non solo una grafica 2D, in cui mostri e oggetti, suolo e pareti, sono rappresentati da immagini, ma si possono trovare anche roguelike che utilizzano effetti sonori o musica.
Nel sottobosco della Rete, i roguelike rimangono vivi e continuano a proliferare, sotto forma di giochi amatoriali, gratuiti e spesso anche open source. Ma di questo parleremo un’altra volta.