7 days of WordPress themes, graphics & videos - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Game Development
  2. Level Design

Conoscere Ogmo Editor: un editor di livelli avanzato e robusto

Scroll to top
Read Time: 13 mins

Italian (Italiano) translation by Chip (you can also view the original English article)

Ogmo Editor, di Matt Thorson, è un editor di livelli open source per tutti gli usi, gratuito e che gira su Windows. Esporta i dati del livello in formato XML, il che significa che può essere utilizzato con praticamente qualsiasi piattaforma di sviluppo giochi. In questo articolo, vi mostrerò perché è il mio editor di livelli preferito, affronterò le sue caratteristiche, e spiegherò come iniziare a lavorarci.


Requisiti


Cosa è Ogmo Editor?

Ogmo Editor è un editor di livelli basato su tile open source gratuito per Windows, ed è il mio preferito. E' estremamente potente, è facile da usare, e occasionalmente continua a ricevere aggiornamenti. Ogmo è un editor assolutamente fantastico, ed è sicuro che vi farà risparmiare innumerevoli ore di lavoro.

example-levelexample-levelexample-level

Creare e configurare un Nuovo Progetto

La prima cosa che vorrete fare quando si utilizza OGMO Editor è quella di creare un nuovo progetto. Per farlo, semplicemente andate su Project > New Project come mostrato qua sotto:

ogmo-editor-guide-02

Una volta selezionata la cartella dove si desidera salvare i file di progetto (come file di progetto OGMO Editor, o .oep), sarete accolti con la scheda (tab) Settings della schermata di configurazione del progetto.

Settings (settaggi)

Qui ci sono un sacco di informazioni e anche un pò di preparazioni da fare prima di poter iniziare, ma non vi preoccupate, le affronteremo tutte qua sotto man mano continuiamo.

ogmo-editor-guide-03ogmo-editor-guide-03ogmo-editor-guide-03

Dare un nome al Progetto

In primo luogo, proseguite dando un nome al progetto, la dove dice "New Project". Per questo tutorial chiamerò il mio progetto "Example Project".

Il nome del progetto servirà a due cose: in primo luogo, sarà il nome del file .oep salvato sul vostro computer; secondo, Ogmo Editor registra i progetti recenti e ci permette di individuarli rapidamente, in base al nome, nella pagina iniziale.

Configurazione Visuali dell'Editor

Proseguendo, vedrete "Background Color" e "Grid Color". Ogmo Editor ci permette di cambiare entrambi i valori, e dal momento che è probabile che creiate e modifichiate un sacco di livelli da ora in poi, è una buona cosa poter modificare le varie visuali in un modo che funzioni meglio per voi. Io personalmente uso uno sfondo verde molto scuro ed un colore della griglia blu chiaro, ma ovviamente è possibile utilizzare quello che più vi piace.

È possibile digitare un valore de colore esadecimale manualmente, oppure fare clic sul colore mostrato a destra per aprire un selettore di colori e quindi da lì selezionare un colore. Notate il pulsante "Define Custom Colors" nella parte inferiore, che apre uno strumento di selezione del colore più completo.

Angle Export

Dopo il colore di sfondo e la griglia, vedrete il menu a discesa "Angle Export". E' abbastanza auto-esplicativo, semplicemente cambia il modo in cui Ogmo esporta i dati relativi all'angolo. Impostatelo a gradi o radianti, a seconda di cosa richiede il vostro progetto.

Level Sizes

Molto importante è disporre della configurazione del "Level Size" (dimensione del livello). E' possibile impostare il valore di default, minimo e le dimensioni massime del livello. In generale, dovrete impostare il default per la dimensione più comune dei livelli, il minimo per la dimensione del livello più basso accettato (spesso le dimensioni del vostro gioco, per i livelli a schermo singolo), e massimo per il più grande accettato, o uno ridicolmente grande per evitare di avere un massimo del tutto.

Camera Settings

Le impostazioni della fotocamera sono una caratteristica più facoltativa ed avanzata, ma è comunque molto chiara e quindi vedremo rapidamente. Se il gioco utilizza una particolare telecamera, è possibile simulare il suo comportamento all'interno di Ogmo. Questo vi permetterà di vedere, all'interno dell'editor, come la stratificazione visiva degli apparirà nel vostro gioco, come il Parallasse.

