GameShell – Impara giocando a usare il terminale in 🇮🇹

Il terminale su Linux è uno di quegli strumenti che fanno apprezzare la potenza del sistema operativo.
Sia se si usi il computer ogni tanto o solo per un uso di ufficio che per un uso lavorativo o di programmazione/sistemistica.

Il terminale, chiamata shell/console è uno strumento da linea di comando che permette di eseguire applicativi chiamandoli tramite la tastiera invece di usare il mouse.
Può sembrare roba vecchia oggi con gli smartphone ma è molto ma molto potente, questo perché permette di fare cose che i programmi da interfaccia grafica non permettono di fare oltre che essere molto più rapidi (sia come esecuzione che uso).

Una delle peculiarità del terminale su Unix è la possibilità di eseguire un programma con dei parametri, passare il suo risultato ad un altro e così via e salvare solo alla fine il risultato.

Oppure si possono fare degli script Bash, ad esempio, che a loro volta sono dei programmi che ne eseguono altri come riavviare il media player se rileva dei nuovi file in una cartella.
Oppure collegarsi in remoto a un altro computer che si trova nella vostra rete di casa oppure su un server che si trova dall’altra parte del globo, sempre dando dei comandi da terminale.
Potrei continuare a lungo oppure potrei mettervi il link di uno degli incontri del
mio LUG (a Rieti) in cui faccio vedere in un ora come usarlo.

Ma andrei fuori tema perché voglio presentarvi GameShell! Richiede Linux per giocarci ovviamente…

Cos’è GameShell

Schermata del gioco (i colori cambiano in base alla configurazione del terminale)

Qualche mese fa questo progetto girava parecchio su Reddit e io notai il primo problema che da noi avrebbe creato problemi nella adozione… la mancanza della lingua italiana.

Si tratta di un gioco da terminale che con varie missioni (42) crea un ambiente fantasy in cui tramite una storia bisogna spostare file, crearli, chiudere processi e così via lanciando dei comandi.
Nato in ambiente universitario ma è stato testato su studenti (anche delle superiori) in Francia è un modo pratico per fare lezioni di uso del terminale in aula oppure per fatti propri. Ricorda molto le avventure testuali di una volta solo che bisogna dare dei comandi (in uno spazio sicuro).

Visto che in Italian Linux Society sono sempre alla ricerca di materiale e idee mi è sembrato qualcosa adatto per i LUG nel nostro paese e anche per le scuole per insegnare qualcosa che aiuta anche a capire come funziona un sistema operativo.

Quindi sono partito a tradurlo e facendo girare la voce (anche in tono lamentoso) siamo arrivati a 11 contributor totali per la lingua italiana, tra revisori e traduttori, io ho fatto un po tutti e tre i ruoli oltre che tester. Infatti in questo lavoro ho trovato dei bug e segnalati.

Come funziona

Il readme è disponibile anche in italiano ma vediamo al volo alcune cose.
Se si vuole giocare da soli basta scaricare il repo, per chi non ha idea di come si faccia basta premere il pulsante verde in alto a destra e Download zip e estrarre il contenuto.
In questo modo potete giocare nel vostro pc, il gioco ha un sistema di salvataggio che permette di riprendere alla ultima missione, ha uno storico dei comandi oltre che suggerimenti e così via.

Per un uso formativo invece c’è un altra opzione. Ovvero creare una versione “archivio” che non fa altro che creare uno script che include tutto o solo alcune missioni e coperte da password.
Si esatto, si può inserire una password amministrativa che permette ad esempio di saltare le missioni utile in ambito formativo dove basta andare al pc dello studente e dare quei comandi per fare questi magheggi se necessario.

Verifica in automatico se ci sono salvataggi ad ogni avvio

Per approfondire i comandi di gioco e la versione “archivio” vi lascio il manuale utente (in inglese) ma è molto semplice.

Ho suggerito oltre al file docker di fare una macchina virtuale con il gioco già installato e pronto all’uso per semplificare la vita, se qualcuno vuole dare una mano

Un esempio di schermata di gioco missione

Quindi se trovate problemi nella traduzioni o qualche bug e non ve la sentite con l’inglese contattatemi (nella barra laterale a destra trovate tutti i riferimenti) perché ora grazie a:

  • Daniele Scasciafratte (@mte90)
  • Paolo Mauri (@maupao)
  • Marco Ciampa (@ciampix)
  • Antonio Vivace (@avivace)
  • Lorenzo Millucci (@lmillucci)
  • Sirio Negri (@ziriuz84)
  • Domenico Mammola (@domenicomammola)
  • Leonardo Canello (@anulo2)
  • @michirod
  • @serhack
  • WhiteShield (@wshield05)
  • @gioisco

… questo gioco è in italiano, un lavoro di squadra che spero possa fare la differenza!

Anche i migliori sbagliano!

Per chi è curioso e vuole vedere la storia della traduzione trova tutto online. Al momento la release 0.4.0 ufficiale include la lingua italiana ma suggerisco la versione di sviluppo in caso ci siano dei bug (scaricandola come scritto sopra).

Missione conclusa!
Liked it? Take a second to support Mte90 on Patreon!

2 thoughts on “GameShell – Impara giocando a usare il terminale in 🇮🇹

  1. Salve, complimenti, ho completato solo il primo episodio e sono in cima alla torre.
    Penso che forse il primo obiettivo sia che il giocatore faccia estrema attenzione alla “forma” del comando e credo sia pienamente raggiunto.
    Forse il secondo era scoraggiare chi non fosse sufficientemente motivato?
    Altrimenti non mi spiego l’impossibilità di tornare indietro nemmeno di una scelta costringendo sempre a un reset totale.
    O chissà magari i primi passaggi sono così importanti che il ripeterli una dozzina di volte è fondamentale?
    Comunque grazie proseguirò.

    1. Ciao, tutte le missioni richiedono un reset non si può tornare indietro.
      Serve per vari motivi dal contare il numero di operazioni che hai fatto (certe missioni richiedono ad esempio un comando solo) al ripartire a una soluzione pulita per verificare meglio quali passaggi sono stati fatti.
      Inoltre è per imparare quindi usare carta e penna per segnarsi le cose mentre si fanno mi sembra più che giusto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *