Advertisement
  1. Game Development
  2. Level Design

Ogmo Editor kennenlernen: Ein fortgeschrittener und robuster Level-Editor

by
Read Time:13 minsLanguages:

German (Deutsch) translation by Nikol Angelowa (you can also view the original English article)

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 so ziemlich jeder Gamedev-Plattform verwendet werden kann. In diesem Artikel zeige ich dir, warum es mein Lieblings-Level-Editor ist, beschreibe seine Funktionen und erkläre dir, wie du damit loslegen kannst.


Anforderungen


Was ist Ogmo-Editor?

Ogmo Editor ist ein kostenloser, quelloffener, kachelbasierter Level-Editor für Windows und mein persönlicher Favorit. Es ist extrem leistungsstark, einfach zu bedienen und wird weiterhin gelegentlich aktualisiert. Ogmo ist ein absolut fantastischer Editor und erspart Ihnen unzählige Stunden Arbeit.

example-levelexample-levelexample-level

Erstellen und Konfigurieren eines neuen Projekts

Das erste, was Sie bei der Verwendung von Ogmo Editor tun möchten, ist ein neues Projekt zu erstellen. Gehen Sie dazu einfach zu Projekt > Neues Projekt, wie unten gezeigt:

ogmo-editor-guide-02

Nachdem Sie das Verzeichnis ausgewählt haben, in dem Sie Ihre Projektdateien speichern möchten (als Ogmo-Editor-Projekt oder .oep), Sie werden mit der Registerkarte Einstellungen Ihres Projektkonfigurationsbildschirms begrüßt.

Einstellungen

Es gibt hier viele Informationen und einige Vorbereitungen, bevor Sie beginnen können, aber keine Sorge, ich werde alles aufschlüsseln, während wir fortfahren.

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

Benennen des Projekts

Geben Sie Ihrem Projekt in erster Linie einen Namen, wo derzeit "Neues Projekt" steht. Für dieses Tutorial werde ich mein Projekt "Beispielprojekt" nennen.

Der Name unseres Projekts ist aus zwei Gründen wichtig: 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 schnell nach Namen von der Startseite aus zu finden.

Editor-Visuals konfigurieren

Als nächstes sehen Sie "Hintergrundfarbe" und "Rasterfarbe". Ogmo Editor ermöglicht es uns, beide Werte zu ändern, und da Sie von nun an wahrscheinlich viele Levels in Ogmo erstellen und bearbeiten werden, ist es großartig, dass Sie die Grafik so ändern können, wie es für Sie am besten funktioniert. Ich persönlich gehe mit einem sehr dunkelgrünen Hintergrund und einer hellblauen Gitterfarbe, aber Sie können alles verwenden, was Sie möchten.

Sie können entweder einen Hex-Wert manuell eingeben oder auf die rechts angezeigte Farbe klicken, um eine Farbauswahl aufzurufen, und dann eine Farbe von dort auswählen. Beachten Sie unbedingt die Schaltfläche "Benutzerdefinierte Farben definieren" unten, die ein umfassenderes Farbauswahlwerkzeug öffnet.

Winkelexport

Unterhalb der Hintergrund- und Rasterfarbe sehen Sie das Dropdown-Menü "Winkelexport". Dies ist ziemlich selbsterklärend und ändert einfach, wie Ogmo winkelbezogene Daten exportiert. Stellen Sie entweder Grad oder Radiant ein, je nachdem, was Ihr Projekt erfordert.

Levelgrößen

Am wichtigsten ist, dass Sie die Konfiguration "Level Size" haben. Hier legen Sie die Standard-, Mindest- und Höchststufengröße fest. Im Allgemeinen setzen Sie Standard auf Ihre gängigste Levelgröße, Minimum auf Ihre niedrigste akzeptierte Levelgröße (oft die Abmessungen Ihres Spiels, für Einzelbildschirm-Level) und Maximum auf die größte, die Sie akzeptieren, oder lächerlich groß um ein Maximum zu vermeiden.

Kameraeinstellungen

Die Kameraeinstellungen sind eine optionale, erweiterte Funktion, aber immer noch sehr ordentlich, daher werde ich sie schnell behandeln. Wenn Ihr Spiel eine Art Kamera verwendet, können Sie deren Verhalten in Ogmo nachahmen. Auf diese Weise können Sie im Editor sehen, wie visuelle Layering-Effekte in Ihrem Spiel aussehen, z. B. Parallax.

