So you want to create a scenario, eh?

Its been a few months since we posted our first "Designer's Corner" blog, but we felt it time to get another one up. What can we say, we stay busy!

In today’s article we are going to take a step-by-step look at creating a scenario. We’ll go over a couple of different ways you may want to do this and go over the tools you will need to get the work done.

We are going to use the Thirty Years War title from our Musket & Pike series of games for our examples and illustrations. You will need that game in order to view the supporting files linked to in this article. That said, this information is applicable to any of the pre-twentieth century titles. And the basic concepts also carry over into the twentieth century games, though the processes can vary a bit.

In recent years, the Scenario Editor Manual has been greatly expanded to not only cover the essentials of that program and how to use it, but also new sections have been added to discuss the various other supporting files that the game uses when you build and play a scenario.

You can use the Editor to either change an existing scenario or create a new one from scratch. In this article we will primarily be focusing on creating new scenarios. Best practice when doing any work within the game is to save a copy of the file you will be working with. This way, not only will it not impact the core game, but also when future updates are applied they will not overwrite your work.

If you're creating a new scenario, there will be three files you will need to select:

1) Map file – the game map the scenario will be played on.
2) OOB file – the list of units to be used.
3) PDT file – the parameter data defining specifics for this battle.

Once you click the “New” button on the Toolbar, or select the option from the File menu, the program will prompt you to select each file in turn. It is important to note that once these files are selected, only the PDT file can be changed without damaging the scenario you are creating – and that must be done in a plain text editor to open the .scn file and change the name of the PDT file used. If you change the OOB file or make alterations to the OOB file after the scenario is put together, it will cause the file to fail to load and will render the scenario unusable. So if you want to build your own OOB file, it is important to have that complete prior to beginning the scenario creation.

There’s a ton of details involved in this process. We are going to assume that you wish to make a custom scenario that uses historical units (from an existing OOB) and the general terrain of the region, but that you are not trying to represent a specific historical event. If historical, you obviously will need to do the research to line up all your details. For "what-ifs" or entirely hypothetical situations we have a lot more leeway in how we put things together.

1) Map file

You can either select a full map that ships with the game, or you can create a sub-map for use. We generally try to include a significant amount of mapped territory with a game for flexibility in this area. Often times you will find maps from other games included that will give you many more options to choose from when generating a custom battlefield. The size of the engagement you wish to create will dictate your map selection. If only moderately sized forces will be used (10-20,000 per side) then you don’t need a huge map – unless of course you want to create a “cat and mouse” type situation where players must hunt for each other. Conversely, if you are going to have very large numbers of troops involved you really want to offer as much terrain as possible for players to maneuver in.

For our example today I am going to use the Wurzburg.map file and I am going to sub-map it. When looking at the terrain, the lower left segment has a good amount of open ground, but also some wooded areas and other terrain features that can make an interesting battlefield. You can use the Scenario Editor and load up the map files to look around in detail if you wish. I’ve determined that I want my map to start around hex (60, 200) and I’ll go down to about (170, 300). I will use the Submap Editor to carve out the section I am after. This editor is accessible from the Start Menu Program Group created at time of installation, from the game folder using the free Menu Program or by browsing to the game folder in File Explorer and selecting the file mpsub.exe.

  1. Open a full map file from the game.
  2. Left click where you want the upper left corner of the new map to be.
  3. Right click where you want the lower right corner to be. All the unshaded area will be part of the new map.
  4. Save the file with a new name.

 

Submaps can also be created by hand using a standard text editor such as Notepad if you wish. Start by creating a new file with the filename extension ".map". You need to have your computer set to "Show File Extensions", otherwise the File will be created with a name such as "New.map.txt" - and the game will not recognize it as a map file.

This file should include the following information, which you will enter by hand:

Line 1: The number 0, indicating that this file contains submap information.
Line 2: The filename of the larger map you are making a submap from.
Line 3: Four numbers separated by spaces, indicating:

- The map coordinates of the larger map where the upper-left-hand corner of the submap is located, and
- The width and height of the submap in hexes.

