Creating Campaigns

1.0 Dungeon Maker Launch Video

Dev Diary on the Dungeon Maker

The official Tactical Adventures user guide for the Dungeon Maker is here, which covers the basics of creating a module map and populating it with scenery, monsters, and interactable elements.

This guide provides Dungeon Maker supplemental information, advice and guidelines. Tools useful for checking and analyzing campaigns are at solastatools.com. For deeper customization of campaigns, experienced creators can use Dungeon Maker PRO.

## Creating a Campaign

   Campaigns are the latest way to play adventures in Solasta. Creators combine multiple maps into a single adventure, and can add custom items and monsters. The resulting campaign is available as a single Workshop item, removing the previous requirement for players to manually select all required maps, or use the Collections feature.

You can create and edit maps in either the Campaign or Locations context while you are working on your adventure, but custom assets must be created within your Campaign Creator. The title and description you enter will be used automatically if you publish on Steam, as well as being visible when a player loads your campaign in New Adventure.

Prior to the release of the Campaign Creator most modules were published with lengthy advice on how to download and play. This should not be required anymore, and the description can be used to inform and entice players.

## Design Phase

Create a reference document to refer to during your creation and testing of an individual module. Use this document to record things you will refer to repeatedly, such as Index numbers for Exits and Entrances, or for packs of monsters. Prepare the story you have for your adventure, no matter how simple or complex it is. Your map design will be how you lay out your story as the party progresses through the events.

The simplest story structure is Beginning, Middle, End. Create areas in your map to reflect the story, encounters and interactions to progress, and control how the party moves through the different phases. You can control free-roaming within a section of your story; for example, all the Beginning encounters and explorations are in the first section of map, but the party needs a key from the final monster to unlock the Middle section of the map.

* Sample Reference Document for Beginners

### Layout

Try to create original room designs with all the Blocker, Partition and Barrier options. The preset 'room' tiles are usually too large to be used for single rooms. Avoid using any default layouts in your original design.

Symmetric designs will have a tendency to look artificial, so use asymmetric elements where possible.

### Interaction

Adventure in D&D is often described as the Three Pillars of Combat, Exploration and Interaction. A great adventure involves the party with more than exciting combat and exploration of strange and mysterious locales; interaction is a crucial tool to create immersion.

#### NPCs

NPCs are available in several styles, each of which can be provided with a character from the DM library. Remember, you can create custom NPCs in the Campaign Creator.

* Idle NPC - for decoration
* Banter NPC - to provide lore, quest information, or for immersion
* Merchant NPC - to allow trading (custom inventories can be created)

### Experience Points

Experience points can be given to the party by combat, quest outcome functors, character and NPC dialog functors, and the Grant XP adventuring gadget. When balancing appropriate XP rewards for your campaign's character level, bear in mind that Solasta follows the D&D 5th edition Character Advancement table.

### Decoration

Decoration should also be used originally, and where appropriate, asymmetrically. Do not place multiple uses of the same asset in the same orientation. The DM makes rotation easy with the **R** shortcut for the Rotate function.

>
>     You can rapidly place multiple copies of the same asset once selected.
> Hold *LeftShift* with your pinkie finger. Place it with a mouse click, and you still have another copy of the asset on your cursor. Release *LeftShift* then tap *R* to rotate the asset. Hold *LeftShift* with your pinkie finger and place with mouse click. As long as you hold down *LeftShift* the asset on the mouse cursor will remain selected allowing this fast decoration method.

Look for original combinations of props that will tell your story to players, and combinations of assets that create an original impression.

>     Advice from Silverquick on making maps that players love:
>
>
> "What is holding back a large number of beginning module makers is barren empty areas. If you want people to play your modules, you are going to have to put a LOT more effort into decorating up your areas. Take the number of props you thought you needed times 10 or more... that's how many you'll need.
>
> "Do you see all the wall dividers, pictures, mirrors, carpets, pillars, rubble, etc... you must do at least this much if you wish others to play or be interested in your modules. If you do not do that, they will never even get to the parts you thought were "cool" that you were trying to show them. So I'd recommend many of you to go through your modules again and increase the numbers of props and decorations in them to be 10 or more times what you thought you needed."

### Lore

You can create campaigns in any setting that you have personally created and want to share. Solasta is a rich and complex world, with only a small part of it explored in the Crown campaign. The Lore Category contains all the publicly revealed lore, along with homebrewed Solasta Legends to use or inspire you with your own creations.

