Ogmo Editor kennenlernen Ein fortgeschrittener und robuster Level-Editor

Ogmo Editor von Matt Thorson ist ein universeller, kostenloser Open Source-Editor, der unter Windows läuft. Es exportiert Level-Daten im XML-Format, was bedeutet, dass es mit nahezu jeder gamedev-Plattform verwendet werden kann. In diesem Artikel zeige ich Ihnen, warum er mein Lieblingslevel-Editor ist. Erläutern Sie dessen Funktionen und erklären Sie, wie Sie damit beginnen.


Bedarf

  • Ogmo Editor 2.1.0 oder höher: http://www.ogmoeditor.com
  • Projektdateien: hier verfügbar. Die Grafik ist ein leicht modifiziertes Set von SpicyPixel.net.

Was ist Ogmo-Editor??

Ogmo Editor ist ein kostenloser Kachel-basierter Open-Source-Editor für Windows. Er ist mein persönlicher Favorit. Es ist extrem leistungsfähig, einfach zu bedienen und erhält gelegentlich Updates. Ogmo ist ein absolut fantastischer Redakteur und wird Ihnen sicherlich unzählige Arbeitsstunden ersparen.


Neues Projekt erstellen und konfigurieren

Wenn Sie den Ogmo Editor verwenden, sollten Sie zunächst ein neues Projekt erstellen. Gehen Sie dazu einfach wie folgt zu Projekt> Neues Projekt:

Nachdem Sie das Verzeichnis ausgewählt haben, in dem Sie Ihre Projektdateien speichern möchten (als Ogmo-Editor-Projekt oder .oep), wird die Registerkarte Einstellungen Ihres Projektkonfigurationsbildschirms angezeigt.

die Einstellungen

Hier gibt es viele Informationen und ein paar Vorbereitungen, bevor Sie beginnen können, aber machen Sie sich keine Sorgen, ich bringe alles zusammen, wenn wir fortfahren.

Das Projekt benennen

In erster Linie, geben Sie Ihrem Projekt einen Namen, wo es aktuell "Neues Projekt" heißt. In diesem Tutorial benenne ich mein Projekt "Beispielprojekt"..

Es gibt zwei Gründe, warum der Name unseres Projekts wichtig ist: Erstens ist es der Name der .oep-Datei, die auf Ihrem Computer gespeichert ist. Zweitens verfolgt Ogmo Editor die letzten Projekte und ermöglicht es uns, Projekte auf der Startseite nach Namen zu suchen.

Editor-Visuals konfigurieren

Als Nächstes werden "Hintergrundfarbe" und "Rasterfarbe" angezeigt. Mit dem Ogmo Editor können wir beide Werte ändern. Da Sie in Ogmo wahrscheinlich ab jetzt viele Ebenen erstellen und bearbeiten werden, ist es großartig, dass Sie die Grafik so ändern können, wie es für Sie am besten passt. Ich persönlich habe einen sehr dunkelgrünen Hintergrund und ein hellblaues Raster, aber Sie können alles verwenden, was Sie möchten.

Sie können entweder einen Hex-Wert manuell eingeben oder auf die rechts abgebildete Farbe klicken, um einen Farbwähler aufzurufen. Wählen Sie dann eine Farbe aus. Achten Sie darauf, die Schaltfläche "Benutzerdefinierte Farben definieren" am unteren Rand zu sehen, die ein umfassenderes Werkzeug zur Farbauswahl öffnet.

Winkel Export

Unterhalb des Hintergrunds und der Rasterfarbe wird das Dropdown-Menü "Angle Export" angezeigt. Dies ist ziemlich selbsterklärend und ändert einfach, wie Ogmo winkelbezogene Daten exportiert. Legen Sie entweder Degrees oder Radians fest, je nachdem, was Ihr Projekt erfordert.

Stufengrößen

Am wichtigsten ist, dass Sie eine "Level Size" Konfiguration haben. Hier legen Sie die Standard-, Mindest- und Maximalgrößengröße fest. Im Allgemeinen setzen Sie Default auf Ihre am häufigsten verwendete Levelgröße, Minimum auf Ihre niedrigste akzeptierte Levelgröße (häufig die Abmessungen Ihres Spiels für einzelne Bildschirmebenen) und Maximum auf den höchsten Wert, den Sie akzeptieren, oder einen lächerlich großen Wert Anzahl, um ein Maximum insgesamt zu vermeiden.

