Benutzer-Werkzeuge

Webseiten-Werkzeuge


bert:editing:maps

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
bert:editing:maps [2007/03/11 17:05]
127.0.0.1 Externe Bearbeitung
bert:editing:maps [2014/03/01 17:13] (aktuell)
Zeile 1: Zeile 1:
 +<​sup>​[[:​bert|<​- Hauptseite]]</​sup>​
  
 +====== Maps ======
 +
 +Das Editieren vorhandener sowie Erstellen eigener Maps ist recht unkompliziert gestaltet. Alles was man dazu braucht ist ein Texteditor und ein bischen Hintergrundwissen.
 +
 +===== Format =====
 +
 +Die Maps werden, wie bereits gesagt, im plain text abgespeichert. Dazu wird ein 16x12-Feld (16 Zeichen in der Horizontalen und 12 Zeichen in der Vertikalen) genutzt, in dem jedes Feldelement durch ein einzelnes Zeichen repräsentiert wird. Dieses eine Zeichen dient sowohl zur Bestimmung der Textur, als auch zur Feststellung ob das Feld begehbar ist oder nicht.
 +
 +Dazu ein kleines Beispiel:
 +<​file>​
 +gggFFFFFFFFFFF--
 +ggFFFFFFFFFggggg
 +gggFFFFFFggggggg
 +ggg|gFFggggggggg
 +ggg|gggggggggggg
 +ggg|gggggggggggg
 +g---gggggggggggg
 +g|gggggFgggFggpp
 +g|ggggFFFggFgFgg
 +g|gggggFFFFggFgg
 +g|gggggFFgggFFgg
 +g-----FFFFFFFFF-
 +</​file>​
 +
 +Was auf den ersten Blick wie ein Wirrwar aus Buchstaben aussieht, ist in Wirklichkeit die Definition eines Levels. Der Buchstabe //F// steht einerseits für eine Waldtextur (=//​F//​orest),​ andererseits für "hier darfst du dich nicht drauf bewegen",​ weil es sich um einen Großbuchstabe handelt. Genauso verhält es sich mit dem //-//, welcher für einen (horizontalen) Zaun steht, sowie ein //|// für einen vertikalen Zaun. Diese beiden Gebiete können ebenfalls nicht passiert werden. Im Gegensatz dazu steht das kleine //g// für Gras und das //p// für einen //P//fad, welche beide problemlos begehbar sind. Felder mit Großbuchstaben sind also unpassierbar,​ Felder mit Kleinbuchstaben hingegen schon. Damit man sich nicht mit den Zeilen und Spalten vertut (wir erinnern uns, es handelt sich um 16x12 Felder), gibt es im Unterverzeichnis //maps/// die Datei //​world_template.txt//,​ welche als Vorlage genutzt werden kann.
 +
 +Die Maps werden übrigens im Unterverzeichnis //maps/// abgespeichert. Zur [[.maps#​leveluebergaenge|Namensgebung]] kommen wir später.
 +
 +==== Titel ====
 +
 +Jede einzelne Map kann einen eigenen Namen erhalten, welcher im Spiel rechts oben angezeigt wird. Dieser wird einfach unterhalb des Map-Blocks wie folgt definiert:
 +
 +<​file>​title=lowlands</​file>​
 +
 +==== Themes ====
 +
 +Mittels so genannten //Themes// kann man festlegen, welche Arten von umher fliegenden Lebewesen angezeigt werden sollen. Standardmäßig wird die Textur //​textures/​birds.png//​ genutzt. Möchte man aber zB keine Schmetterlinge haben, da es sich um eine Wüste oder ähnliches Schmetterling-feindliches Gebiet handelt, so fügt man folgendes hinzu:
 +
 +<​file>​theme=birds_desert.png</​file>​
 +
 +==== weitere Definitionen ====
 +
 +Die Definition weiterer Map-Elemente sind in den jeweiligen Artikeln beschrieben:​
 +  * [[Charaktere]]
 +  * [[Items]]
 +  * [[Objekte]]
 +
 +===== Texturzuweisung =====
 +
 +Der aufmerksame Leser wird sich nun fragen: "Woher weiss das Spiel denn nun, welcher Buchstabe für welche Textur stehen soll?"​. Die Erklärung hierfür findet man im [[texturen#​terrain|Textur-HowTo]].
 +
 +===== Levelübergänge =====
 +
 +{{  bert:​editing:​world.gif}}
 +Sicherlich ist einigen schon die merkwürdige Bezeichnung der maps aufgefallen,​ wie zB "​world4950.txt"​. Der string "​world"​ dient lediglich zur Identifizierung und hat keinerlei weitere Bedeutung, wobei die darauffolgenden 4 Zahlen jeweils für zwei Koordinaten stehen, x (=49) und y (=50). Möchte man also von "​world4950"​ aus nach rechts (d.h. der X-Achse entlang) in das nächste Level gehen, so muss man "​world5050.txt"​ erstellen (und natürlich einen passierbaren Bereich am rechten Levelrand).
 +
 +
 +===== Beispiel =====
 +
 +Es folgt ein Beispiel mit sämtlichen momentan implementierten Elementen:
 +
 +<​file>​
 +---gpg----------
 +ggggpgggggggggg|
 +ggggpgggggggggg|
 +ggggppppppppppg|
 +gppppggggggggpg|
 +gpgggggggggggpg|
 +gpgggggggggggpp|
 +pppgggggggggggg|
 +ggpgggggggggggg|
 +ggpgggggggggggg|
 +ggpppppppppppgg|
 +----------ggpgg|
 +
 +title=lowlands
 +theme=birds_desert.png
 +
 +[char]
 +name=blarg der blom
 +imag=chars/​blarg_der_blom.png
 +sent=sentences/​chars/​blarg.txt
 +posx=4
 +posy=8
 +[/char]
 +
 +[item]
 +name=Baguette
 +imag=items/​baguette.png
 +posx=6
 +posy=7
 +[/item]
 +</​file>​
 +
 +Als erstes erfolgt der Map-Block. Anschliessend wird der Titel gesetzt sowie das Theme. Danach folgt die Definition eines [[charaktere|Charakters]] und eines [[items|Items]]. Die Reihenfolge dieser zusätzlichen Elemente ist übrigens egal.
 +
 +<​sup>​[[:​bert|<​- Hauptseite]]</​sup>​