Per utilizzare l'impostazione della telecamera, è sufficiente selezionare la casella "Enabled", e impostare le dimensioni della fotocamera. Se voleste creare la fotocamera del gioco nel file XML del livello, è possibile selezionare la casella "Export camera position" e avrete i dati disponibili per il vostro lavoro. Per spostare la telecamera in giro mentre siete nell'editor, tenete semplicemente premuto "C" e fate clic trascinando fino ad impostare la posizione della telecamera.

Level Values

Un'altra proprietà opzionale molto utile, sono i valori di livello, level values. Immaginateli come proprietà dei vostri livelli impostabili proprio dall'interno dell'editor.

Un esempio pratico è il livello di difficoltà. Potremmo creare una proprietà "difficoltà", come un tipo intero ed impostare il valore predefinito, min e max. Potremmo quindi assegnare ad ogni livello un valore di difficoltà, che potrebbe poi essere utilizzato nel gioco per ordinare i livelli per difficoltà, mostrare la difficoltà di un livello, e così via. Le possibilità sono quasi infinite, e con un pò di creatività, questa diventa una caratteristica molto potente.

Layers

Ora che abbiamo una buona comprensione della tab Settings, passiamo alla scheda successiva; andiamo avanti e facciamo clic sulla tab Layers. I livelli (layers) sono una parte assolutamente essenziale di Ogmo Editor, e sono trattati molto bene. Ogmo utilizza tre tipi di livello: Grid (griglia), Tiles (piastrelle), ed Entities (Entità).

Grid

Grid è il tipo più semplice di layer in Ogmo. Di default, i nuovi progetti conterranno solo un livello, in particolare un tipo Grid. I layers Grid sono semplici: o una cella è riempita o non lo è. A causa di questa natura semplice, l'uso più comune per un layer Grid è quello di trattare le piastrelle piene come piastrelle di collisione nel vostro gioco, anche se il suo uso ,ovviamente, non si limita a questo.

Tiles