Note: the first map coordinate value must be an even number.

Here is an example of a submap called Fraustadt-1.map:

0
Fraustadt.map
48 31 26 17


So again, this file has three text lines:

  • The first has the number 0, indicating a submap.
  • The second has the filename Fraustadt.map, indicating the larger map that this submap is taken from.
  • The third specifies the map coordinates (48, 31), a width of 26 and a height of 17. This indicates that the upper-left-hand corner of the submap is at map coordinates (48, 31) of the larger Fraustadt map.

Once you create a submap, it can be used normally to create new scenarios using the Scenario Editor. When you create a submap file, be sure to save the file in plain text format with no word-processing formatting included. If you can open the file in Notepad and it appears just as you typed it, then it should work fine.

I have my battlefield ready; now I need to look at the other two required files.

2) OOB File

The game folder includes a variety of sub-folders to keep the various game files organized. The folder we are currently after is “OOBs”, which stands for Orders of Battle.

Here again, it all depends on what you are aiming to do. If you just want to create a random battle, then the best course is likely to choose the largest OOB available so that you have the most units to choose from. However, if there’s a specific force mix you are after, you will need to be more precise. You can create a “dummy” scenario in the editor for each OOB in order to review what each includes. This is easier than viewing them in a plain text editor.

If you are going to want to make changes to an OOB file, you need to save a copy of it and then rename the copy to something easy for you to remember. Section 5.4 of the Scenario Editor Manual lists the specifics of the OOB files and all the entries in them. If you do make changes, it is recommended that you save often, and also check often that you can load the OOB in the editor. A missing “Begin” or “End” statement can break an OOB, so by checking often you can catch errors more easily.

For both this and the PDT file you need to use a "plain text" editor. This can be the free Notepad program that comes with Windows, but there are a variety of others to choose from. For example:

NotePad++ - https://notepad-plus-plus.org/

UltraEdit - https://www.ultraedit.com/

Using a more robust tool offers a lot of benefits – such as line numbering, Find & Replace features, etc. How much you plan on working in these files will drive what tool you use.

For the purpose of our example today, I am going to choose the “1632SwCamp.oob” file to work with, without modifications.

3) PDT File

The Parameter Data (PDT) file controls a large amount of the variables that the program pulls from to run a scenario. Section 5.5 of the Scenario Editor Manual goes line by line to detail what this file is made up of. The version of the manual linked to in this article is newer than what is in the published games to date, and further details have been added to various line descriptions to make them more understandable.

PDT files are found in the "Data" subfolder. For our purposes we will be using the “TYW2.pdt” file, which provides settings for a “Summer” environment – longer days and generally better weather… good fighting conditions, which is why armies usually campaigned during this time of year.

As noted in the introduction, this file can be changed after your initial scenario is created. However, if this file is changed after a scenario is in actual use then it is possible for it to cause file corruption – rendering the in-process game file useless. This is why we will post a note when we release updates with changed PDT files in them – it is best to finish any ongoing games before applying the update.

Not going to spend time going through all the details of this file, but a read-through of the manual is a must in order to completely understand the parameters you are working with.

OK, so we have our core three files selected, so now I am going to go into the editor and generate our base scenario file. Section 2 of the Scenario Editor Manual will walk you through this initial creation process.

After selecting our three pre-determined files we are greeted with the Header Dialog. You must make a certain number of changes in this screen to begin with. Specifically, you need to set the Date & Time information to cover the situation you are modeling. This must be done now, as it will impact a variety of attributes you create later in the process – such as Reinforcements, Releases, Scripting, etc. The date you choose must be within the realm covered by your PDT file. Since we are in the TYW, our file is in 1618 – we can tell this by the weather line entry on line 97 of the PDT file, which reads as follows:

1 1618 1 1 5 0 100 20 100 100 0 0 Clear

So, on January 1st of 1618 it is assigning a “Clear” weather condition with a Max visibility of 20 hexes. That condition will remain in effect until another weather line is created to alter it. The only exception to that is the cycle between dusk, night & dawn that takes place each day.