Kameraeinstellungen

Die Kameraeinstellungen sind eine optionale, fortgeschrittenere Funktion, die jedoch immer noch sehr ordentlich ist. Wenn in Ihrem Spiel eine Art Kamera verwendet wird, können Sie das Verhalten in Ogmo nachahmen. Auf diese Weise können Sie sehen, wie die visuellen Layering-Effekte in Ihrem Spiel aussehen, z. B. Parallax, im Editor.

Um die Kameraeinstellungen zu verwenden, aktivieren Sie das Kontrollkästchen "Aktiviert" und legen Sie die Abmessungen der Kamera fest. Wenn Sie Ihre Kamera in einem Spiel basierend auf der XML-Ebene erstellen möchten, aktivieren Sie das Kontrollkästchen "Export Camera position" und exportieren Sie diese Daten ebenfalls. Um die Kamera im Editor zu bewegen, halten Sie einfach "C" gedrückt und klicken und ziehen, um die Kameraposition festzulegen.

Pegelwerte

Eine weitere optionale Funktion ist sehr nützlich Pegelwerte. Stellen Sie sich diese als Eigenschaften Ihrer Ebenen vor, die direkt im Editor festgelegt werden können.

Ein praktisches Beispiel dafür ist der Schwierigkeitsgrad. Sie können eine "schwierigkeits" -Eigenschaft als Ganzzahltyp erstellen und Ihre Standardwerte, min und max festlegen. Sie können dann jedem von Ihnen erstellten Level eine Schwierigkeitsstufe zuweisen, die dann im Spiel zum Sortieren von Levels nach Schwierigkeitsgrad, zum Anzeigen des Schwierigkeitsgrades eines Levels usw. verwendet werden kann. Die Möglichkeiten sind hier nahezu unbegrenzt und mit etwas Kreativität ist dies eine sehr mächtige Funktion.

Schichten

Nachdem wir die Registerkarte "Einstellungen" gut verstanden haben, gehe ich zur nächsten Registerkarte über. Klicken Sie jetzt auf die Registerkarte "Ebenen". Ebenen sind ein unverzichtbarer Bestandteil des Ogmo Editors und werden wunderschön verarbeitet. Ogmo verwendet drei Arten von Ebenen: Raster, Kacheln und Objekte.

Gitter

Das Raster ist die grundlegendste Schicht in Ogmo. Standardmäßig enthalten neue Projekte nur eine Ebene. Diese Ebene hat den Typ "Raster". Rasterebenen sind einfach: Entweder ist eine Kachel gefüllt oder nicht. Aufgrund dieser einfachen Natur ist es die häufigste Verwendung einer Gitterebene, gefüllte Kacheln in Ihrem Spiel als Kollisionskacheln zu behandeln, obwohl ihre Verwendung offensichtlich nicht darauf beschränkt ist.

Fliesen

Fliesenschichten sind etwas fortgeschrittener, aber immer noch recht einfach. Im Allgemeinen werden diese nur für visuelle Zwecke verwendet (Ausnahmen sind vorhanden und verwenden fortgeschrittenere XML-Analyse, wir gehen hier jedoch nicht darauf ein)..

Meine Projekte enthalten immer mindestens zwei oder drei Kachelebenen: eine für den Hintergrund, eine für den Vordergrund und je nach Art des Projekts eine für den Mittelgrund. Es ist sinnvoll, über viele Tiles-Ebenen zu verfügen. Dadurch erhalten Sie mehr Genauigkeit und Leistung, wie gut das Bild des Editors Ihr Spielbild darstellt. Das liegt daran, dass Leerzeichen in Kachelebenen, ähnlich wie in Gitterebenen, entweder ausgefüllt sind oder nicht, was bedeutet, dass Sie nicht mehrere Kacheln in demselben Kachelbereich platzieren können und stattdessen mehrere Kachelnebenen verwenden müssen.

