De:xmoto-edit

From X-Moto
Jump to: navigation, search

English - Català - Español - Français

Achtung! Ein neues Werkzeug zur Levelerstellung hat xmoto-edit abgelöst: der Inksmoto Level-Editor.
Mit seiner Hilfe lassen sich rundere, besser aussehende Levels gestalten. Der Editor benutzt das freie
Inkscape (mit undo/redo - Fähigkeiten) als Basis, weitere Informationen finden sich hier:
Das Erstellen eines Levels mit Inkskape
xmoto-edit dagegen wird nicht mehr weiterentwickelt, und unterstützt daher nicht das ganze Potential
von X-Moto, das seit der Version 0.2.4 hinzugekommen ist!
Bitte setzt daher unbedingt Inksmoto ein, um euren Ideen die bestmögliche Umsetzung zu gewähren!

Es sollte für jedermann ein Leichtes sein, dem Spiel neue Inhalte hinzuzufügen - sowohl neue Level mit Standartgrafiken wie auch solche mit selbsterstellten Elementen. Diese Seite soll dabei den größten Teil dieser Möglichkeiten erklären.

Der Einsatz des Level-Editors

Dieser Teil ist ein kleines Tutorial, welches die ersten Schritte zu einem einfachen X-Moto Level erklärt. Ehe wir anfangen, ist es hilfreich, die oft benutzten Stichworte zu erläutern:

  • Blocks (Blöcke) sind die Basisbestandteile eines X-Moto Levels. Sie bilden den festen Untergrund unter den Rädern des Bikes des Spielers. Jeder einzelne Block kann nur je eine Textur haben. Wenn das Hintergrund-Flag des Blocks aktiviert ist, kann er vom Spieler nicht berührt werden und wird somit zum bloßen Bestandteil der Hintergrundgrafik. Blöcke können jede erdenkliche Form besitzen, sie können sich ebenso überlappen.
  • Eine Kante (Edge) ist die Seite eines Blocks. Diesen können Kanteneffekte zugewiesen werden, beispielsweise um Gras zu erstellen.
  • Eckpunkte (Vertices) sind die Punkte zwischen zwei Kanten eines Blocks.
  • Unter Entity versteht man ein Objekt innerhalb des Spiels. Dies kann zum Beispiel eine Erdeere sein oder die Startposition des Spielers.
  • Das Sprite ist dazu da, statische Grafiken darzustellen, etwa Bäume oder Schilder.
  • Partikel (Particles) kommen zum Einsatz, um Rauch darzustellen.
  • Der Editor bietet vier verschiedene Editiermodi. In jedem MOdus kann nur jeweils ein spezifischer Aspekt des Levels (also entweder Block, Kante, Eckpunkt oder Sprite) modifiziert werden.

Um den Editor aufzurufen muss das Programm xmoto-edit aufgerufen werden. Unter Windows befindet es sich im gleichen Verzeichnis wie das Spiel selbst.

Der geöffnete Editor sieht wie folgt aus:

Xmoto-edit.png