You can alter the other values, but generally these get more solid as you put your situation together. Once done here, click the OK button. Next, you will be prompted to enter your name as the Author, and then a description. This can be altered later in the process as well. After clicking OK we are looking at the game map and we have the Unit Dialog opened to the right. I suggest saving your scenario file at this point.

** This package includes the custom map file and scenario file which will have you in synch with the tutorial up and to this point. Again, you must own the Thirty Years War game in order for these to work properly.

The map area we have is roughly 100 x 100, so there's enough room to maneuver, but not for grand sweeping movements. The Unit Dialog shows us that we have forces from 5 different nations to choose from… and a much larger force mix than we need for this size of map. So, we will not plan on using the entire OOB.

I could spend pages of text describing all the possible variables when setting up a scenario. If you are creating a historical scenario, there are a lot of important details to consider. For example, some units may have been deployed with the army but did not take part in the actual fighting. In this case you can place them on the map, but then “Fix” them in place so they don’t come into play (if the opposing force sends troops in that direction, however, those Fixed units will Release and become available for the fight). If we are not conforming to the historical record, we can not only have more flexibility, but also simplify our setup. Case and point – you can deploy some “scouting” element of your force and then have the remainder of the army arrive as reinforcements. This gives those who will play your scenario the most flexibility when playing. This tends to yield the most enjoyment for players when they can choose their own deployment options. However, you must ensure you give the players ample buffer in order to deploy. It's a good idea to have the opposing forces arrive on opposite sides of the map,  so that no one gets ambushed in the opening moves before they can deploy.

It’s important to note that full-hex bridges must be added to a scenario when rivers are included. While they are “map elements” they are not created during the map making process. For our situation I am going to add a 200-strength bridge in the “Up right” position at hex (88,16). That way we have access to that far right corner of the map during game play. The bridge you add needs to be strong enough to support the force mix you want to cross over. See section 5.2.10 of the User Manual for a discussion on bridge strengths. We intentionally do not run the road up to each side of a river where a bridge will be, as this will then place a road all the way across the river and movement will be possible regardless of the strength of the bridge.

Placement is easy, you select a unit in the Unit Dialog, then right-click a hex to place the unit. The program will automatically select the next unit in the organization so you can place an entire command smoothly. It is important to always include the Leaders when placing units, as they are essential to how the program operates.

For this scenario I am going to pit a portion of Gustavus Adolphus’s Swedish force against element of Tilly’s Catholic League. I will aim to deploy roughly equal force sizes, with the Swedes entering from the South and the Catholic League coming in from the North. I begin by placing a Cavalry Division for each force on the map, with them coming on at the center road. I am then going to have the balance of each force come on as reinforcements.

For this example, I am going to place stacks of units near their desired reinforcement hex, but I am not going to actually schedule them yet – once they are Scheduled they are removed from the game map, and also they won't show in the Strength Dialog towards the final force strength. That’s not an issue if you are not concerned with “balance”, but since I am trying to field roughly equal forces here, I want to know what we have in play for both sides. Once all the units are determined, then I can schedule their arrival at each desired hex. For situations like this I generally try and have them arrive on a Road or Pike as well, so they can move along once they are placed on the map.

** The scenario file has been saved as Scenario_Creation_2.scn at this point so you can see what I am doing.

** Note: You will get Stack Errors when you load the scenario as the stacks of troops along the map edges exceed the total allowable stacking for a hex, and in many cases the number of counters. This is not an issue along the map edge, and the errors will clear once these units are scheduled as Reinforcements.

You’ll note that the Catholic League has a small strength advantage, but that is because of their force structure – they tend to have larger Pike Blocks as part of their force mix.

You want to make sure all units are facing the proper direction for when they arrive, they are all in Column formation, Leaders are on Top and no one is Disordered (unless by design).

Now it's time to schedule our reinforcements. Double click the stack at hex (77, 100) and then go to the "Units > Add Reinforcement" menu option. The following dialog will appear.

