Scriptare da Pro con RubyMine
Guida pratica per scriptare in modo avanzato.
Introduzione
Avete presente l'editor di script di RPG Maker? Diciamo che per grandi lavori non è proprio il massimo: si riduce a colorare il testo ed a cercare nel progetto. E se potessimo fare di più? Editor che ti permettono di scriptare con Ruby ce ne sono tanti, e per ora voglio parlarvi di come programmare con RubyMine. È un software di programmazione specifico per programmare Ruby, e a differenza di tutti gli altri editor generici, integra una tecnologia di smart code completition che permette di suggerirvi il codice, proprio come se usaste C# in Visual Studio (o quasi). Da quando utilizzo questo programma (e l'ambiente RGSS3 preparato da me) scrivere script è diventato molto più facile e veloce, permettendomi di scrivere completamente tutto lo script prima di provarlo nel gioco.
L'unico difetto di RubyMine è che è un software a pagamento. Avrete 30 giorni di tempo per provarlo, ma spesso concedono l'uso gratuito agli studenti, quindi controllate se il vostro istituto rientra nella lista di quelli consentiti.
Vantaggi
Quali vantaggi porta l'uso di un editor avanzato come RubyMine? Ne sono tanti.
- Possibilità di personalizzare l'editor con le più disparate preferenze di stile e colori
- Integrazione con Git, per pubblicare e collaborare nella stesura del codice
- Intellisense, che permette di auto-completare il codice e di suggerire i metodi degli oggetti che state utilizzando
- Avviso in tempo reale degli errori di scrittura: vi avviserà se state utilizzando variabili non inizializzate, se create variabili non utilizzate, se sbagliate l'input di parametri, la sintassi, metodi inesistenti ecc...
- Vi obbliga a scrivere il codice bene e corretto
- Testare in tempo reale pezzetti di codice senza avviare il gioco
- Tanti strumenti
Come procedere?
Scaricare RubyMine ed installarlo
Scaricare Ruby ed installarlo (selezionate RubyInstaller e quindi la versione più recente), ricordando di aggiungere l'eseguibile Ruby al PATH di sistema (vedere immagine)
Scaricare l'ambiente RGSS3 preparato da me su GitHub. Potete usare due metodi:
Metodo 1: Scaricarlo sul PC
Metodo 2: Clonare il progetto
Creare un nuovo script
A questo punto vedrete la cartella lib, dove è integrato il framework che permette la magia dell'auto-completamento, e un file d'esempio per cominciare, che è new_class.rb.
Per creare un nuovo file script, cliccate con il tasto destro sulla cartella RGSS3 (la root del progetto) > New > e selezionate Ruby Class se volete un file vuoto, oppure un template già creato RGSS3, come Window o Scene in modo da avere già uno scheletro dove cominciare i vostri script (vedere immagine in spoiler).
Fattore importante: assicuratevi di avere all'inizio del file la riga
require 'lib/main' if false
Questo vi consentirà di poter integrare le classi e oggetti di RPG Maker nell'editor e permettervi di usare l'auto-completamento intelligente, ossia il pregio più importante di questo programma (ricordate di rimuovere la riga una volta completato lo script, prima di distribuirlo). La dicitura if false è un espediente che vi permetterà di non far crashare il gioco nel caso vi dimentichiate di rimuovere la riga.
Aggiungere documentazione
L'auto-completamento di RubyMine funziona sfruttando YARD, uno strumento di documentazione di Ruby. I tag YARD vi consentono di specificare i tipi di dati in ingresso e in uscita dei metodi. Ad esempio:
# @param [Array<Game_Actor>] gruppo
# @param [String] nome_eroe
# @return [Game_Actor]
def trova_eroe(gruppo, nome_eroe)
gruppo.find{|actor| actor.name == nome_eroe}
end
Con questo metodo, abbiamo definito i tipi dei parametri con il tag @param prima del metodo, e il valore di ritorno con @return (l'array è dichiarato come Array<Tipo> in modo da poter specificare anche di che tipo sono gli elementi).
Nel caso possano esserci più tipi, possono essere separati da virgola.
Il tag @param specifica i parametri in ingresso, in modo che l'editor possa suggerirci i metodi degli oggetti all'interno del metodo che stiamo scrivendo.
Il tag @return specifica il tipo del valore di ritorno, in modo da poterci far suggerire i metodi dell'oggetto restituito dalla funzione.
Come sentirsi a casa
Vi manca lo schema di colori di RPG Maker? In questo caso, vi ho preparato il tema RPG Maker scaricabile da qui.
Per installarlo, dall'editor RubyMine cliccate su File > Import Settings, quindi selezionate il file jar scaricato.
Per impostare il tema, andate su File > Settings, quindi andate in Editor > General > Color & Fonts.