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ì 4 novembre 2011

Breve guida a Malwarebytes

Abbiamo già parlato in più occasioni di virus e di malware, cominciando proprio dalla distinzione tra questi due termini: malware è una categoria che raggruppa tutti i programmi dannosi per un computer, mentre i virus sono soltanto un tipo di programma dannoso. In altri termini, possiamo dire che i malware sono le malattie che possono colpire un computer, mentre i virus sono una di queste malattie.
Questa è una differenza che dobbiamo tenere presente, quando il nostro computer si ritrova infettato: gli antivirus, infatti, funzionano soprattutto contro i virus e alcuni tipi di malware, ma non contro tutti i tipi, proprio come una medicina può curare una malattia, ma essere inutile contro una malattia diversa. Accanto all’antivirus, dunque, è bene tenere anche altri programmi di protezione, che si occupano di quel malware che un antivirus non può trovare e rimuovere. Malwarebytes Anti-Malware è uno di questi programmi.
Ne avevamo già parlato quasi un anno fa, ai tempi in cui infuriava il “virus di Facebook”, ossia quei simpatici link che i nostri amici ci spedivano in continuazione attraverso la chat, senza volere: in quel caso, l’infezione non era provocata da un virus, ma da un altro tipo di malware, ossia un worm, e un normale antivirus non lo avrebbe potuto rimuovere. Malwarebytes, invece, lo eliminava senza problemi. Passiamo dunque a una presentazione più completa del programma.

Malwarebytes è appunto un programma di protezione rivolto a tutto quel malware che, normalmente, sfugge al controllo di un antivirus: non serve a sostituire un antivirus, ma lo affianca e lo aiuta nel suo lavoro di pulizia. Dal punto di vista di un utente comune, però, funziona nello stesso modo: esegue una scansione del disco fisso, alla ricerca dei programmi infetti, e poi provvede a rimuoverli. Se sapete usare un antivirus, sapete usare anche Malwarebytes.
Il programma può essere scaricato dal sito ufficiale ed è disponibile in due versioni: gratuita, oppure a pagamento. La differenza tra le due versioni non sta nell’efficacia (entrambe rimuovono ogni tipo di infezione trovata), ma nel modo in cui controllano il computer. La versione a pagamento, infatti, funziona come un normale antivirus: controllo in tempo reale di tutto ciò che scarichiamo, scansioni programmate quando vogliamo, aggiornamenti automatici e così via. La versione gratuita, invece, esegue una scansione soltanto quando siamo noi ad avviarla, non si aggiorna automaticamente (ma tenta di eseguire un aggiornamento ogni volta che la lanciamo) e non controlla costantemente il computer. In pratica, la versione a pagamento è sempre attiva, mentre la versione gratuita si attiva quando noi la svegliamo, lanciando il programma.
A ogni modo, questa è la finestra che si apre, una volta avviato Malwarebytes:

Con la versione gratuita, è anche la finestra che ci interessa di più e con cui avremo a che fare nella maggior parte dei casi: la finestra di scansione, appunto. Le due voci che ci interessano sono Scansione veloce e Scansione completa.
Scansione veloce, come suggerisce il nome, serve a eseguire un controllo rapido del computer, cercando nelle cartelle e nelle aree in cui la maggior parte del malware si annida: è il tipo di scansione con cui possiamo cominciare, quando abbiamo bisogno di rimuovere qualcosa, e spesso sarà sufficiente.
Scansione completa, invece, controlla ogni area del computer ed è quindi piuttosto lenta. Se con la scansione veloce non siamo riusciti a risolvere il problema, dovremo procedere con la scansione completa, ma ci servirà una discreta quantità di tempo, prima che si concluda. Possiamo lanciarla e lasciarla lavorare sullo sfondo, mentre noi pensiamo ad altro.
Dopo aver scelto il tipo di scansione, dovremo naturalmente cliccare il pulsante “Scansione”. Nella forma “veloce”, una scansione richiederà cinque o dieci minuti, a seconda delle dimensioni del disco fisso, della velocità del computer e altri fattori; una scansione completa ne richiederà molti di più. Alla fine, in ogni caso, si aprirà la finestra coi risultati della scansione.

Se avrà trovato qualche elemento infetto, sarà visualizzato in rosso. In questo caso, cliccando su Mostra risultati potremo vedere l’elenco di tutto il malware che ha trovato: possiamo selezionare o deselezionare un elemento, cliccandolo. Il passaggio successivo sarà cliccare su Rimuovi gli elementi selezionati, per eliminare tutta la porcheria che è stata trovata sul nostro computer.
Precisiamo che il malware selezionato non sarà cancellato direttamente, ma spostato nella sezione “Quarantena”, dove non potrà più fare danni. È una precauzione per evitare i “falsi positivi”, ossia quei programmi che non sono nocivi, ma che per varie ragioni sono stati segnalati come dannosi; per eliminare definitivamente il malware, dovremo cliccare sull’etichetta Quarantena e poi, in basso, cliccare su Cancella o Cancella tutti (a seconda di cosa vogliamo fare). I tasti Ripristina, invece, servono appunto a recuperare un file o un programma che è stato erroneamente etichettato come malware.