```
 Remember, no copyrighted material can be used in any content you publish without infringing on their licences.
Do not use names, creatures or other copyrighted content from Dungeons & Dragons, nor any other licenced property.

If you have any doubts, please refer to the System Reference Document (SRD 5.1) which details what is permitted.

```

### Standard Features

To set a start location for your campaign, select a location in the Campaign Creator and click the Set Start button. The campaign will start at the Entrance gadget on this map with its entrance index set to 0. To set an end for your campaign, place an Exit gadget on your map with no destination location selected: the campaign ends when the party uses this exit. An Exit gadget with no destination does not display its exit lore before ending the campaign, so you will need to use other means, such as lore gadgets or dialogs, to provide any closing text.

If your campaign begins with characters over level one, consider placing a Long Rest very near the start of your adventure. This will allow a player to use characters exported from a previous adventure, fresh and rested. Consider a similar placement at the very end of your campaign, near the exit, so that players may rest their party in preparation for another adventure.

It is particularly useful to provide a chest of essentials to level one adventurers at the start of your campaign, to account for any constraints in character selection.

Although the majority of players are on Authentic Difficulty, if you want your campaign to be accessible to multiple playstyles you can support them. In addition, Solasta allows character creation for proficiency in weapons and armour that starting characters do not receive in their inventory (martial weapons, medium armour etc.). In particular to support Cataclysm difficulty you can provide a full complement of 4x shields and medium armour.

>     This chest often contains some or more of the following items:
>
> * Additional starter weapons:
> 	+ A d8 melee weapon
> 	+ Spare arrows and bolts
> * Additional armour:
> 	+ Shields
> 	+ Medium armour
> * Caster support:
> 	+ Spell focus variations
> 	+ Essential material components
> * Crafting support:
> 	+ One of each crafting tool
> 	+ Basic components for potions and poisons
> * Flexible party support:
> 	+ Scrolls of Identify
> 	+ Thieves tools
> 	+ Crafting tools
> 	+ Basic recipes
>
>
>

You can provide the contents of your Starter Chest through custom drops on the early encounters in your campaign. This will appear more natural if you choose not to place a Starter Chest at the beginning of a campaign, but you still want to provide the players with these options.

## Encounter Design

> A monster’s challenge rating (CR) tells you how great a threat the monster is. An appropriately equipped and well-rested party of four adventurers should be able to defeat a monster that has a challenge rating equal to its level without suffering any deaths. For example, a party of four 3rd-level characters should find a monster with a challenge rating of 3 to be a worthy challenge, but not a deadly one.
>
>

5e uses CR not monster levels for balancing difficulty to player level. Generally the total CR rating for mobs in battle should be around the average of the party's levels for a basic fight. However, conditions play a part. For example, if the party are facing a light-sensitive creature in daylight, they will have a huge advantage, similarly if the monsters spawn next to the party they are at a disadvantage. Generally use a slightly higher CR total than the party average as Solasta is easier than tabletop. Obviously for boss fights the ratio should be higher. The CR rating is a good guide for treasure as well.

Creators also control the difficulty of encounters in the map design. An encounter can be placed so the party is able to defend easily, or have favourable positions for ranged attackers. An encounter can be made harder by giving these advantages to the monsters and deny them to the party.

You may find the DnD Beyond Encounter Builder useful in balancing by CR or by XP.

