Difference between revisions of "BuildingScenarios"

From The Battle for Wesnoth Wiki
(Quick Tag Index: Remove [tutorial])
 
(2 intermediate revisions by one other user not shown)
Line 8: Line 8:
  
 
<div class="thumb tright"><div>
 
<div class="thumb tright"><div>
[http://www.wesnoth.org/images/sshots/wesnoth-1.11.8-1.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.11.8-1-175.jpg]
+
[https://www.wesnoth.org/images/sshots/wesnoth-1.11.8-1.jpg https://www.wesnoth.org/images/sshots/wesnoth-1.11.8-1-175.jpg]
 
<div class="thumbcaption">The Elves Besieged</div></div>
 
<div class="thumbcaption">The Elves Besieged</div></div>
 
</div>
 
</div>
Line 18: Line 18:
 
Remember that you can use the scenarios that ship with the game for reference should you get stuck. They cover a wide range of techniques, so it's likely you'll find an example of what you need.
 
Remember that you can use the scenarios that ship with the game for reference should you get stuck. They cover a wide range of techniques, so it's likely you'll find an example of what you need.
  
If you still don't understand something or can't get it to work, feel free to ask for assistance in the [http://forums.wesnoth.org/viewforum.php?f=23 WML Workshop] on the forums.
+
If you still don't understand something or can't get it to work, feel free to ask for assistance in the [https://forums.wesnoth.org/viewforum.php?f=23 WML Workshop] on the forums.
  
 
== The Wesnoth Markup Language ==
 
== The Wesnoth Markup Language ==
Line 28: Line 28:
 
Below follows an index of the basic WML tags used to create scenarios.
 
Below follows an index of the basic WML tags used to create scenarios.
  
:* [[ScenarioWML]]: The top level tags [scenario], [multiplayer], [test], and [tutorial]
+
:* [[ScenarioWML]]: The top level tags [scenario], [multiplayer], and [test]
 
:* [[IntroWML]]: Setting up the intro screen
 
:* [[IntroWML]]: Setting up the intro screen
 
:* [[TimeWML]]: Setting up the time schedule
 
:* [[TimeWML]]: Setting up the time schedule
Line 38: Line 38:
 
:** [[DirectActionsWML]], [[InterfaceActionsWML]], [[InternalActionsWML]]
 
:** [[DirectActionsWML]], [[InterfaceActionsWML]], [[InternalActionsWML]]
 
:* [[MapGeneratorWML]]: The random map generator
 
:* [[MapGeneratorWML]]: The random map generator
:* [http://www.wesnoth.org/macro-reference.xhtml Macro Reference]: A set of useful macro shortcuts you can use
+
:* [https://www.wesnoth.org/macro-reference.html Macro Reference]: A set of useful macro shortcuts you can use
  
 
=== Sample Code ===
 
=== Sample Code ===
Line 47: Line 47:
  
 
<div class="thumb tright"><div>
 
<div class="thumb tright"><div>
[http://www.wesnoth.org/images/sshots/wesnoth-1.11.8-5.jpg http://www.wesnoth.org/images/sshots/wesnoth-1.11.8-5-175.jpg]
+
[https://www.wesnoth.org/images/sshots/wesnoth-1.11.8-5.jpg https://www.wesnoth.org/images/sshots/wesnoth-1.11.8-5-175.jpg]
 
<div class="thumbcaption">Scenario Data</div></div>
 
<div class="thumbcaption">Scenario Data</div></div>
 
</div>
 
</div>
Line 63: Line 63:
 
Creating a scenario is no simple task. Generally, you should have a premise mapped out for the scenario before you begin. Who will your protagonists face? What events will occur? How long will it be? You might decide to revise your plans as you code and test them. It will generally take many iterations of writing, coding, and playtesting until your scenario reaches a product you are satisfied with.
 
Creating a scenario is no simple task. Generally, you should have a premise mapped out for the scenario before you begin. Who will your protagonists face? What events will occur? How long will it be? You might decide to revise your plans as you code and test them. It will generally take many iterations of writing, coding, and playtesting until your scenario reaches a product you are satisfied with.
  
A discussion on tweaking and balancing your scenario to make it more fun is found on the [[BuildingScenariosBalancing|Balancing]] page. ESR has more handy tips in his [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To] article, and as mentioned before, don't hesitate to ask for help in the [http://forums.wesnoth.org/viewforum.php?f=23 WML Workshop].
+
A discussion on tweaking and balancing your scenario to make it more fun is found on the [[BuildingScenariosBalancing|Balancing]] page. ESR has more handy tips in his [http://catb.org/~esr/wesnoth/campaign-design-howto.html Campaign Design How-To] article, and as mentioned before, don't hesitate to ask for help in the [https://forums.wesnoth.org/viewforum.php?f=23 WML Workshop].
  
 
A handy breakdown of the code of a scenario, line-by-line, is available on the three pages linked here. Each explores gradually more complex WML concepts.
 
A handy breakdown of the code of a scenario, line-by-line, is available on the three pages linked here. Each explores gradually more complex WML concepts.

Latest revision as of 12:46, 14 April 2023


wesnoth-1.11.8-1-175.jpg

The Elves Besieged

Wesnoth scenarios are the individual levels within the game. They can be as simple or advanced as you choose, ranging from two sides who must fight each other to multiple sides with different characters, custom items, and complicated events. This page is split into several sections, starting with the basics and moving into more complex techniques. When you're done, you should have all the knowledge necessary to create your own scenarios.

Each scenario is made up of two files: the map file and the configuration file. The former, the map itself, is discussed in BuildingMaps. The latter describes everything about, and what occurs in, a scenario, from the setup of sides, units, music, events, and so on. Both files are plaintext are can be edited in any standard text editor. If you decide to use a wordprocessor, please make sure to Save As text (preferably with a .cfg extension), not as rich text.

Remember that you can use the scenarios that ship with the game for reference should you get stuck. They cover a wide range of techniques, so it's likely you'll find an example of what you need.

If you still don't understand something or can't get it to work, feel free to ask for assistance in the WML Workshop on the forums.

The Wesnoth Markup Language

Scenarios are written in the Wesnoth Markup Language (WML), a custom language written specially to work with the game. It sports a relatively simple tag/key-based syntax, a complete guide to which can be found on the SyntaxWML page.

Quick Tag Index

Below follows an index of the basic WML tags used to create scenarios.

Sample Code

A nice collection of simple beginner code to look at is documented on the Samples page, showcasing the basic usage and structure of WML in an actual coding sense.

Scenarios and the Map Editor

wesnoth-1.11.8-5-175.jpg

Scenario Data

As of Wesnoth 1.12, the Map Editor has become more fully featured, and includes options to define more basic scenario-related content for your scenario, such as name, unit placement, graphical items, time of day schedules, etc, without having to manually write the code yourself. However, the editor cannot create more complex WML. Those interesting snippets still have to be written by hand. These functions are most useful for creating a simple scenario from a map, or streamlining your workflow in creating a more complicated scenario.

In order to edit scenario metadata, select File → New Scenario. By default, the editor opens with a blank map file open only.

NOTE: Scenario-specific content will not be saved unless you also select the File → Save Scenario option before exit. Otherwise, you will simply get a map file.

Building Your Scenario

SimpleIntermediateAdvanced

Creating a scenario is no simple task. Generally, you should have a premise mapped out for the scenario before you begin. Who will your protagonists face? What events will occur? How long will it be? You might decide to revise your plans as you code and test them. It will generally take many iterations of writing, coding, and playtesting until your scenario reaches a product you are satisfied with.

A discussion on tweaking and balancing your scenario to make it more fun is found on the Balancing page. ESR has more handy tips in his Campaign Design How-To article, and as mentioned before, don't hesitate to ask for help in the WML Workshop.

A handy breakdown of the code of a scenario, line-by-line, is available on the three pages linked here. Each explores gradually more complex WML concepts.

See Also

This page was last edited on 14 April 2023, at 12:46.