Ein Beispiel dafür ist unten gezeigt, wo ich eine Blume vor einem Baum habe. Mit nur einer Hintergrund-Kachelebene wäre dies nicht möglich. Ich habe jedoch mehr und meine Blumen und mein Baum liegen auf separaten Ebenen.

Entitäten

Entitätsebenen sind recht mächtig und dennoch sehr einfach zu verwenden. Einfach ausgedrückt: In einer Entity-Ebene werden alle Ihre Spielobjekte angeordnet, z. B. Gegner, Spawn-Positionen, Kontrollpunkte, Federn, Leitern, Spikes, Türen usw.; Wenn es sich nicht nur um ein visuelles Objekt handelt, das Sie beim Entwerfen von Ebenen platzieren würden, wird es hier angezeigt.

Entitäten erhalten ihre Kraft und Originalität aus ihrer Fähigkeit, Eigenschaften einzuschließen. Diese Eigenschaften können sich über einen großen Bereich von Datentypen erstrecken (boolesche Werte und Ganzzahlen sind nur zwei Beispiele), und es können Werte zugewiesen werden, z. B. Standard, Minimum, Maximum und manchmal mehr.

Ein einfaches Beispiel, wie dies nützlich sein könnte, kann an einem Spawnpunkt des Gegners beobachtet werden. Wenn Sie die Richtung bestimmen möchten, in der ein Feind einmal spazieren geht, müssen Sie in einem Ebeneneditor, der keine Eigenschaften unterstützt, zwei Objekte für den Editor erstellen - eines, bei dem sich der Feind nach links bewegt, und eines, bei dem es sich nach rechts bewegt. Mit der Unterstützung von Ogmo für Eigenschaften von Entitäten können Sie der Enemy-Entität einfach eine "direction" -Eigenschaft des Typs Integer zuweisen und sie im Editor -1 oder 1 zuweisen. Auf diese Weise können Sie ein Objekt für den Feind haben, aber für jedes Feind, das Sie Ihrem Level hinzufügen, ein bestimmtes Verhalten steuern. Sie können dann die Richtungseigenschaft aus dem XML-Code lesen und mit der Logik in Ihrem Spielcode umgehen.

Dies ist nur ein Beispiel dafür, wie Eigenschaften die Editorerfahrung vereinfachen. Es gibt jedoch viele andere Verwendungsmöglichkeiten.

Tilesets

Du weißt jetzt ein bisschen über die Ebenen von Tiles, aber ohne etwas Konfiguration lässt Ogmo die Verwendung dieser Ebenen nicht zu. Klicken Sie jetzt auf die Registerkarte Tilesets, und ich werde darauf eingehen, wie Sie eine Tiles-Ebene einrichten können.

Standardmäßig sind Ogmo keine Tilesets zugewiesen, und Sie benötigen eines, um eine Ebene des Typs Tiles zu erstellen. Um einen zu erstellen, klicken Sie einfach auf die Schaltfläche Erstellen unten links. Beachten Sie auch, dass Sie Ebenen entfernen und ihre Reihenfolge mit den anderen Schaltflächen ändern können.

Nachdem ein neues Tileset erstellt wurde, müssen Sie ihm einen Namen geben, Ogmo die Größe der einzelnen Kacheln auf dem Blatt mitteilen und gegebenenfalls den Abstand zwischen den Kacheln definieren. Wenn Sie mehr als ein Kachelset haben, wiederholen Sie einfach die oben genannten Schritte.

In der Arbeitsumgebung können Sie alle verfügbaren Kachelsätze sehen, während eine Kachelebene ausgewählt ist. Sie können mithilfe eines einfachen Dropdown-Menüs zwischen Sätzen wechseln. Bei der Arbeit mit Tilesets können Sie entweder eine einzelne Kachel oder eine Gruppe von Kacheln gleichzeitig auswählen. Auf diese Weise können Sie ganze Gruppen von Kacheln malen, mit denen Sie schnell Hintergründe platzieren oder größere Objekte aus mehreren Kacheln mit einem einzigen Klick auslegen können.

Entitäten

Die letzte Registerkarte ist die Registerkarte Entitäten. Hier konfigurieren Sie alle Entitäten, die auf einer Entitätsebene verwendet werden können. Objekte sind etwas komplexer als das, mit dem wir bisher gearbeitet haben, aber sie sind sehr flexibel und dennoch einfach zu bedienen.