Um die Kameraeinstellung zu verwenden, aktivieren Sie einfach das Kontrollkästchen "Aktiviert" und legen Sie die Abmessungen Ihrer Kamera fest. Wenn Sie Ihre Kamera im Spiel basierend auf der Level-XML erstellen möchten, können Sie das Kontrollkästchen "Kameraposition exportieren" aktivieren und auch mit diesen Daten arbeiten. Um die Kamera im Editor zu bewegen, halten Sie einfach "C" gedrückt und klicken und ziehen Sie, um die Kameraposition festzulegen.

Level-Werte

Ein weiteres optionales Feature, das sehr nützlich ist, sind Level-Werte. Stellen Sie sich diese als Eigenschaften Ihrer Level vor, die direkt im Editor eingestellt werden können.

Ein praktisches Beispiel dafür ist der Schwierigkeitsgrad Level. Sie könnten eine Eigenschaft "Schwierigkeit" als Ganzzahltyp erstellen und Ihren Standardwert, Min. und Max. festlegen. Sie können dann jedem Level, den Sie erstellen, eine Schwierigkeitsbewertung zuweisen, die dann im Spiel verwendet werden kann, um Level nach Schwierigkeit zu sortieren, den Schwierigkeitsgrad eines Levels anzuzeigen usw. Die Möglichkeiten sind hier fast endlos und mit etwas Kreativität ist dies ein sehr mächtiges Feature.

Schichten

Nachdem wir nun die Registerkarte Einstellungen gut verstanden haben, gehe ich zur nächsten Registerkarte über. Fahren Sie fort und klicken Sie jetzt auf die Registerkarte Ebenen. Ebenen sind ein absolut wesentlicher Bestandteil von Ogmo Editor, und sie werden wunderschön gehandhabt. Ogmo verwendet drei Arten von Ebenen: Raster, Kacheln und Entitäten.

Netz

Raster ist die grundlegendste Art von Ebene in Ogmo. Standardmäßig enthalten neue Projekte nur eine Ebene, und diese Ebene ist vom Typ Raster. Rasterebenen sind einfach: Entweder ist eine Kachel gefüllt oder nicht. Aufgrund dieser einfachen Natur besteht die häufigste Verwendung für eine Rasterebene darin, gefüllte Kacheln in Ihrem Spiel als Kollisionskacheln zu behandeln, obwohl ihre Verwendung offensichtlich nicht darauf beschränkt ist.

Fliesen

