Scrivere avventure in JSON

Te l’ho mai detto quanto mi piace quando le persone che seguo qui in giro diventano creative? Quando l’amico Giovanni ha pubblicato un motore per realizzare avventure in Python, mi sono detto: “Questo devo provarlo subito!”

Poi, ovviamente, il mio subito è diventato “devi riuscirci prima o poi” ma, insomma, eccomi.

E quindi Giovanni ha scritto questo piccolo engine che si ispira alle vecchie avventure testuali in cui dovevi prendere ed esaminare oggetti e muoverti tra stanze che venivano descritte con poche essenziali parole. Ricordi? Probabilmente sai di cosa sto parlando se hai raggiunto e superato gli -anta ma, beh, in questo caso ci siamo capiti.

Il game engine è condiviso su Github. È scritto in Python, e per giocarci devi anche installare questo linguaggio di scripting. La caratteristica principale è che il motore è generico, e l’avventura viene descritta tramite un singolo file JSON. Cosa è il JSON? Un formato testuale per descrivere dati strutturati, piuttosto leggibile perché gli elementi sono divisi da virgole, virgolette e parentesi.

Cosa molto utile, se nella cartella apposita inizi a scrivere diverse versioni dei tuoi giochi, il motore di Giovanni all’avvio ti chiede quale utilizzare. A questo punto si inizia con la descrizione della stanza di partenza, e dovrai utilizzare dei comandi di testo (grab, describe, use, ecc.) per far progredire l’avventura fino alla vittoria o sconfitta. Come è descritto il tutto? Ci sono stanze che sono collegate tra loro e ci sono oggetti che rispondono ad alcune azioni. Per facilitarti nella stesura del gioco c’è anche una avventura di esempio in cui dovrai vedertela con uova, rane, cristalli e mummie… in bocca al lupo!

Ci sto ancora giochicchiando e scrivo questa cosa sull’onda dell’entusiasmo, poi magari approfondirò e (perché no?) potrei anche condividere un’avventuretta di prova.

Ma intanto voglio ringraziare Giovanni che ha inventato e condiviso con tutti qualcosa che prima non c’era, rendendo il mondo una briciola più ricco.

Pubblicità

4 risposte a "Scrivere avventure in JSON"

Add yours

  1. Grazie per l’articolo.
    Ho notato che hai usato il comando “describe”, puoi pure usare “d”: è un alias. E se l’oggetto passa nell’inventario, per descriverlo devi specificare che vuoi la descrizione di un oggetto in inventario con “i”, ovvero:
    d i crystal
    Se hai più di un cristallo, vedi che quando richiedi l’elenco degli oggetti in inventario con il comando “i” o “inventory” ti dice esattamente come distinguerli e, a quel punto, puoi dare un comando descrittivo del tipo:
    d i blue crystal
    o
    d i yellow crystal
    ecc…

    Piace a 2 people

    1. Grazie Giovanni. Sono ancora agli inizi e non avevo ancora afferrato questi dettagli (ad esempio istintivamente avevo iniziato con ‘examine’ come facevano alcuni giochi di una volta). Dovresti aggiungere alcune di queste indicazioni nel readme del progetto in modo da estendere l’help. Comunque bel lavoro, mi è piaciuto anche come è strutturato il codice sorgente!

      "Mi piace"

Esprimiti

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Blog su WordPress.com.

Su ↑

%d blogger hanno fatto clic su Mi Piace per questo: