martedì 12 gennaio 2016

WRITING - Avventura Testuale in Python

Questo sarebbe il terzo articolo in cui parlo di un gioco text-based ma dal momento che non ero contento della prima versione ho deciso di rifarlo daccapo tentando di migliorare quelli che ritenevo essere i difetti maggiori del gioco.
(Ho rimosso i due articoli in modo tale da fare riferimento esclusivamente a questa nuova versione)



Perché un'avventura testuale?

La mia è stata una scelta davvero difficile dal momento che avevo due possibilità prima di iniziare questo piccolo progetto: la prima era quella di creare un platformer usando una delle tante librerie multimediali presenti sul web, la seconda, quella vincente, era quella di creare un semplice gioco che non richiedesse particolari requisiti per essere giocato, eccetto l'immaginazione. Le avventure testuali sono stati i primi giochi per computer ad essere mai stati creati visto che richiedevano un'unica cosa per essere giocati: la console. Come molti di voi sapranno in origine non esisteva una cosa come l'interfaccia grafica, c'era solo uno schermo nero con delle scritte, e quello era tutto ciò che permetteva all'utente di interagire con la macchina che aveva di fronte. Visto che sono appassionato di retrogaming ho pensato che sarebbe stata una cosa simpatica il richiamo all'era paleolitica dei videogames.


La scelta del linguaggio

Anche qua ho dovuto sbattere la testa su parecchie cose. Ho preso due dei linguaggi di programmazione che conosco meglio, Python e C++ e ho elencato pro e contro di entrambi, sperando di trovare quel qualcosa che mi mancava per iniziare finalmente la realizzazione. Alla fine ho optato per Python. Il bello è che non c'è un vero motivo alla base nonostante tutte le considerazioni che ho fatto, ho scelto quello e basta. Ad esser sinceri C++ mi piace maggiormente, è quello che più mi attira per un motivo molto semplice: è molto vasto. Questo mi ha sempre fatto pensare che sia forse il migliore in circolazione, alla fine è comunque il principe  dei linguaggi di programmazione orientato agli oggetti. Python mi sembrava comunque più opportuno, la realizzazione sarebbe stata più veloce e non ci avrei perso troppo tempo. Terrò C++ per progetti più complessi.


Realizzazione

La cosa che mi piace di quello che ho creato è l'idea di base. Non una semplice text-adventure  con l'utente che si dispera per capire quali comandi usare. Ho deciso di creare quello che ho chiamato un 
game e-book, un libro-game elettronico. Le pagine sono gli eventi che cambiano a seconda delle scelte fatte dall'utente, scelte proposte dal gioco stesso. Diciamo che è un po' come se ci fossero dei binari che guidano il giocatore. 
Per quanto riguarda la gestione dei combattimenti e del personaggio ho seguito il principio del d20 che si applica ai più famosi giochi di ruolo da tavolo: viene simulato il lancio di un dado generando un numero casuale in un certo range di numeri, ad esempio tra 1 e 20. 
Inoltre è presente la possibilità di consultare la scheda del personaggio e l'inventario.
Come ultima cosa ma non meno importante, la possibilità di salvare la partita, non banale per essere un semplice gioco basato sulla console.

Distribuzione

Il codice del gioco è open-source e disponibile a questo link di GitHub:


Sul file README.txt sono presenti tutte le istruzioni per giocare.




Nessun commento:

Posta un commento