Auf dem Bildschirm findet man:

  • Die große graue Fläche, welche die Levelansicht darstellt. Das Gitter ist das eigentliche Spielfeld, alles außerhalb ist nicht Teil des Levels.
  • Cursor-Koordinaten in der linken oberen Ecke des Bildschirms.
  • Das Hauptmenü, in der oberen rechten Ecke des Bildschirms mit folgenden Punkten:
    • Neues Level (New Level) - Verwirft das momentane Level und beginnt ein neues. Vorsicht! Kein Rücksetzen möglich und kein Mitleid!
    • Level speichern (Save Level) - Speichert das momentane Level.
    • Level laden (Load Level) - Läd ein Level.
    • Level spielen (Play Level) - Startet das Spiel mit dem momentanen Level zum Testen.
    • Grenzen verlagern (Move Limits) - Versetzt die seitlichen Grenzen des Spielfeldes, um die Levelfläche zu vergrößern oder zu verkleinern.
    • Block erstellen (Create Block) - Erstellt einen neuen Block.
    • Editieren der ausgewählten Entity (Edit sel. Entity) - Zum Verändern der momentan ausgewählten Entity.
    • Level-Eigenschaften (Level Properties) - Verändern der Leveleigenschaften.
    • Editieren der Kanteneffekte (Edit Edge FX) - Hinzufügen/Entfernen von Effekten der momentan ausgewählten Kante.
    • Kanten glätten (Smooth Edges) - Glättet die ausgewählten Kanten. Vorsicht, übertrieben eingesetzt kann dies das Level stark in der Spielbarkeit verlangsamen.
    • Ausgewähltes Objekt entfernen (Delete Selection) - Entfernt ausgewähltes Objekt (Block, Kante, Eckpunkt, Entity)
    • Umschalten des Block-Flags (Tgl. Blk BG) - Alterniert das Hintergrund-Flag des gewählten Blocks.
    • Entität kopieren (Copy Entity) - Einfachste Methode die gewählte Entity zu verfielfachen.
    • Exit - Beendet den Editor. Vorsicht! Keine Nachfrage zum Speichern des Levels!
  • Unter dem Hauptmenü befindet sich die Liste mit möglichen Entitys. Um eines zu platzieren, genügt ein Klick auf den jeweiligen Typ und dann auf die gewünschte Position innerhalb des Levels.
  • Das Textur-Auswahlfeld befindet sich in der unteren rechten Ecke des Bildschirms. Es ist nur im Block-Editiermodus aktiv.
  • Unter der grauen Levelansicht, gibt es eine dunklere graue Fläche. Diese ist das Log. Jegliche Mitteilung des Editors erscheint hier.
  • In der unteren linken Ecke lässt sich der Snap einstellen. Dies bewirkt ein Einrasten der Cursorposition auf das Gitter in wählbaren Unterteilungen.
  • Rechts davon findet man das Menü zum Umstellen des Editier-Modus.

Man kann den gegenwärtig sichtbaren Levelausschnitt mit der Maus verändern. Per Rechtsklick an eine beliebige Stelle des Gitters wird die Ansicht auf diesen Punkt zentral ausgerichtet. Das Mausrad dient zum Hinein- und Herauszoomen der Levelansicht; alternativ bewirken die Tasten A und Z das Gleiche.

Wird der Editor gestartet, öffnet er ein neues leeres Level, lediglich mit der Spieler-Startposition als Entity: Xmoto-edit start.png

Dieses Entity kann bewegt werden, indem man den Entity-Editiermodus anwählt und per Drag & Drop das Startsymbol mit der Maus verschiebt. Zu Beginn der Levelkonstruktion sollte zunächst ein Blick auf das Level-Eigenschaften Menü (Level Properties) geworfen werden:

Xmoto-edit levelprops.png

Mit Klick auf den Dateinamen (file name) muss hier eine eindeutige, d.h. nicht mehrfach vorhandene Levelkennung eingegeben werden. Alle Levels sollten im /Levels Unterverzeichnis zu finden sein. Danach muss die Level ID zur Identifikation des Levels, ebenso eindeutig, eingegeben werden. Die ID darf dabei keine Leerzeichen enthalten. Schließlich kann über das Feld Name eine anschaulichere Level-Bezeichnung vorgenommen werden. Das Menü sollte jetzt wie folgt aussehen:

Xmoto-edit levelprops edited.png

Für unsere Levelkonstruktion werden wir als erstes einen Block benötigen. Dazu zoomen wir ein wenig hinein, damit das Areal ringsum die Startposition deutlicher erkennbar wird. Ein Klick auf Block erstellen (Create Block) beginnt den Zeichnungsvorgang. Die Eckpunkte werden einer nach dem anderen gesetzt, bis der Klick auf den ersten Eckpunkt den Block vervollständigt. Man beachte dabei aber die Reihenfolge der Platzierung:

Xmoto-edit creating block.png

Eckpunkte müssen der Reihe nach im Uhrzeigersinn platziert werden, andernfalls wird das Level nicht spielbar sein. Dies ist unbedingt zu beachten!

Jetzt wollen wir einen Baum auf unseren Block pflanzen. Ein Klick auf Sprite in der Liste der Entity-Typen und anschließende Platzierung innnerhalb des Spielfeldes ist dazu der erste notwendige Schritt. Es muss beachtet werden, daß das Sprite-Symbol ein wenig in die Mitte des Blocks gesetzt wird, damit der Baum am Ende keine Luftwurzeln besitzt.