Gehen Sie wie bei Ebenen und Tilesets vor, und klicken Sie auf Erstellen, um einen neuen Entitätstyp zu erstellen. Wie alles andere in Ogmo, geben Sie der Entität einen Namen und geben Sie deren Höhe und Breite ein. Beachten Sie, dass Ihr Hauptraster zwar eine Größe haben kann, Objekte und andere Objekte in Ogmo jedoch größer sein können. Ich schlage jedoch vor, alles durch eine einzelne Kachel teilbar zu halten, um die Dinge in Ordnung zu halten.

Wie bereits erwähnt, sind Eigenschaften, in denen Entitäten und der Ogmo-Editor selbst wirklich zum Leuchten kommen. Vielen Editoren fehlt diese Funktion, aber aus meiner Sicht ist dies absolut notwendig. Sie erstellen einfach eine neue Eigenschaft und weisen ihr dann einen Namen und einen der folgenden Typen zu: Integer, Boolean, Float, String, Enum und Color.

Nachdem Sie der Eigenschaft einen Namen und einen Typ zugewiesen haben, können Sie ihren Standardwert und (falls zutreffend) die minimal und maximal zulässigen Werte festlegen. Es gibt auch ein Kontrollkästchen Schieberegler anzeigen, mit dem Sie die Werte mithilfe eines Schiebereglers anpassen können, anstatt den Wert einzugeben, wenn Sie Objekte im Entwicklungsbereich bearbeiten.


Der Entwicklungsbereich

Navigieren

Das Navigieren im Entwicklungsbereich ist einfach. Um sich zu bewegen, halten Sie einfach die Leertaste gedrückt, klicken und ziehen Sie zum Schwenken. Darüber hinaus können Sie mit dem Scrollrad in Richtung Ihrer Mausposition zoomen. Diese beiden kombinierten Methoden ermöglichen einen sehr schnellen und schmerzlosen Arbeitsablauf, wenn Sie auf größeren Ebenen arbeiten.

Anpassung

Ein weiteres großartiges Feature von Ogmo und einer meiner Favoriten ist die Möglichkeit, jedes Unterfenster außerhalb des Programms zu ziehen. Ebenen, Objekte, Kachelpalette, Auswahl und Werkzeuge können auf die gewünschten Monitore gezogen und an die gewünschte Größe angepasst werden - eine äußerst nützliche Funktion für Benutzer mit Multimonitor-Setup oder größer Fliesensets.

Beachten Sie, dass diese Größenänderung für die Kachelpalette fast unerlässlich ist, da jede Kachel viel zu klein erscheint, wenn das Fenster nicht vergrößert wird.

Lernen Sie die Tools

Ogmo Editor verfügt über eine Reihe von Tools, die Sie während der Arbeit an Ihrem Projekt verwenden können. Einige Werkzeuge werden in allen Layer-Typen (Raster, Kacheln, Entitäten) angezeigt, während andere Layer-Typ-spezifisch sind. Nachfolgend finden Sie eine Aufgliederung der einzelnen Tools.

Rasterwerkzeuge

  • Bleistift: Wird für die Grundfüllung der Fliesen verwendet. Ein Linksklick platziert eine Kachel, ein Rechtsklick entfernt sie.
  • Fülle füllen: Ihr Grundfüllwerkzeug. Füllt mit einem Linksklick den gesamten leeren Bereich innerhalb eines umschlossenen Bereichs aus und entfernt einen mit Rechtsklick gefüllten Bereich.
  • Rechteck: Ähnlich wie das Füllungswerkzeug, füllt jedoch einfach einen ausgewählten rechteckigen Bereich. Linksklick zum Platzieren, Rechtsklick zum Entfernen.
  • Linie: Ähnlich wie das Stiftwerkzeug, wird jedoch zum Erstellen eines Liniensegments der Füllung von Punkt A nach Punkt B verwendet. Klicken Sie mit der linken Maustaste, um sie zu entfernen.
  • Wählen: Dient zur Auswahl von Objekten, die dann mit WASD oder dem Verschieben-Werkzeug verschoben werden können.
  • Auswahl verschieben: Hiermit können Sie ausgewählte Objekte mit der Maus verschieben.

