Cosa sono le variabili in Rpg Maker e come utilizzarle
Ciao amici! Oggi vorrei parlarvi di uno dei comandi più essenziali nella programmazione di un videogioco: le variabili!
In questo specifico tutorial ne parlerò nell’ambito di Rpg Maker, il tool di sviluppo che utilizzo e conosco maggiormente, ma probabilmente è una guida che potrà essere utile e potrete applicarla in qualsiasi altro ambito in cui vengano utilizzate le variabili.
Troppo spesso si trovano creatori che si avvicinano al mondo della creazione dei videogiochi, imparano una decina di funzioni principali ma le variabili… le variabili sono sempre lasciate per ultime! Anch’io, devo ammetterlo, è stato uno degli ultimi comandi che ho cominciato ad utilizzare in Rpg Maker. Col tempo ho cominciato ad utilizzarle sempre più seriamente e per fare ogni cosa, ma perché immediatamente abbiamo questo rifiuto verso la scoperta della funzione delle variabili?
Il problema, probabilmente, è che consideriamo l’apprendimento di questo comando come una cosa di secondo piano, non necessaria. Il trasporto lo sappiamo fare, sappiamo far muovere l’eroe, sappiamo far visualizzare una picture, un’animazione… a posto! Ahia, ma se solo avessimo saputo prima che utilizzando una variabile il nostro evento sarebbe risultato più dinamico, personalizzato e… sì, che faceva esattamente così, come volevamo noi!
Bene, proseguiamo la lettura chiedendoci, innanzitutto, cosa sono queste variabili, per poi proseguire con alcune idee di come utilizzarle al meglio per semplificarci la vita.
Che cosa sono le variabili?
- Le variabili sono dei contenitori.
- Questi contenitori possono assumere svariati valori (numeri, decimali, frasi, parole…)
- Il valore di questi contenitori può essere modificato o sovrascritto in qualsiasi momento.
Già qui ci è permessa una riflessione: se le variabili possono contenere valori, possiamo trattarli esattamente anche come fossero interruttori: dopo aver assegnato un valore ad una variabile con una condizione IF posso eseguire il comando:
La variabile X è = a 1? Se sì… succede una cosa Se non lo è (la variabile X è diversa da 1)… succede un’altra cosa |
Questo comando è lo stesso identico di:
L’interruttore X è ON? Se sì… succede una cosa Se non lo è (l’interruttore è spento/OFF)… succede un’altra cosa |
Una cosa abbastanza banale, ma non sempre ovvia.
Un’altra cosa utile da imparare è che alle variabili possiamo assegnare qualsiasi nome noi desideriamo. Una variabile la possiamo chiamarle in qualsiasi modo, questo non influisce sulle operazioni che si andranno a compiere su di essa. Il nome della variabile interessa solo noi. Possiamo decidere il nome di una variabile in base a dei criteri: per ritrovarla facilmente in un secondo momento, per raggrupparle seguendo una logica, o per qualsiasi altro motivo.
Cosa ci facciamo con le variabili?
Abbiamo detto che ad una variabile X (dove X è il nome personalizzato che abbiamo scelto di attribuire alla variabile) possiamo assegnare un valore. Perfetto, questa è la prima cosa da fare! Scopriamo innanzitutto come assegnare un valore alla nostra variabile e poi scopriremo cosa possiamo farci, dopo che le avremo assegnato un valore.
In Rpg Maker: creiamo un nuovo evento. Per farlo facciamo doppio-click in un punto qualsiasi della nostra mappa, in modalità Evento. Ora facciamo un’altra volta doppio-click all’interno della lista “Contenuti” e selezioniamo l’apposito comando per la gestione delle variabili.
Questa è la nostra finestra di controllo delle variabili. Da qui potremo assegnare alla nostra variabili quasi tutti i valori a nostra disposizione.
- Clicchiamo qui per selezionare la variabile sulla quale vogliamo agire. L’elenco aprirà la lista delle variabili, dal quale potremo immediatamente e in qualsiasi momento crearne una nuova, assegnadole un nome specifico. Nel momento in cui digitiamo un nome ad una variabile (identificata da un id numerico) la variabile è -diciamo- creata.
- In questo campo, chiamato “Raggio”, possiamo definire un range di più variabili sul quale desideriamo agire simultaneamente. Se, ad esempio, vogliamo impostare le variabili con id 1, 2, 3, 4 e 5 ad un valore = 10, selezioneremo questo campo (invece che una singola variabile) e defineremo il raggio 1 ∼ 5. Ricordiamoci che le variabili di un range di variabili devono essere tutte vicine fra di loro, per essere selezionate insieme.
- Qui definiamo l’operazione da effettuare sulla nostra variabile. Imposta ha il significato di “uguale” ( = ): ci consente di impostare in modo assoluto la variabile a quel determinato valore. Ciò significa che se la variabile X avesse memorizzato al suo interno il valore “145”, ma noi decidiamo di impostare il valore = a 1, la variabile X assumerà il valore 1. Niente storie! Aggiungi è la comune addizione ( + ): seleziona questa operazione per addizionare il valore presente nella nostra variabile X ad un altro valore (che defineremo nel punto 4). Sottrai ci consente, invece, di sottrarre un determinato valore alla nostra variabile ( – ). Moltipla è l’operazione di moltiplicazione. Dividi è l’operazione di divisione. Fin qui capitan ovvio, scopriamo ora cosa fa l’unica funzione che potrebbe essere un po’ dubbia: il Mod. Il Mod ci permette di memorizzare all’interno della nostra variabile il valore ottenuto equivalente al resto di una divisione. Ciò significa che, se il valore della variabile X è 14 e noi facciamo Mod con un valore di 3… otterremo il risultato di 2 all’interno della nostra variabile X. Infatti: 14/3 = 4 con resto di 2. Ricordiamoci che il valore ottenuto dall’operazione di una variabile sarà sempre registrato all’interno della variabile che abbiamo selezionato all’inizio (o delle variabili, nel caso di un range di variabili).
- Abbiamo parlato di variabili e operazioni, ma in base a quali valori eseguiamo un calcolo? L’operando ci consente di scegliere il secondo valore con cui poter effettivamente elaborare un calcolo. Possiamo selezionare: un valore costante (un numero qualsiasi, definito da noi); un valore variabile (scegliendo come operando un’altra variabile significa che questo valore può cambiare o essere cambiato in qualsiasi momento, così da creare operazioni dinamiche, che variano al variare di una seconda variabile); un valore casuale, definito all’interno di un range di valori (un range da 3 a 11, prenderà un valore a caso compreso tra 3 e 11). Concentriamoci ora, in modo più approfondito, alle ultime due interessanti funzioni che ci troviamo fra gli operandi: Dati di gioco e Script.
Dati di gioco
I Dati di gioco ci consentono di fare svariate operazioni. Partendo dall’alto: possiamo impostare come valore dell’operando il numero di oggetti posseduti di un determinato oggetto; lo stesso possiamo fare con una determinata arma, poco più sotto, e con una specifica armatura, scendendo al terzo comando. Selezionando “Attore” o “Nemico” possiamo scegliere uno dei nostri eroi (o nemici) e di questo sceglierne un parametro da cui attingere il valore desiderato, come ad esempio il livello del personaggio, la quantità di esperienza, il numero dei PV e così via. Qualsiasi valore contenuto in questi dati di gioco diventerà il nostro operando, ovvero il nostro secondo valore con cui effettuare l’operazione con la prima variabile, selezionata inizialmente.
L’opzione “Personaggio” è una delle più importanti: dalla lista possiamo scegliere se prendere i valori del Player oppure quelli di un qualsiasi altro evento (la lista degli eventi si riferirà alla mappa in cui ci troviamo in questo momento). I valori che possiamo registrare sono:
Mappa X e Mappa Y, per prendere le coordinate sulla mappa di quel giocatore/evento. Queste coordinate si riferiscono alla posizione sulla mappa in Tile;
Direzione, per registrare con un valore numerico la posizione verso cui è rivolto il giocatore/evento: se il giocatore è rivolto verso il basso registrerà come valore -> 2, verso sinistra -> 4, verso destra -> 6, verso l’alto -> 8
Schermata X e Schermata Y, per prendere le coordinate sulla mappa di quel giocatore/evento. Queste coordinate si riferiscono alla posizione sulla mappa in Pixel; per scoprire la quantità di pixel della vostra mappa moltiplicate il valore dei tile in larghezza e in altezza della mappa per la misura di un singolo tile (se utilizzate Rpg Maker XP/VX/Ace è x32, se utilizzate Rpg Maker MV è x48)
L’opzione “Altro” è anch’essa importante: qui possiamo trovare utilissimi dati di cui prenderne il valore come:
l’ID della mappa in cui ci troviamo, il numero di membri nel nostro gruppo (party), la quantità di oro a nostra disposizione, i passi totali percorsi, il tempo di gioco, il valore di un eventuale timer, il conteggio totale dei salvataggi effettuati, delle battaglie, delle vincite e delle fughe.
Script
Questa funzionalità ci permette di inserire una riga di codice come operando per la nostra operazione. Per maggiori informazioni fare riferimento alla Guida all’uso avanzato delle variabili integrato a Plugin e Call Script.
Dove utilizzare le variabili?
Abbiamo visto nel dettaglio cosa sono le variabili e, soprattutto, che chiunque è in grado di utilizzarle al meglio. Iniziando ad esplorare i comandi di Rpg Maker scopriremo che le variabili possono essere utilizzate in molte occasioni:
- Nelle pagine evento, per determinare una condizione di avvio SE una determinata variabile X è maggiore o uguale ( ≥ ) ad un determinato valore numerico;
- Nei messaggi, per visualizzare il valore di una determinata variabile. Questo è possibile inserendo il codice \v[n] all’interno di un messaggio di testo. Visualizza la lista dei codici disponibili;
- Nell’inserisci numero, per permettere al giocatore di digitare il valore da registrare in una determinata variabile, selezionando il numero di cifre consentite;
- Nel blocco condizionale (condizione IF/SE), per eseguire un comando che si chiede se una determinata variabile X è: uguale / maggiore / minore / maggiore o uguale / minore o uguale / diversa rispetto ad un valore costante o ad un’altra variabile Y (ricorda che questa è una delle operazioni più importanti);
- Nel modificare l’oro, gli oggetti, le armi e le armature durante il gioco;
- Nel modificare PV, PM, Exp, Stati, Livelli, Parametri, Abilità;
- Nel trasporto, per impostare una posizione variabile (anzichè statica sulla mappa) dopo aver opportunamente registrato delle variabili che stabiliscono una posizione X, una posizione Y e un ID della mappa in cui trasportare il giocatore;
- Nell’impostare la posizione di un veicolo o un evento, stabilendo (come nel caso del trasporto) due variabili che definiranno: una il valore della posizione X ed un’altra il valore della posizione Y;
- Nel mostrare o spostare un’immagine/picture, per visualizzarla o spostarla ad una posizione X ed Y in base a dei valori variabili definiti da noi (un’altra delle operazioni più importanti);
- Nell’ottenere informazioni sulla posizione (non disponibile in Rpg Maker VX), per registrare informazioni all’interno di una variabile che possono riguardare: l’etichetta terreno (i terrain tag, definiti in Database-> Tileset), l’ID di un evento, di un tileset o l‘ID di una regione (operazione importantissima da integrare con i blocchi condizionali);
- Nel modificare i PV ed i PM di un nemico in battaglia.
Tutte queste operazioni sono disponibili fra i comandi di Rpg Maker! Cercatele, studiatele e, con un pizzico di ingegno, vi stupirete di quello che vi permetteranno di fare!
Per approfondire gli svariati metodi di utilizzo delle variabili consulta la mia Guida all’uso avanzato delle variabili integrato a Plugin e Call Script.
Call Script utili con le variabili (Rpg Maker MV)
Assegnare una stringa ad una variabile (1 è l’ID della variabile selezionata):
$gameVariables.setValue(1, “Testo da registrare nella variabile 1”); |
Assegnare un valore ad una variabile (1 è l’ID della variabile selezionata, 13 il valore):
$gameVariables.setValue(1, 13); |
Condizione SE tramite call scipt di una variabile (1 è l’ID della variabile selezionata):
$gameVariables.value(1) == 0 |