Il layer Tiles è un pò più avanzato, ma comunque abbastanza semplice. In generale, sono utilizzati per solo scopi visivi (esistono comunque eccezioni, e l'uso richiede avanzato parsing XML, ma non arriveremo a questo livello).

I miei progetti contengono sempre almeno due o tre Tiles layer: uno per lo sfondo, uno per il primo piano, e, a seconda della natura del progetto, uno per quello che c'è in mezzo. E' ragionevole avere molti strati di Tiles layers, così facendo si ha più precisione e potenza con l'editor che ritrae l'immagine del gioco. Questo perché gli spazi nei layer Tiles, sono comunque molto simili ai layer Grid, che sono pieni o no, ciò significa che non è possibile inserire più tile nello stesso spazio di un'altra tile, e quindi devono essere utilizzati più strati di layer.

Un esempio, viene mostrato qua sotto, dove ho un fiore di fronte a un albero. Con un solo layer Tiles, ciò non sarebbe stato possibile; infatti i mie fiori e gli alberi sono su livelli separati.

layering-example

Entities

I layer Entities sono piuttost potenti, ma ancora molto facili da usare. In poche parole, uno strato Entity è la dove tutti i vostri oggetti di gioco vengono disposti, come i nemici, le posizioni per lo spawn, posti di controllo, molle, scale, picchi, porte, ecc; se poi si tratta di oggetti non-visivi da posizionare durante la progettazione dei livelli, vanno qui.

I layer Entities assumono grande forza e originalità grazie alla capacità di contenere proprietà. Queste proprietà possono variare un ampio arco di tipi di dati (booleani e interi sono solo due esempi), e possono essere valori assegnati, come impostazioni predefinite, minimo, massimo, o altro.

Un esempio semplice di come questo possa essere utile lo si può osservare con un punto di rigenerazione (spawn) dei nemici. Se si volesse determinare la direzione verso cui cammina un nemico una volta generato, all'interno di un editor di livelli che non supporta le proprietà, dovreste creare due oggetti nell'editor - uno in cui i nemici si spostano a sinistra ed uno in cui vanno a destra. Con il supporto di Ogmo per le proprietà sulle entità, si può semplicemente dare alla entità nemico una proprietà "direzione" di tipo Integer, e assegnargli -1 o 1 all'interno dell'editor. Questo permette di avere un oggetto per il nemico, ma il controllo del comportamento specifico di ciascun nemico viene messo nel vostro livello. È quindi possibile leggere la proprietà direzione dal XML e gestire la logica all'interno del codice di gioco.

altering-a-property

Questo è solo un esempio di come le proprietà semplificano l'esperienza con l'editor, ma ci sono molti altri usi.

Tilesets

Ora sapete un pò di più sui layer Tiles, ma senza un po' di configurazione, Ogmo non vi permetterà di usarli. Cliccate sulla scheda Tilesets, ora vi mostrerò come ottenere un layer Tileset pronto e e funzionante.

Come impostazione predefinita, non ci sono immagini tilesets pronte in Ogmo, avrete bisogno di fornirne o farne una per creare un livello di tipo Tiles. Per crearne uno, è sufficiente premere il pulsante Create in basso a sinistra; notate anche che è possibile rimuovere layers e riorganizzare il loro ordine con gli altri pulsanti che si trovano qui.

Una volta che un nuovo tileset è stato creato, è necessario dargli un nome, lasciare che Ogmo conosca la dimensione di ogni tile sul foglio e definiamo la spaziatura tra le tiles, se necessario. Se si dispone di più di un tileset, è sufficiente ripetere i passaggi precedenti per ciascuno.

Nell'ambiente di lavoro, sarete in grado di vedere tutti i tilesets disponibili mentre è selezionato un layer Tiles ed è possibile passare tra i vari tileset, con l'aiuto di un semplice menu a discesa. Mentre si lavora con le tileset, è possibile selezionare una singola tile con cui lavorare o un gruppo di tiles tutti in una volta. Ciò permette di disegnare interi gruppi di tiles, che possono essere utilizzati per posizionare rapidamente sfondi o per disporre gli oggetti più grandi composti da più tiles con un solo clic.

tilesets-paintingtilesets-paintingtilesets-painting

Entities

La scheda finale è la Entites tab. Qui è dove si configurano tutte le entità che possono essere utilizzate in un Entities layer. Le entità sono un po' più complesse di quello che abbiamo visto fino ad ora ma sono molto flessibili, e comunque sempre facili da usare.

Proprio come avete fatto con i tab Layers ed Tilesets, andate avanti a premere Create per creare un nuovo tipo di layer Entities. Come tutto il resto in Ogmo, date un nome all'entità e compilate i suoi valori di altezza e larghezza. Si noti che, mentre la griglia principale può avere una dimensione, Entities e gli altri oggetti in Ogmo possono essere più grandi. Detto questo, al fine di mantenere le cose in ordine, vi suggerisco di tenere tutto divisibile per una singola tile.

Come accennato in precedenza, le proprietà sono la dove le entità e l'editor Ogmo di per se sé, brillano veramente. Molti editor non hanno questa caratteristica, ma dal mio punto di vista è assolutamente essenziale. È sufficiente creare una nuova proprietà, quindi assegnarle un nome ed uno dei seguenti tipi: Integer, Boolean, Float, String, Enum e Color.

Una volta che avete dato alla proprietà un nome e il tipo, è possibile impostare il valore di default, e (in caso) i suoi valori ammessi di minimo e massimo. C'è anche una casella di controllo Show Slider, che consente di regolare i valori utilizzando un cursore, anziché inserirli mentre modifichiamo gli oggetti nell'area di sviluppo.


La Development Area (Area di Sviluppo)

Navigazione

Muoversi nell'area di sviluppo è facile. Per muoversi, è sufficiente tenere premuta la barra spaziatrice, quindi fare clic e trascinare per avere una panoramica. Inoltre, la rotellina di scorrimento vi permetterà di ingrandire o ridurre rispetto alla posizione del mouse. Questi due metodi combinati consentono un flusso molto rapido e indolore quando si lavora su livelli più grandi.

Personalizzazione

Un'altra caratteristica eccezionale di Ogmo, e una delle mie preferite, è la capacità di trascinare ogni finestra secondaria al di fuori del programma. Layers, Entities, Tile Palette, Selection, eTools possono essere trascinati ovunque si desideri sul monitor(s), e adattati al formato che volete - una funzione estremamente utile per coloro che hanno una configurazione multi-monitor o tilesets molto grandi.

Notare che questo ridimensionamento è quasi indispensabile per la Palette Tile, poiché ogni tile apparirà spesso troppo piccolo a meno che la finestra non venga ingrandita.

Imparare gli strumenti (Tools)

Ogmo Editor ha una serie di strumenti da usare durante il lavoro sul progetto. Alcuni strumenti vengono visualizzati in tutti tipi di layer (Grid, Tiles, Entities), mentre altri sono specifici per tipo di livello. Qui di seguito una indicazione di ciascun strumento.

Strumenti del Layer Grid

ogmo-editor-guide-07ogmo-editor-guide-07ogmo-editor-guide-07
  • Pencil (matita): Usato per il riempimento basilare con le tiles. Click sinistro piazza una tile, click destro la rimuove.
  • Flood Fill (riempimento): il vostro strumento per il riempimento di base. Riempirà tutto lo spazio vuoto in una zona delimitata con un click sinistro, e rimuoverà una zona piena col tasto destro del mouse.
  • Rectangle (rettangolo): Molto simile allo strumento Flood Fill, ma riempie semplicemente un'area rettangolare selezionata. Click sinistro per piazzare, clic destro per rimuovere.
  • Line (linea): Proprio come lo strumento matita, ma viene utilizzato per creare un segmento di linea di riempimento dal punto A al punto B. sinistro del mouse per creare, clic destro per rimuovere.
  • Select (seleziona): Permette di selezionare gli oggetti, che possono poi essere spostati con WASD o con lo strumento Move (Sposta).
  • Move Selection (sposta selezione): consente di spostare gli oggetti selezionati con il mouse.

Strumenti del Layer Tiles

tiles-toolstiles-toolstiles-tools

La maggior parte degli strumenti sono utilizzati anche nel Layer Grid, tranne:

  • Eyedropper (contagocce): Cambia la tile selezionata con qualsiasi tile viene selezionata quando si usa il contagocce.

Strumenti del Layer Entities

entities-toolsentities-toolsentities-tools

Alcuni degli strumenti sono utilizzati anche nel Layer Grid, oltre a:

  • Resize (ridimensiona): Se applicabile, consente di modificare la scala x e y di un'entità con un clic e trascinando.
  • Add Node (aggiungi nodo): Aggiunge un nodo all'entità selezionata. (Vedere la sezione Nodi per ulteriori dettagli).
  • Insert Node (inserisci nodo): consente il posizionamento dei nodi tra i nodi già posizionati. (Vedere la sezione Nodi per ulteriori dettagli).

Entità e nodi

I nodi sono un'altra caratteristica avanzata di Ogmo Editor. Pensate ai nodi come a waypoint che appartengono ad un specifico oggetto entità. Una volta selezionato un soggetto, è possibile aggiungere nodi con lo strumento Add Node. Questi nodi verranno memorizzati nel XML sotto l'oggetto entità e possono essere utilizzati come volete.

I nodi possono essere utilizzati per le piattaforme mobili, per gli schemi di movimento dei nemici e per le posizioni di sparo dei nemici. Come sempre, le possibilità sono infinite, quindi siate fantasiosi e fate uso di questa eccellente caratteristica.


Utilizzi non convenzionali

Ogmo Editor è ideale per qualsiasi gioco basato su tile, sia esso un top-down gioco tipo Zelda o un platform a scorrimento laterale. Detto questo, immaginando fuori dagli schemi, può essere utilizzato in molti modi non convenzionali, per fare quasi tutto nei vostri giochi.

Come esempio, immaginate un semplice shooter verticale o orizzontale. Durante il gioco, i nemici volano su traiettorie precostituite. Queste traiettorie sono di solito abbastanza semplici e possono essere creati rigorosamente tramite il codice, ma perché non usare un editor visuale per accelerare il processo? Con Ogmo, si può semplicemente tracciare la posizione di partenza di ogni nemico su un layer Entities, e dare a questo "livello" una proprietà che è sia una grado di difficoltà per l'ondata o magari un nome, permettendo al gioco di ordinare ulteriormente le ondate precostituite.

Ecco cosa si può fare con del tempo usando del codice pure, e che ora è molto più facile, e più divertente, grazie ad un uso un pò particolare di un editor basato su tile.


Open Source

Matt Thorson ha reso Ogmo Editor open source, il che significa che la comunità è libera di aggiungere e modificare l'editor nel modo che ritiene più opportuno. Se siete interessati a personalizzare Ogmo, proseguite e verificate il sorgente, e siate sicuri condividere i vostri contributi con la comunità!


Conclusioni

Come potete vedere, Ogmo Editor è un editor estremamente robusto e complesso. Si tratta di una straordinaria aggiunta all'arsenale di strumenti per ogni sviluppatore di giochi e può far risparmiare ore e ore.

Se siete alla ricerca di funzionalità basilari in un editor, o qualcosa di più avanzato, come il sistema di telecamere o le entità, Ogmo fa per voi. Spero che vi troviate abbastanza comodi nell'usare Ogmo Editor nel vostro prossimo progetto. Buona fortuna con i vostri sforzi futuri nell'editing di livello!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Game Development tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.