Grundlagen der Levelerstellung in Forlorn
=========================================

Jedes Level besteht grundsätzlich aus einer sog. map-Datei, welche sich ohne Probleme in jedem Texteditor
öffnen lassen sollte und im Prinzip eine XML-Datei ist. Das heißt, dass in der ersten Zeile eines Levels
klar gemacht werden muss, dass es sich um eine XML-Datei handelt.
Dies funktioniert mit folgender Zeile:

	<?xml version="1.0" encoding="UTF-8"?>

UTF-8 ist besonders wichtig, um Umlaute zu unterstützen und zu verhindern, dass das Programm eines solchen Problem wegens abstürzt.

Als nächstes muss die Datei durch einen Level-Tag als Level gekennzeichnet werden:

	<Level name="Levelname" music="music.mp3">

Allgemein hin gilt im Übrigen, dass Tagnamen immer großgeschrieben wird, alles andere klein.
Der Levelname wird im Levelauswahlbildschirm ausgewählt und sollte daher nicht unbedingt ein 4-Zeiler sein ;)
"music" beschreibt ein Audiofile, welches sich im Ordner /media/audio/ befinden sollte.

Nun muss durch ein Desciption-Tag eine kurze Beschreibung des Levels geliefert werden, damit der Spieler ungefähr weiß, worum es in dem Level geht:

	<Description><![CDATA[Lasst die Kugeln rollen! Das erste Level soll den Spieler an das Spiel gewöhnen und den Umgang mit der Kugel trainieren.]]></Description>

Der Text innerhalb des <![CDATA[]] Abschnitts wird im Spiel als Beschreibung angezeigt.

Daraufhin kann man durch ein Fog-Tag gewisse Einstellungen für die Sichtweite vornehmen. Lässt man dieses Tag weg, wird kein Nebel gesetzt.

	<Fog start="300" end="500" colour="0 0 0" />

"start" beschreibt, ab welcher Sichtweite die Spielwelt beginnt im Nebel zu versinken und "end" die Position, an der sie völlig unsichtbar ist.
Mit "colour" lässt sich außerdem bestimmen, welche Farbe der Nebel haben soll.

Mit einem Settings-Tag lassen sich nun noch einige allgemeine Einstellungen beeinflussen. So zum einen das "ambient", was die Umgebungshelligkeit bestimmt(auch die Hintergrundfarbe wird dadurch beeinflusst.)
Zum anderen die "gravity", die die Schwerkraft festsetzt. Wird dieses Tag nicht gesetzt, werden die Standardwerte übernommen.

	<Settings ambient="0 0 0" gravity="0 -98.1 0" />

Nun kommt ein Tag mit dem Namen "Lights" zum tragen, wodurch sich Lichter in der Spielwelt platzieren lassen. Im Moment sind sämtliche Lichter statisch, aber es lässt sich
unter folgenden Lichttypen wählen:
		"point" - Punktlicht - Licht kommt von einem bestimmten Punkt
		"spot"  - Spotlicht  - Licht kommt von einem bestimmten Punkt durch einen Lichtkegel
		"dir"	  - Richtungslicht - Licht leuchtet in eine bestimmte Richtung

Umd die jeweiligen Lichttypen zu verwenden benötigt man folgende Angaben:

	<Light type="point" spec="1.0 1.0 1.0 1" dif="1.0 1.0 1.0 1" pos="0 250 0" />

Das Punktlicht benötigt die Attribute spec, welches die "specular colour" bestimmt. "dif", welches die "diffuse colour" bestimmt und "pos", welches angibt, an welcher Position sich
die Lichtquelle befindet.


		