Note that the Date we set in the Scenario Header is pre-selected for us now. This helps ensure that we won’t schedule our reinforcements to arrive at a time not covered by the scenario. We can accept these defaults, and this stack of units will arrive on Turn 1 with 100% certainty. Additionally, they have been assigned a Protection value of 5, so if any opposing forces are within a 5-hex radius of the arrival hex they will automatically Rout.

However, we can also introduce some level of uncertainty here, which adds to the replayability of a scenario. For one, we can change the probability of arrival to something like 50% and then a check will be run each turn on whether the units arrive or not. You can go as low as 1%, but then they are almost guaranteed never to arrive. You can also add an Alternative arrival hex and probability. This can be used to vary the location the troops show up in any given replay of the scenario. For these first few stacks however we will be accepting the default values, but will only have one stack arriving per turn. Remember, turns are 15-minutes, so you have to make the proper increment each time you bring the dialog up. For the Swedish forces I cycle between the following three hexes:

Turn 1 – (77, 100)
Turn 2 – (58, 100)
Turn 3 – (93, 100)

I then re-locate the units that were stacked around each arrival hex onto the road or path before scheduling their arrival. I will cycle through each location until all reinforcements have been scheduled.

 
Now we need to make a decision. Is this purely a fight between two forces? Or do you want to place territorial objectives? If you plan on creating any AI scripts, then you will need to make objective hexes – the AI needs these. They will also play into the victory conditions you will be setting, so if you use them, you must consider them when setting the victory levels. When making a meeting scenario like this I generally prefer not to use Objectives. That's because they tend to drive the flow of battle and become a central focus, unless they are of a really low value. That said, for the sake of this demonstration we are going to add some. I am adding 3 low-value Objectives and I’m placing them as belonging to the Swedish side. This means the Catholic League forces must take and hold them in order to get the points.

Now I'm going back to the Header Dialog. I will assign some victory conditions with the intent that troop losses will be the driving factor in determining victory. Even if the CL forces take all three objectives, that alone will not move them to the next victory level. While in here, I also need to assign artillery ammo for each involved nation as well as address the AI. For this situation I am not creating scripts - instead I'm going to assign “Flags” to each side. The objectives in the center of the map give the AI something to both attack and defend, and the map is not so big that large maneuvers are required. So flags should be sufficient. If you wanted to create one or more scripts for each side though, then an AI value of 2 would be used.

** The scenario file has been saved as Scenario_Creation_3.scn at this point so you can see what has changed. (The Zip contains all files for this example.)

At this point we have a playable scenario. The first thing I do is go to the Main program, load the scenario up and let the computer play both sides. This lets me see if there are any major issues that I missed. With both sides set to Automatic, I click OK, and once the game starts running I click the key combination “Ctrl+Alt+F12” which places the game in “Continuous Mode”. I can also set the Speed to Highest and let things play out.



In the initial run-through, all of the forces moved towards the center of the map and combat commenced around the center-most objective hex, as expected. The scenario ended at nightfall, and while the Imperialist obtained a Major Victory, they paid dearly for it as several of their units were exhausted. Since I have not set out to specifically make this scenario for play against the AI, I will leave the header settings as is. If you did wish to guide and improve the AI's performance you would need to get into script writing to obtain that.

So, that completes the basics of creating a scenario. There’s quite a few other options to be explored in the editor. You can change hex attributes to place Trenches on the map, for example. You can also alter the state of your units by making them High Fatigue and Routed at the beginning of a scenario, if you so wished. Really, there is just a plethora of options and different ways to make a scenario come together.

If you've read this and decide to give it a shot – share the results with the community! Each forum section devoted to each series we publish has a “Design & Modding” section. You can share your files there. You’ll need to place them in a zip file to do so.

We hope you have enjoyed this latest addition in our Designer's Corner blog series... and hope you will take the plunge and learn how to design scenarios yourself!


2 comments


  • Jack

    The ability to make your own maps would be nice instead of having to use the same ones that came with the game. So you could make scenarios not covered by the map that came with the game.


  • Edo

    Thank You for this
    A question in regards to maps Is WDS going to publish a map editor in the future for the community ?
    Thank you for your response


Leave a comment

Please note, comments must be approved before they are published

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.