>
>     Silverquick described his own rules-of-thumb as:
>  "It's by levels. If the creatures are lower level than the party (or lesser hit points) I will double the party's number in enemies. The lower they are than the party, the more I will put in. Or I will put a mix in, one higher level creature with multiple lower levels. Say one larger creature that is 2 levels over the party, then 4-5 lower level creatures. It allows a mixed party of Defenders/Strikers/Controllers/Healers to be able to use the full party's abilities.
>
>  "The controllers (aka mages) will take out the small stuff with aoe, while the Defender steps in and takes the brunt of all the attacks, while the Strikers (read as Rogue/Ranger/Paladin Greatsword) use their high single target damage to take out the high health/level monster.
>
>  "It's the higher level high health/level creatures that get tricky against a party in 5e. First of all those require someone who takes a "Striker" style single-target damager as they will have enormous amounts of hit points. Secondly, the higher the level the monster is, the more likely it will be able to overwhelm and destroy your "Defender" characters (Sword/Shield style paladin and Mountaineer Fighters, etc) as if they were little more than paper. Lacking choke points and cover these can be impossible encounters purely due to their Level and Attack power. They don't result in tactical fights, but rather just power-on-power battles where the party has the disadvantage and will likely lose. Then it becomes about dice rolls, not actually party tactics, and is not a good experience.
>
>  "Generally rule of thumb for higher level monsters against a party is no more than half more the level of the Defender character. For example; a 7th level taking on a 10-11th level monster, or a 6th level party taking on a pair of 9th level monsters. 5th level taking on a pair of 7-8th etc. 3rd levels can take on one 5th level.
>
>  "The Solasta Bestiary does not show level, only CR, but you can estimate Hit Dice by Hit Points. Generally a Fighter will have about 10x his level in hit points. Monsters work similarly, the quirky part is when you get to things like Clerics and Rogues since they use lower hit dice."
>
>

Whatever system you use to create your encounters, playtesting is crucial to determine the experience of real players.

### Index Monsters

When you place a monster in the Dungeon Maker you can apply a group index number to it. All monsters in a given encounter group (should) start combat together. If you don't index a pack of monsters the players will come into combat with each individually depending on visibility and other factors. An unindexed pack creates a very disjointed experience for the player, as well as reducing your carefully planned encounter to a series of one-shots with no challenge. Record the index number and pack in your reference document to aid you when playtesting.

In general it is preferred to spawn groups of monsters from a trigger so that you can control exactly when they appear in the dungeon. Auto-spawn is useful for monsters you want to be spawned when the map loads, but should be used for this specific attribute and not as default.

When you are testing your module, keep an eye out for loose monsters that aren't attacking with the group you want them to. This is also an excellent time to make sure your monsters are facing in the direction the players should be coming from. If you place a monster with its face up against a wall it won't see much.

## Playtesting

During playtesting from the DM you will have access to the Cheats menu that provides important functionality. They can be toggled on and off at will, and their effects can be combined. These functions will improve the time-efficiency of your campaign design and the quality of your playtesting.

#### Reveal Fog of War

```
LeftShift + LeftCtrl + F

```

This function is primarily used during the design phase of a map. When you enter a playtest, activate this function to allow you to quickly mouse pan or map click to the area you want to visually inspect.

#### Idle Monsters

```
LeftShift + LeftCtrl + M

```

When you are playtesting the player experience for movement and interaction with your map design, use this option to set all monster packs to idle where they will not initiate combat. You will be able to test all non-combat interactions for the party without the time required to resolve combat encounters.

During this phase of design it is often time-efficient to move the Entrance gadget to different areas on your map to save having to repeatedly run through areas you have already tested. Remember to return it to its intended location when you have finished this stage of testing.

#### Invincible Party

```
LeftShift + LeftCtrl + I

```

The party of pregenerated level ones used in the playtest mode can be rendered invulnerable as you test aspects of a combat encounter. You do not need to complete encounters and can Kill Monsters to end the encounter.

#### Kill Monsters

```
LeftShift + LeftCtrl + K

```

This command kills all enemies currently in combat with the party. It does not affect monsters that have been spawned but are not in combat. Used in combination with Idle Monsters it allows you to playtest different encounters in isolation, only making active packs you choose to test.

#### SolastaTools

Prolific creator Vel has created a public tool to analyse your campaign .JSON and report on common errors such as exits to invalid locations. The SolastaTools website closed due to low traffic in March 2022 but the code is available on GitHub. The estimated difficulty (a more accurate CR) of your encounters and custom monsters helps with combat balancing.
## Publishing Campaigns

### Naming Conventions

Choose an enticing name that will encourage players to choose your campaign. Wikipedia has a list of D&D modules that will provide creative inspiration to name your campaign.

```
 Remember, no copyrighted material can be used in any content you publish without infringing on their licences.
Do not use names, creatures or other copyrighted content from Dungeons & Dragons, nor any other licenced property.

If you have any doubts, please refer to the System Reference Document (SRD 5.1) which details what is permitted.

```

### Campaign Description

Include as much information to help a player determine if your mod is interesting to them, for example:

* Flavor text describing the adventure that awaits
* Listing features of the campaign such as a rich story, or complex combat encounters
* Level ranges to start and an expected level to finish at
* Any background to your creation process that may interest players
* Links to related content like playthrough videos or to a page on this wiki

