Difference between revisions of "BuildingScenarios/de"
RufDerMacht (talk | contribs) (trans) |
RufDerMacht (talk | contribs) m |
||
(5 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
== Einleitung == | == Einleitung == | ||
− | Wie schon erwähnt, besteht ein Szenario aus zwei Teilen: einer Karte und den zugehörigen, nahezu beliebig komplexen Zusatzinhalten. Das entspricht den beiden Dateien eines Szenarios: der '''Kartendatei''' (Endung '''.map''') und der '''Konfigurationsdatei''' (Endung '''.cfg'''). Beide Dateien sind '''reine Textdateien''' und können mittels eines Texteditors auch manuell bearbeitet werden <small>(in diesem Fall ist beim Speichern darauf zu achten, sie nicht etwa im Rich Text Format (RTF) o.ä. abzuspeichern, da sie dann nicht mehr durch das Spiel lesbar sind)</small>. | + | Wie schon erwähnt, besteht ein Szenario aus zwei Teilen: einer Karte und den zugehörigen, nahezu beliebig komplexen Zusatzinhalten. Das entspricht den beiden Dateien eines Szenarios: der '''Kartendatei''' (Endung '''.map''') und der '''Konfigurationsdatei''' (Endung '''.cfg'''). Beide Dateien sind '''reine Textdateien''' und können mittels eines Texteditors auch manuell bearbeitet werden <small>(in diesem Fall ist beim Speichern darauf zu achten, sie ''nicht'' etwa im Rich Text Format (RTF) o.ä. abzuspeichern, da sie dann nicht mehr durch das Spiel lesbar sind)</small>. |
− | Sowohl Karten- als auch szenariospezifische Konfigurationsdateien werden | + | Sowohl Karten- als auch szenariospezifische Konfigurationsdateien werden meistens durch den '''Karteneditor''' erzeugt, der in Wesnoth integriert ist. Siehe dazu [[#Szenarios und der Karteneditor|diesen Abschnitt]]. Eine allgemeinere Übersicht zum Thema Karten findet sich unter [[BuildingMaps/de|BuildingMaps]]. |
Um sich mit .map- und .cfg-Dateien und der zugrunde liegenden Verzeichnisstruktur vertraut zu machen, ist es sinnvoll, sich die vom Spiel mitgelieferten Dateien anzuschauen. Dort werden ein große Bandbreite an Techniken verwendet, mit Beispielen und Lösungen für jedes erdenkliche Problem beim Erstellen eines Szenarios. | Um sich mit .map- und .cfg-Dateien und der zugrunde liegenden Verzeichnisstruktur vertraut zu machen, ist es sinnvoll, sich die vom Spiel mitgelieferten Dateien anzuschauen. Dort werden ein große Bandbreite an Techniken verwendet, mit Beispielen und Lösungen für jedes erdenkliche Problem beim Erstellen eines Szenarios. | ||
Line 17: | Line 17: | ||
Außerdem gibt es natürlich die Möglichkeit, auf das [https://forums.wesnoth.org/viewforum.php?f=23 Forum] zurückzugreifen oder seine Fragen im [https://discord.com/channels/231976805987385345/442775044590927873 Chat] loszuwerden. | Außerdem gibt es natürlich die Möglichkeit, auf das [https://forums.wesnoth.org/viewforum.php?f=23 Forum] zurückzugreifen oder seine Fragen im [https://discord.com/channels/231976805987385345/442775044590927873 Chat] loszuwerden. | ||
− | == | + | == Die Wesnoth Markup Language (WML) == |
− | + | Szenarios (bzw. alle für Wesnoth benötigten .cfg-Dateien) sind in der [[ReferenceWML|'''Wesnoth Markup Language''']] (abgekürzt '''WML''') geschrieben, einer sog. Auszeichnungssprache, die - wie der Name schon sagt - speziell für dieses Spiel kreiert worden ist. Sie verfügt über eine relativ einfache, auf sog. '''tags''' und '''keys''' (Auszeichnungen und Schlüsseln) basierende Syntax.<br>Diese beiden Begriffe sind grundlegend für das Verständnis von WML, eine vollständige Anleitung dazu findet man auf [[SyntaxWML]]. | |
− | === | + | === Übersicht der Tags === |
− | + | Nachfolgend eine Übersicht über die '''grundlegenden WML-Tags''', die man benötigt, um ein Szenario zu erstellen. Die Tags sind thematisch geordnet auf verschiedenen Seiten zusammengefasst. Die Verlinkungen verweisen auf die entsprechenden Themenseiten: | |
− | :* [[ScenarioWML]]: | + | :* [[ScenarioWML]]: Tags der obersten Ebene - [scenario], [multiplayer], [test], and [tutorial]. |
− | :* [[IntroWML]]: | + | :* [[IntroWML]]: Den Intro-Bildschirm einrichten. |
− | :* [[TimeWML]]: | + | :* [[TimeWML]]: Den Tageszeitenplan einrichten. |
− | :* [[SideWML]]: | + | :* [[SideWML]]: Eine "side" beschreiben. "side" bedeutet in diesem Zusammenhang eine der Spielparteien. |
− | :** [[SingleUnitWML]]: | + | :** [[SingleUnitWML]]: Die Syntax einer einzelnen Einheit einer "side" definieren. |
− | :** [[ShroudDataWML]] | + | :** [[ShroudDataWML]]: Die verdeckten Anteile einer Karte für eine "side" definieren. |
− | :* [[EventWML]]: | + | :* [[EventWML]]: Ein Ereignis innerhalb des Szenarios. |
− | :** [[FilterWML]]: | + | :** [[FilterWML]]: Alles über Ereignis-Filter. |
− | :** [[DirectActionsWML]], [[InterfaceActionsWML]], [[InternalActionsWML]] | + | :** [[DirectActionsWML]], [[InterfaceActionsWML]], [[InternalActionsWML]] - unterschiedliche Typen von Ereignissen. |
− | :* [[MapGeneratorWML]]: | + | :* [[MapGeneratorWML]]: Der Zufallskarten-Generator. |
− | :* [https://www.wesnoth.org/macro-reference.html Macro Reference]: | + | :* [https://www.wesnoth.org/macro-reference.html Macro Reference]: Eine Auflistung nützlicher Makros. |
− | === | + | === Beispielcode === |
− | + | Auf der Seite [[BuildingScenariosSamples]] gibt es eine hübsche Sammlung von einfachen Codebeispielen. Dort werden die grundsätzliche Anwendung und die Struktur von WML in einem nachvollziehbaren Sinnzusammenhang gezeigt. | |
== Szenarios und der Karteneditor == | == Szenarios und der Karteneditor == | ||
Line 48: | Line 48: | ||
</div> | </div> | ||
− | Ab Wesnoth 1.12 ist der integrierte Karteneditor in der Lage, neben den reinen Kartendaten (also dem Terrain) auch szenariospezifische Daten zu erzeugen und abzuspeichern. Allerdings kann der Editor nur recht einfache Strukturen erzeugen, wie bestimmte Bezeichnungen, Einheitenplatzierung, grafische Elemente, Tageszeitenpläne und einiges mehr. Dadurch kann man sich eine Menge Arbeit sparen, wenngleich die weitere manuelle Bearbeitung der .cfg-Datei | + | Ab Wesnoth 1.12 ist der integrierte Karteneditor in der Lage, neben den reinen Kartendaten (also dem Terrain) auch szenariospezifische Daten zu erzeugen und abzuspeichern. Allerdings kann der Editor nur recht einfache Strukturen erzeugen, wie bestimmte Bezeichnungen, Einheitenplatzierung, grafische Elemente, Tageszeitenpläne und einiges mehr. Dadurch kann man sich eine Menge Arbeit sparen, wenngleich die weitere manuelle Bearbeitung der .cfg-Datei unumgänglich ist, um komplexeren WML-Code einzufügen. |
Um Szenariodaten zu erzeugen, wählt man im Menü ''Datei'' den Menüpunkt ''Neues Szenario''. Daraufhin öffnet sich ein Fenster, in dem man verschiedene Einstellungen vornehmen kann (siehe Screenshot). Um diesen szenariospezifischen Inhalt (zusammen mit den Terraindaten) abzuspeichern, wählt man im Dateimenü den Punkt ''Szenario speichern unter''. Dabei wird sowohl eine .map- als auch eine .cfg-Datei erzeugt. Möchte man lediglich die Terraindaten (in einer .map-Datei) speichern, wählt man im Dateimenü den Punkt ''Karte speichern unter''. | Um Szenariodaten zu erzeugen, wählt man im Menü ''Datei'' den Menüpunkt ''Neues Szenario''. Daraufhin öffnet sich ein Fenster, in dem man verschiedene Einstellungen vornehmen kann (siehe Screenshot). Um diesen szenariospezifischen Inhalt (zusammen mit den Terraindaten) abzuspeichern, wählt man im Dateimenü den Punkt ''Szenario speichern unter''. Dabei wird sowohl eine .map- als auch eine .cfg-Datei erzeugt. Möchte man lediglich die Terraindaten (in einer .map-Datei) speichern, wählt man im Dateimenü den Punkt ''Karte speichern unter''. | ||
− | == | + | == Ein Szenario erstellen == |
− | + | Ein Szenario zu erstellen ist keine einfache Aufgabe. Im Allgemeinen sollte man eine Vorstellung von dem Szenario - '''ein Konzept''' - haben, bevor man beginnt. Mit welchen Gegnern und Verbündeten wird der Held konfrontiert? Welche Ereignisse sollen passieren? Wie lang soll das Szenario werden?<br>Vermutlich wird man seinen Plan während der Entwicklung mehrfach über den Haufen werfen. Im Zyklus von Entwurf, Programmieren und Testen wird man eine Vielzahl von Versuchen benötigen, ehe man durch einen fortwährenden Annäherungsprozess ein befriedigendes Ergebnis erzielt. Hier einige Anlaufstellen für derartige Fragestellungen: | |
− | + | * Auf der Seite [[BuildingScenariosBalancing]] wird erörtert, wie man ein Szenario so anpasst und ausbalanciert, dass es wirklich Spaß macht. | |
+ | * Der Entwickler ESR liefert in seinem Artikel [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To] mehr praktische Tipps. | ||
+ | * Und nicht zuletzt besteht immer auch im [https://forums.wesnoth.org/viewforum.php?f=23 WML Workshop] des Wesnoth-Forums oder im [https://discord.com/channels/231976805987385345/371775921885020160 Chat] die Möglichkeit, nach Hilfe zu suchen oder zu fragen. | ||
− | + | Eine praktische '''zeilenweise Aufschlüsselung des Codes''' eines Szenarios ist auf den drei folgenden Seiten verfügbar. Jede Seite erkundet Schritt für Schritt immer komplexere WML-Konzepte: | |
+ | :• [[BuildingScenariosSimple|Einfache Konzepte]] • [[BuildingScenariosIntermediate|Schwierigere Konzepte]] • [[BuildingScenariosAdvanced|Konzepte für Fortgeschrittene]] | ||
− | + | == Siehe auch == | |
− | + | * [[ReferenceWML]] - Hauptreferenz für WML | |
− | |||
− | * [[ReferenceWML]] - WML |
Latest revision as of 09:58, 19 February 2022
Ein Szenario ist in Wesnoth eine spielbare Karte, die mit zusätzlichen Inhalten ausgestattet ist. Diese szenariospezifischen Inhalte können beispielweise verschiedene Verbündete oder Parteien sein, die mit- oder gegeneinander kämpfen, besondere Einheiten und Charaktere mit Dialogen, benutzerdefinierte Gegenstände mit speziellen Eigenschaften, oder etwa Ereignisse, die unter bestimmten Bedingungen ausgelöst werden. Diese Inhalte werden in den nachfolgenden Abschnitten erläutert.
Contents
Einleitung
Wie schon erwähnt, besteht ein Szenario aus zwei Teilen: einer Karte und den zugehörigen, nahezu beliebig komplexen Zusatzinhalten. Das entspricht den beiden Dateien eines Szenarios: der Kartendatei (Endung .map) und der Konfigurationsdatei (Endung .cfg). Beide Dateien sind reine Textdateien und können mittels eines Texteditors auch manuell bearbeitet werden (in diesem Fall ist beim Speichern darauf zu achten, sie nicht etwa im Rich Text Format (RTF) o.ä. abzuspeichern, da sie dann nicht mehr durch das Spiel lesbar sind).
Sowohl Karten- als auch szenariospezifische Konfigurationsdateien werden meistens durch den Karteneditor erzeugt, der in Wesnoth integriert ist. Siehe dazu diesen Abschnitt. Eine allgemeinere Übersicht zum Thema Karten findet sich unter BuildingMaps.
Um sich mit .map- und .cfg-Dateien und der zugrunde liegenden Verzeichnisstruktur vertraut zu machen, ist es sinnvoll, sich die vom Spiel mitgelieferten Dateien anzuschauen. Dort werden ein große Bandbreite an Techniken verwendet, mit Beispielen und Lösungen für jedes erdenkliche Problem beim Erstellen eines Szenarios.
Außerdem gibt es natürlich die Möglichkeit, auf das Forum zurückzugreifen oder seine Fragen im Chat loszuwerden.
Die Wesnoth Markup Language (WML)
Szenarios (bzw. alle für Wesnoth benötigten .cfg-Dateien) sind in der Wesnoth Markup Language (abgekürzt WML) geschrieben, einer sog. Auszeichnungssprache, die - wie der Name schon sagt - speziell für dieses Spiel kreiert worden ist. Sie verfügt über eine relativ einfache, auf sog. tags und keys (Auszeichnungen und Schlüsseln) basierende Syntax.
Diese beiden Begriffe sind grundlegend für das Verständnis von WML, eine vollständige Anleitung dazu findet man auf SyntaxWML.
Übersicht der Tags
Nachfolgend eine Übersicht über die grundlegenden WML-Tags, die man benötigt, um ein Szenario zu erstellen. Die Tags sind thematisch geordnet auf verschiedenen Seiten zusammengefasst. Die Verlinkungen verweisen auf die entsprechenden Themenseiten:
- ScenarioWML: Tags der obersten Ebene - [scenario], [multiplayer], [test], and [tutorial].
- IntroWML: Den Intro-Bildschirm einrichten.
- TimeWML: Den Tageszeitenplan einrichten.
- SideWML: Eine "side" beschreiben. "side" bedeutet in diesem Zusammenhang eine der Spielparteien.
- SingleUnitWML: Die Syntax einer einzelnen Einheit einer "side" definieren.
- ShroudDataWML: Die verdeckten Anteile einer Karte für eine "side" definieren.
- EventWML: Ein Ereignis innerhalb des Szenarios.
- FilterWML: Alles über Ereignis-Filter.
- DirectActionsWML, InterfaceActionsWML, InternalActionsWML - unterschiedliche Typen von Ereignissen.
- MapGeneratorWML: Der Zufallskarten-Generator.
- Macro Reference: Eine Auflistung nützlicher Makros.
Beispielcode
Auf der Seite BuildingScenariosSamples gibt es eine hübsche Sammlung von einfachen Codebeispielen. Dort werden die grundsätzliche Anwendung und die Struktur von WML in einem nachvollziehbaren Sinnzusammenhang gezeigt.
Szenarios und der Karteneditor
Ab Wesnoth 1.12 ist der integrierte Karteneditor in der Lage, neben den reinen Kartendaten (also dem Terrain) auch szenariospezifische Daten zu erzeugen und abzuspeichern. Allerdings kann der Editor nur recht einfache Strukturen erzeugen, wie bestimmte Bezeichnungen, Einheitenplatzierung, grafische Elemente, Tageszeitenpläne und einiges mehr. Dadurch kann man sich eine Menge Arbeit sparen, wenngleich die weitere manuelle Bearbeitung der .cfg-Datei unumgänglich ist, um komplexeren WML-Code einzufügen.
Um Szenariodaten zu erzeugen, wählt man im Menü Datei den Menüpunkt Neues Szenario. Daraufhin öffnet sich ein Fenster, in dem man verschiedene Einstellungen vornehmen kann (siehe Screenshot). Um diesen szenariospezifischen Inhalt (zusammen mit den Terraindaten) abzuspeichern, wählt man im Dateimenü den Punkt Szenario speichern unter. Dabei wird sowohl eine .map- als auch eine .cfg-Datei erzeugt. Möchte man lediglich die Terraindaten (in einer .map-Datei) speichern, wählt man im Dateimenü den Punkt Karte speichern unter.
Ein Szenario erstellen
Ein Szenario zu erstellen ist keine einfache Aufgabe. Im Allgemeinen sollte man eine Vorstellung von dem Szenario - ein Konzept - haben, bevor man beginnt. Mit welchen Gegnern und Verbündeten wird der Held konfrontiert? Welche Ereignisse sollen passieren? Wie lang soll das Szenario werden?
Vermutlich wird man seinen Plan während der Entwicklung mehrfach über den Haufen werfen. Im Zyklus von Entwurf, Programmieren und Testen wird man eine Vielzahl von Versuchen benötigen, ehe man durch einen fortwährenden Annäherungsprozess ein befriedigendes Ergebnis erzielt. Hier einige Anlaufstellen für derartige Fragestellungen:
- Auf der Seite BuildingScenariosBalancing wird erörtert, wie man ein Szenario so anpasst und ausbalanciert, dass es wirklich Spaß macht.
- Der Entwickler ESR liefert in seinem Artikel Campaign Design How-To mehr praktische Tipps.
- Und nicht zuletzt besteht immer auch im WML Workshop des Wesnoth-Forums oder im Chat die Möglichkeit, nach Hilfe zu suchen oder zu fragen.
Eine praktische zeilenweise Aufschlüsselung des Codes eines Szenarios ist auf den drei folgenden Seiten verfügbar. Jede Seite erkundet Schritt für Schritt immer komplexere WML-Konzepte:
Siehe auch
- ReferenceWML - Hauptreferenz für WML