Xmoto-edit sprite.png

Wurde das Sprite zu hoch platziert, wie auf obigem Bild zu sehen ist, kann dieses nachträglich verschoben werden. Dazu geht man in den Entity-Editiermodus, setzt den Snap auf off, und bewegt das Sprite-Symbol per Drag & Drop etwas mehr in den Block hinein.

Um das Sprite als Baum zu definieren, selektiert man das Symbol:

Xmoto-edit sprite sel.png

Dann klickt man auf Edit Sel. Entity im Hauptmenü und modifiziert anschließend die Parameter bis es so aussieht:

Xmoto-edit sprite edited.png

Der Baumtyp kann dabei wahlweise Tree1 oder Tree2 sein. Als nächstes wollen wir einen Blick auf das bisher Erschaffene werfen. Ein Klick auf Play Level startet das Spiel mit dem selbstkonstruierten Level:

Xmoto-edit ingame1.png

Bis zur Version 0.2.2 ist es von Vorteil, das Spiel wieder zu schließen, ehe man die Arbeit im Editor fortsetzt. Wäre nun etwas Gras auf der Blockoberfläche nicht eine Augenweide? Selbstredend, und es ist einfach hinzuzufügen: Man geht in den Kanten-Editiermodus und wählt die Kanten zur Bepflanzung aus:

Xmoto-edit edges sel.png

Mit ausgewählten Kanten - diese sind rot markiert - klickt man auf Edit Edge FX im Hauptmenü, und setzt Edge Effekt auf Grass. Groß- und Kleinschreibung ist dabei zu beachten.

Xmoto-edit edges edited.png

Nachdem die Auswahl der Kanten aufgehoben wurde, erschienen diese nun in Blau. Dies ist nützlich um den Überblick darüber zu behalten, welche Kanten mit Effekten ausgestattet wurden:

Xmoto-edit edges with grass.png

Ein erneuter Klick auf Play Level zeigt das Ergebnis.
Achtung: Seit Version 0.2.4 muss im Spiel zuerst F5 gedrückt werden, damit das Level neu eingelesen wird. Andernfalls sieht man nur die veraltete Version. Der Vorteil ist, dass dadurch X-Moto nicht zwangsläufig geschlossen werden muss, solange im Editor gearbeitet wird. Ein Druck auf F5 genügt, um das Level im Spiel neu zu laden.

Xmoto-edit ingame2.png

Als nächstes sollte das Level spielbar gemacht werden. Dazu muss eine EndOfLevel-Entity gesetzt werden. Wahlweise auch mehrere Erdbeer-Entitys. Weitere Blöcke verhelfen dem Level zu Form und Substanz:

Xmoto-edit playablelevel.png

Versuche nun das Level zu spielen und es auch zu beenden.

Um dem Level etwas atmosphärische Tiefe zu verleihen, bieten sich Hintergrund-Blöcke an. Dazu erstellt man einen Block mit aktiviertem Hintergrund-Flag (siehe oben), etwa wie hier zu sehen ist:

Xmoto-edit bgblock.png

Man beachte die Überlappungen des Hintergrund-Blocks zu den Vordergrund-Blöcken. Dies ist hilfreich, um unschöne Lücken zu vermeiden. Um die Unterscheidung der Blöcke untereinander zu gewährleisten, sollte der Hintergrund-Block eine andere Textur bekommen. Man klickt hierzu auf das Textur-Wahlfeld an der unteren rechten Bildschirmecke und wählt die dunklere Texturvariante:

Xmoto-edit texturesel.png

Hebt man nun die Auswahl auf, erschienen die Hintergrund-Blöcke übersichtlicherweise in grünem Gewand:

Xmoto-edit bgblock2.png

Ein letzter Klick auf Play Level zeigt das nun Ergebnis in ganzer Vollendung:

Xmoto-edit ingame3.png

Gratulation!

Nun noch ein letzter Tip für ein erfolgreiches Arbeiten: Um das Leveldesign nicht zum Selbstzweck werden zu lassen, ist dringend die Lektüre Über gutes Level Design anzuraten, ehe selbsterstellte Levels auf den Server geladen werden.