Kachelebenen sind etwas fortgeschrittener, aber immer noch recht einfach. Im Allgemeinen werden diese nur für visuelle Zwecke verwendet (Ausnahmen gibt es und verwenden fortgeschritteneres XML-Parsing, aber darauf gehen wir hier nicht 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 vernünftig, viele Kacheln-Ebenen zu haben, und dies gibt Ihnen mehr Genauigkeit und Macht, wie gut das Editor-Bild Ihr Spielbild darstellt. Dies liegt daran, dass Räume in Kachelebenen, ähnlich wie in Rasterebenen, entweder gefüllt sind oder nicht, was bedeutet, dass Sie nicht mehrere Kacheln in derselben Kachelfläche platzieren können und stattdessen mehrere Kachelebenen verwenden müssen.

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

layering-example

Entitäten

Entity-Layer sind ziemlich mächtig, aber dennoch sehr einfach zu verwenden. Einfach ausgedrückt ist eine Entity-Ebene der Ort, an dem alle Ihre Spielobjekte angeordnet sind, z. B. Feinde, Spawn-Positionen, Kontrollpunkte, Federn, Leitern, Stacheln, Türen usw.; Wenn es sich nicht um ein visuelles Objekt handelt, das Sie beim Entwerfen von Levels platzieren würden, kommt es hierher.

Entitäten erhalten ihre Macht und Originalität aus ihrer Fähigkeit, Eigenschaften zu enthalten. Diese Eigenschaften können einen großen Bereich von Datentypen umfassen (Boolean und Integers sind nur zwei Beispiele) und ihnen können Werte wie Standard, Minimum, Maximum und manchmal mehr zugewiesen werden.

Ein einfaches Beispiel dafür, wie dies nützlich sein könnte, kann an einem feindlichen Spawnpunkt beobachtet werden. Wenn Sie in einem Level-Editor, der keine Eigenschaften unterstützt, die Richtung bestimmen möchten, in die sich ein Feind bewegt, müssen Sie zwei Objekte für den Editor erstellen - eines, in das sich der Feind nach links bewegt, und ein anderes, in dem er sich nach rechts bewegt. Mit Ogmos Unterstützung für Eigenschaften von Entitäten können Sie der feindlichen Entität einfach eine "Richtungs"-Eigenschaft vom Typ Integer zuweisen und sie im Editor -1 oder 1 zuweisen. Dies ermöglicht es Ihnen, ein Objekt für den Feind zu haben, aber das spezifische Verhalten für jeden Feind, den Sie in Ihr Level setzen, zu steuern. Sie können dann die Direction-Eigenschaft aus dem XML lesen und die Logik in Ihrem Spielcode verarbeiten.

altering-a-property

Dies ist nur ein Beispiel dafür, wie Eigenschaften die Editor-Erfahrung vereinfachen, aber es gibt viele andere Verwendungszwecke.

Tilesets

Sie wissen jetzt ein wenig über Kachelebenen, aber ohne ein wenig Konfiguration lässt Ogmo ihre Verwendung nicht zu. Klicken Sie jetzt auf die Registerkarte Tilesets, und ich werde behandeln, wie Sie einen Tiles-Layer zum Laufen bringen.

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

Sobald ein neues Kachelset erstellt wurde, müssen Sie ihm einen Namen geben, Ogmo die Größe jeder Kachel auf dem Blatt mitteilen und ggf. den Abstand zwischen den Kacheln definieren. Wenn Sie mehr als ein Tileset haben, wiederholen Sie einfach die obigen Schritte für jedes.

In der Arbeitsumgebung sehen Sie alle verfügbaren Tilesets, während ein Tiles-Layer ausgewählt ist, und können mit Hilfe eines einfachen Dropdown-Menüs zwischen den Sets wechseln. Beim Arbeiten mit Kacheln können Sie entweder eine einzelne Kachel oder eine Gruppe von Kacheln auf einmal auswählen. Auf diese Weise können Sie ganze Kachelgruppen bemalen, mit denen Sie schnell Hintergründe platzieren oder größere Objekte aus mehreren Kacheln mit einem einzigen Klick anordnen können.

tilesets-paintingtilesets-paintingtilesets-painting

Entitäten

Die letzte Registerkarte ist die Registerkarte Entitäten. Hier konfigurieren Sie alle Entitäten, die auf einem Entities-Layer verwendet werden können. Entitäten sind etwas komplexer als das, womit wir bisher gearbeitet haben, aber sie sind sehr flexibel und dennoch einfach zu verwenden.

Gehen Sie wie bei Ebenen und Tilesets vor und klicken Sie auf Erstellen, um einen neuen Entity-Typ zu erstellen. Geben Sie der Entität wie bei allem anderen in Ogmo einen Namen und geben Sie ihre Höhe und Breite ein. Beachten Sie, dass Ihr Hauptraster zwar eine Größe haben kann, Entitäten und andere Objekte in Ogmo jedoch größer sein können. Davon abgesehen empfehle ich, alles durch eine einzige Kachel teilbar zu halten, um die Dinge aufgeräumt zu halten.

Wie oben erwähnt, glänzen Entities und Ogmo Editor selbst bei Eigenschaften. Diese Funktion fehlt vielen Redakteuren, aber aus meiner Sicht ist sie absolut unverzichtbar. 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 Typ gegeben haben, können Sie ihren Standardwert und (sofern zutreffend) die zulässigen Mindest- und Höchstwerte festlegen. Es gibt auch ein Kontrollkästchen Schieberegler anzeigen, mit dem Sie die Werte mithilfe eines Schiebereglers anpassen können, anstatt den Wert beim Bearbeiten von Objekten im Entwicklungsbereich einzugeben.


Der Entwicklungsbereich

Navigieren

Das Navigieren im Entwicklungsbereich ist einfach. Um sich zu bewegen, halten Sie einfach die Leertaste gedrückt, klicken und ziehen Sie dann zum Schwenken. Darüber hinaus können Sie mit dem Scrollrad in Richtung Ihrer Mausposition hinein- und herauszoomen. Die Kombination dieser beiden Methoden ermöglicht einen sehr schnellen und schmerzfreien Arbeitsablauf bei der Arbeit auf größeren Ebenen.

Anpassung

Ein weiteres großartiges Feature von Ogmo und eines meiner Favoriten ist die Möglichkeit, jedes Unterfenster aus dem Programm zu ziehen. Ebenen, Elemente, Kachelpalette, Auswahl und Werkzeuge können alle auf Ihre Monitore gezogen und an die Größe Ihrer Wahl angepasst werden - eine unglaublich nützliche Funktion für diejenigen mit einem Multi-Monitor-Setup oder größer Fliesensätze.

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 Werkzeuge

Ogmo Editor verfügt über eine Reihe von Tools, die Sie während der Arbeit an Ihrem Projekt verwenden können. Einige Werkzeuge erscheinen in allen Layertypen (Raster, Kacheln, Elemente), während andere spezifisch für den Layertyp sind. Nachfolgend finden Sie eine Aufschlüsselung der einzelnen Tools.

Rasterwerkzeuge

ogmo-editor-guide-07ogmo-editor-guide-07ogmo-editor-guide-07
  • Bleistift: Wird für grundlegende Fliesenfüllungen verwendet. Linksklick platziert eine Kachel, Rechtsklick entfernt sie.
  • Flood Fill: Ihr grundlegendes Füllwerkzeug. Füllt mit Linksklick den gesamten leeren Raum innerhalb eines umschlossenen Bereichs und entfernt einen gefüllten Bereich mit Rechtsklick.
  • Rechteck: Ähnlich wie das Füllwerkzeug, füllt jedoch einfach einen ausgewählten rechteckigen Bereich. Linksklick zum Platzieren, Rechtsklick zum Entfernen.
  • Linie: Ähnlich wie das Bleistiftwerkzeug, wird jedoch verwendet, um ein Liniensegment der Füllung von Punkt A zu Punkt B zu erstellen. Linksklick zum Platzieren, Rechtsklick zum Entfernen.
  • Auswählen: Wird verwendet, um Objekte auszuwählen, die dann mit WASD oder dem Verschieben-Werkzeug verschoben werden können.
  • Auswahl verschieben: Ermöglicht das Verschieben ausgewählter Objekte mit der Maus.

Fliesenwerkzeuge

tiles-toolstiles-toolstiles-tools

Die meisten Werkzeuge werden auch in Rasterebenen verwendet, abgesehen von:

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

Entitäten-Tools

entities-toolsentities-toolsentities-tools

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

  • Größe ändern: Ermöglicht Ihnen, falls zutreffend, die x- und y-Skalierung eines Elements durch Klicken und Ziehen zu ä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 das Platzieren 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 Entity-Objekt gehören. Nachdem eine Entität ausgewählt wurde, können Sie Knoten mit dem Werkzeug Knoten hinzufügen hinzufügen. Diese Knoten werden im XML unter dem Entity-Objekt gespeichert und können nach Belieben verwendet werden.

Knoten können zum Bewegen von Plattformen, feindlichen Musterbewegungen und feindlichen Schusspositionen verwendet werden. Wie immer sind die Möglichkeiten endlos, seien Sie also einfallsreich und nutzen Sie diese hervorragende Funktion.


Nicht-konventionelle Verwendungen

Ogmo Editor ist ideal für jedes kachelbasierte Spiel, sei es ein Top-Down-Zelda-ähnliches Spiel oder ein seitlich scrollender Plattformer. Abgesehen davon kann es mit ein wenig Out-of-the-Box-Denken 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 normalerweise recht einfach und können ausschließlich durch Code erstellt werden, aber warum nicht einen visuellen Editor verwenden, um den Prozess zu beschleunigen? Mit Ogmo können Sie einfach die Startposition jedes Feindes auf einer Entities-Ebene festlegen und dem "Level" eine Eigenschaft zuweisen, die entweder ein Schwierigkeitsranking für die Welle oder einen Namen ist, sodass Ihr Spiel Ihre Vorgefertigten weiter sortieren kann Wellen.

Was in reinem Code viel Zeit in Anspruch nehmen kann, ist jetzt dank einer etwas undurchsichtigen Verwendung eines kachelbasierten Editors erheblich einfacher und angenehmer.


Open Source

Matt Thorson hat Ogmo Editor Open Source gemacht, was bedeutet, dass die Community den Editor nach Belieben hinzufügen und ändern kann. Wenn Sie daran interessiert sind, Ogmo anzupassen, schauen Sie sich die Quelle an und teilen Sie Ihre Beiträge mit der Community!


Abschluss

Wie Sie sehen, ist Ogmo Editor ein äußerst robuster und komplexer Editor. Es ist eine erstaunliche Ergänzung des Werkzeugarsenals jedes Spieleentwicklers und kann Ihnen unzählige Stunden sparen.

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

Advertisement
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.