### Promotional Images

The thumbnail image for published modules is the most important first step to gain visibility for your adventure. Modules published with no thumbnail attract much less casual interest and get less downloads.

The fastest way to make a thumbnail is to **PrntScrn** a visually attractive scene or interesting combat situation from your module. Crop that image into a square and save the result as **YourDungeonNameExactly.jpg** in the same folder you save your module. When you publish to Steam it will upload automatically.

You should also make a wide version of your promotional image and add it to the Steam Workshop page. Because Steam will sometimes display a banner at the bottom of this image, avoid placing important information at the very bottom of your image. Now you will have a square image that displays in searches and other public functions, as well as a wide image for your campaign's Workshop page.

## Common Issues

### Publishing to Steam Fails

If you have published then deleted a module on Steam, attempting to re-publish the module will fail.

Use a text editor to open the .JSON file of your module and find the variable **publishedItemId**. Set this to 0 then save and Publish.

### Dungeon Maker Constraints

The DM is limited in many non-obvious ways currently.

One common issue is **activators and operations**. You can chain activators, but note that an activator can only send one "operation" at a time and some activators are only capable of sending certain operations (e.g. timed activators only send activate, so you can't use them to enable). If you're trying to require the player to stand on multiple activators at the same time to trigger something, you chain enable symmetrical and the final one in the chain activates the trigger. Vel put together examples of all the features in the new DM (Nov 2021) in a short level 12 campaign Vel King of the Hill.

### Editing Campaign JSON to Copy a Room

Copying rooms doesn't require any extra tooling. If you're not afraid of a good text editor (Visual Studio Code, vim, emacs, etc.) and python you can do by wrangling the JSON files.

1. Put unique lore text in the room you want to copy so it's easy to duplicate.
2. Make a backup copy of your campaign (or two or three!) then:
3. python -m json.tool YourCampaign.json > prettyYourCampaign.json
4. vim prettyYourCampaign.json (or Visual Studio Code or anything that will preserve the json besides TextMate / TextEdit / TextPad)
5. Search for the unique lore text
6. Page up until you find the start of that location
7. Select by matching the { } curly braces
8. Copy the entire section
9. Paste it into a separate, ideally empty campaign
10. Check that it worked
11. Repeat

## Tips and Tricks

### Environment, Lighting, Visual Mood

You can significantly change the look and feel of your campaign using different environments and "visual moods," which affect the lighting, including ambient light, torches, and can add an ink wash effect.

Refer to Vel's Visual Mood (Lighting) DM Guide for screenshot examples of each mood.

### Enemy Spawn

Auto spawn creates mobs when a member of the party is within 15 tiles of the mob placement. Line of Sight (LOS) is not necessary to auto spawn. Once spawned, mobs are part of your save game.

One alternative is to use an area activator to trigger mob spawn, while turning auto spawn off. You can then enter the area prior to spawn.

### Line of Sight

Line of Sight doesn’t always work as expected. Some walls are see-through or have gaps, some obstacles (like large rocks), do not block LOS. Be sure to test enemy placement with LOS.

### Planning Encounters | Enemy Composition

Be careful with large monster placement. Any mob that’s larger than a single tile can get stuck in a wall on spawn, even if it appears adjacent in the DM map tool.

Consider mob AI pathfinding when arranging encounters, items, and blockers. Ensure large mobs have enough space to reach the party unless you’re deliberately creating safe spaces or funnels.

Plan your encounters and encounter group numbers. Ensure you don’t accidentally trigger a second group by giving them the same number.

### Misc Tips

Interaction triangles indicate where the player needs to be to open a chest, touch an object, etc. You can rotate these (R). You can use the interaction position to force a player to step on a lore area, trap, button, etc.

Location min character level and max character level describe entry only, not during play, not the exit level. For example, if you have min 1 max 2, you can enter with a level 1 or 2 character but you could level up all the way to level 5 if there was enough xp.

Create distinct saves at different progress marks in each map. Auto spawn and mob placement make it difficult to playtest encounter changes. You’ll need to “rewind” to earlier saves, sometimes on the previous map, in order to check the updated encounter.

## Sources

Additional tips and tricks from Vel's DM guide on Steam.

1. ↑ System Reference Document 5.1
2. ↑ Cervando on Discord.