Mapping Tutorial

Aus Invertika Wiki

Wechseln zu: Navigation, Suche

In diesem Tutorial soll es um das Erstellen von Maps gehen.

Inhaltsverzeichnis

Vorbereitung

Für das Mappen werden einige Tools benötigt:

Mit dem SVN Client kann sich jeweils die aktuelle Version des Repositories geholt werden. Mitglieder mit einem SVN Zugang können so die Änderungen am Projekt schnell mit denen anderer Mitwirkender zu synchronisieren. Dazu lädt man sich erst eine Offlineversion der Repositories (Check Out Repository) auf die Festplatte welche man dann bearbeitet und mittels SVN ganz leicht wieder auf den Server laden kann. SVN sorgt auch dafür, das die Offlineversion immer aktuell ist. Der parallele Zugriff auf die Dateien des Projektes wir dadurch erleichtert.

Tiled ist der Map-Editor der für Invertika verwendet wird. Damit können die Karten erstellt werden, er ist das Werkzeug für Mapper (siehe http://de.wikipedia.org/wiki/Karteneditor). Um Tiled zu verwenden dieser vorher heruntergeladen oder kompiliert (siehe Tools kompilieren) werden.

Auschecken der Projektdaten

Damit man die aktuellen Entwicklungsdaten hat, checkt man sich diese aus dem SVN Repostory aus. Bei TortoiseSVN erstellt man einen Ordner klickt man mit der rechten Maustaste drauf und SVN Checkout... Dort wählt man als Repository URL: http://invertika.googlecode.com/svn/trunk/ und drückt auf OK. Das Repository wird dann ausgecheckt. Möchte man das Repository später auf den neusten Stand bringen so klickt man mit der rechten Maustaste drauf und wählt SVN Update.

Unter Linux kann man das ganze auf der Konsole mittels:

svn checkout https://invertika.googlecode.com/svn/trunk/ invertika

erledigen. Danach hat man alle Projektdateien auf der Festplatte.

Mapping

Die Layer

In jeder Karte gibt es 5 Layer. Jeder dieser Layer erfüllt eine bestimmte Funktion. Die Layer sind wie folgt benannt:

Nummer Layer Bedeutung
4 Object Objektebene für Warps, Spawns etc.
3 Collision Kollisiontiles
2 Over Dinge die über dem Player gezeichnet werden
1 Fringe Alles was auf dem Boden steht
0 Ground Auf diesem Layer sind die Bodentiles enthalten

Es ist wichtig das die Layer wirklich so heißen wie hier beschrieben, sonst kann manaserv die Ebenen nicht zuordnen. Dies würde dazu führen das die entsprechenden Ebenen nicht angezeigt würden.

Einleitung

Nachdem Tiled gestartet ist kann man seine erste Karte öffnen. Diese sind im Repository unter client-data/maps zu finden. Möchte man eine neue Karte gestalten so nimmt sollte man mit einer Templatekarte beginnen. Diese sind im Repository unter client-data/maps-templates zu finden. Weiß man nicht genau welche Karte man editieren möchte so empfiehlt sich ein Blick auf die Weltkarte (http://weltkarte.invertika.org). Alle Maps bzw. deren Namen folgen in Invertika einem bestimmen Schema. Dies sollte bei der Bennenung beachtet werden. Die Schemata und Regeln dazu findet man unter IDs und Namensschema.

Tilesets hinzufügen

Nachdem man die neue Karte erstellt hat und auch mitten beim mappen eine Karte kann bzw. ist es erforderliche neue Tilesets hinzuzufügen. Dazu geht man in das Menü Karte und dort auf Neues Tileset. Dort gibt man das Bild des Tilesets an. Die Tilesets liegen dabei unter client-data/graphics/tiles. Nachdem man das Bild ausgewählt hat muss man die Kachelbreite und Kachelhöhe angeben. Diese ist im Normalfall immer 32 x 32 Pixel. Die einzige Ausnahme sind Tilesets welche mit _x2, _x3, _x4 etc. enden. Bei diesen muss die Standardhöhe von 32 Pixel mal der Zahl hinter dem x genommen werden. Bei x4 hat das Tileset also eine Kachelhöhe von 128 Pixel.

Animierte Tilesets

Eine Besonderheit sind animierte Tilesets. Bei diesen befinden sich im Tileset verschiedene Teile einer Animation (wie z.B. eine Windmühle). Das Tileset wird ganz normal hinzugefügt. Animierte Tilesets sind an dem Zusatz ani gefolgt von den Größenangaben zu erkennen. Das sieht dann zum Beispiel so aus:

windmill_ani_256_180.png

Das bedeutet das eine Animationskachel in diesem Tileset 256 x 160 Pixel groß ist. Diese Werte müssen dann im "Neues Tileset" Dialog eingetragen werden. Danach geht man dann in der Tilesetpalette in das entsprechende Tileset. Nun muss man für das erste Teilbild der Animation ein paar Daten eingeben. Dazu klickt man auf die entsprechende Kachel mit der rechten Maustaste. Im Kontextmenü wählt man dann Kacheleigenschaften. Daraufhin öffnet sich ein Dialog. In diesem Dialog trägt man dann folgendes ein (auf das Beispiel der Windmühle bezogen):

animation-frame0  0
animation-delay0  7
animation-frame1  1
animation-delay1  7
animation-frame2  2
animation-delay2  7
animation-frame3  3
animation-delay3  7
animation-frame4  4
animation-delay4  7
animation-frame5  5
animation-delay5  7
animation-frame6  6
animation-delay6  7
animation-frame7  7
animation-delay7  7

Dabei gibt animation-frameX jeweils an, welches Tile für den Xten Frame benutzt wird (hier Tile Nummer 0, die Nummerierung beginnt bei 0). animation-delayX gibt an, wie lange der Xte Frame angezeigt werden soll, wobei 100 hier einer Sekunde entspricht. Diese Angaben werde für alle Frames der Animation im ersten Tile der Animation eingetragen. Danach kann man dieses Tile in der Karte (beliebig oft) platzieren - es spielt nun die Animation ab.

Erste Schritte

Sobald die Tilesets hinzugefügt wurden sollte zuerst der Ground Layer gefüllt werden. In diesem Layer ist der Untergrund zu finden wie z.B. Rasen, Erde, Eis et cetera. In dem darüberliegenen Fringe Layer kommen dann Objekte wie Palmen, Häuser etc. Der Over Layer sorgt dafür das alle Elemente welche sich in ihm befinden immer über dem Spieler gezeichnet werden. Dies könnte man z.B. für Torbögen verwenden. Ansonsten wird der Over Layer eher selten benutzt. Im Collision Layer wird alles markiert was für den Spieler undurchdringbar sein soll. Der letzte Layer ist der Object Layer in welchem Zonen bzw. Objekte angelegt werden können welche festlegen wo Monster gespawnt werden.

Beim Bauen der Karten sollte immer darauf geachtet werden, das im richtigen Layer gemappt wird. Dies kann sonst zu Problemen führen. Welches Layer gerade ausgewählt ist, kann im Fenster Ebenen eingesehen werden. Dort können die Layer auch einzeln ausgeblendet werden. So kann man kontrollieren welches Objekt sich in welchem Layer befindet. Ein weitere wichtiger Teil der Bedienoberfläche von Tiled ist die Werkzeugleiste, in der alle Werkzeuge zu finden sind.

Im unteren Teil befindet sich die Tilesetpalette mit verschiedenen Tabs in welchem je ein Tileset steckt. Diese kann man je nach Belieben mit der Maus hoch und runter ziehen. Einfach mit der Maus auswählen und in die Karte einfügen. Schon hat man das erste Objekt in die Karte gesetzt. Z.B. die Grundmauern eines Hauses. Dies sollte im Ground Layer passieren. Das Dach des Hauses fügt man nun im Over Layer einfach oben drauf. Das braucht etwas Übung, ist aber sehr einfach gehalten. Passende Dekorationsgegenstände wie z.B. ein Fass oder Gitterranken fügt man im Fringle Layer an das Haus.

Im allgemeinen sollte man darauf achten die Sachen auf einem möglichst niedrigen Layer abzubilden. Wenn es der Ground Layer für Mauern und/oder Berge auch tut, sollte man diesen auch verwenden.

Hat man sich einmal vertan, hilft die Undo Funktion mit der Tastenkombination Strg+Z. Auch unter Bearbeiten > Rückgängig zu finden.

Natürlich soll niemand im Spiel durch das Haus laufen können, daher gibt es den Collision Layer mit der Nummer 3. Dieser verwendet nur den Tab collision in der Tile Palette. Das Rote Feld bedeutet, hier darf niemand hindurch gehen. Setzt ihn dort ein, wo es sinnvoll ist nicht drüber zu laufen, z.B. Zäune, Berge, Häuser, Bäume etc.

Wenn die Karte fertig ist, vergesst nicht zu speichern. Auch zwischendurch mal speichern ist ganz hilfreich.

Es ist hilfreich schon fertige Karten zu nehmen wie z.b. ow-o0000-o0000-o0000.tmx und sich dann anzuschauen wie hier die einzelnen Layer benutzt wurde und was an dies und jener Stelle gemacht wurde. Vieles werdet ihr durch ausprobieren und Learning-by-Doing herausbekommen. Das Karten mappen ist nicht besonders schwer, braucht aber Geduld, Ausdauer und Sinn für Details.

Fertigstellung

Wenn man mit seiner Karte fertig ist und keinen SVN Zugang zum Repository besitzt kann man die Karte im Forum im Board Inhalte einstellen. Dort wird die Karte dann begutachtet und gegebenenfalls ins Repository eingepflegt.

Weblinks

Persönliche Werkzeuge