Fliesen-Werkzeuge

Die meisten Werkzeuge werden auch in Gitterebenen verwendet, mit Ausnahme von:

  • Pipette: Ändert die aktuell ausgewählte Kachel in diejenige Kachel, die ausgewählt wird, wenn die Pipette verwendet wird.

Entitäten-Tools

Einige der Werkzeuge werden auch in Gitterebenen verwendet, abgesehen von:

  • Größe ändern: Falls zutreffend, können Sie die X- und Y-Skala einer Entität durch Klicken und Ziehen ändern.
  • Knoten hinzufügen: Fügt einen Knoten für die ausgewählte Entität hinzu. (Weitere Informationen finden Sie im Abschnitt "Knoten".).
  • Knoten einfügen: Ermöglicht die Platzierung von Knoten zwischen bereits platzierten Knoten. (Weitere Informationen finden Sie im Abschnitt "Knoten".).

Entitäten und Knoten

Knoten sind eine weitere erweiterte Funktion des Ogmo Editors. Stellen Sie sich Knoten als Wegpunkte vor, die zu einem bestimmten Entitätsobjekt gehören. Wenn eine Entität ausgewählt ist, können Sie mit dem Werkzeug Knoten hinzufügen Knoten hinzufügen. Diese Knoten werden im XML-Objekt unter dem Entitätsobjekt gespeichert und können nach Belieben verwendet werden.

Knoten können zum Bewegen von Plattformen, zur Bewegung von Feindmustern und zum Abfeuern von Feinden verwendet werden. Wie immer sind die Möglichkeiten endlos. Seien Sie also einfallsreich und nutzen Sie diese hervorragende Funktion.


Nichtkonventionelle Verwendungen

Der Ogmo Editor ist ideal für alle Kachel-basierten Spiele, sei es für ein Zelda-artiges Spiel, das von oben nach unten läuft, oder für ein Plattform-Side-Scrolling. Abgesehen davon, mit ein wenig Querdenker, kann es auf viele unkonventionelle Arten verwendet werden, um fast alles in Ihren Spielen zu tun.

Stellen Sie sich als Beispiel einen einfachen vertikalen oder horizontalen Shooter vor. Während des Spiels fliegen Feinde in vorgefertigten Mustern auf dich zu. Diese Muster sind in der Regel recht einfach und können streng durch Code erstellt werden. Verwenden Sie jedoch einen visuellen Editor, um den Prozess zu beschleunigen. Mit Ogmo können Sie einfach die Startposition jedes Feindes auf einer Entitätenebene festlegen und dem "Level" eine Eigenschaft zuweisen, die entweder eine Schwierigkeitsrangfolge für die Welle ist oder einen Namen, der es Ihrem Spiel ermöglicht, Ihre vorgefertigten Elemente weiter zu sortieren Wellen.

Was mit reinem Code ein anständiges Stück Zeit in Anspruch nehmen kann, ist dank der etwas unübersichtlichen Verwendung eines Kachel-Editors jetzt wesentlich einfacher und angenehmer.


Open Source

Matt Thorson hat den Ogmo Editor zu Open Source gemacht, was bedeutet, dass die Community den Editor beliebig erweitern und ändern kann. Wenn Sie an der Anpassung von Ogmo interessiert sind, schauen Sie sich die Quelle an und teilen Sie Ihre Beiträge mit der Community!


Fazit

Wie Sie sehen, ist Ogmo Editor ein äußerst robuster und komplexer Editor. Es ist eine erstaunliche Ergänzung zu einem Arsenal von Tools für Spieleentwickler und kann Ihnen unzählige Stunden einsparen.

Egal, ob Sie nach den absoluten Grundlagen in einem Editor suchen oder etwas Fortgeschrittenes, wie zum Beispiel das Kamerasystem oder die Entitätseigenschaften, Ogmo bietet Ihnen alles. Ich hoffe, dass Sie sich jetzt wohl genug fühlen, um Ogmo Editor in Ihrem nächsten Projekt zu verwenden. Viel Glück bei Ihren zukünftigen Levelbearbeitungsbemühungen!