The latest update for Campaign Manager expands on the earlier update - last month I added support for HTML style tags in the description of assets. For this release, every SRD 5.1 monster type has its description updated to take advantage of the new feature.
Monday, June 12, 2023
Campaign Manager: Monster Formatting / Links
Wednesday, May 17, 2023
Campaign Manager: Asset Formatting / Links
The update in Campaign Manager for this past month is support for HTML style tags in the descriptions of assets. This enables much nicer formatting of the text in assets so they're easier to read and linking one asset to another.
The mouse cursor changes to a hand when placed over a link, and if clicked the relevant ability is opened. Getting the details of a spell that may be cast is now trivial to do; which is especially useful when you're busy in combat.
All 240 ready-to-go Level 1 through 20 NPCs have been updated with the new style and links. A future update will bring it to the monster assets.
You can download Campaign Manager from:
Sunday, April 16, 2023
Campaign Manager: Mod Support
The big update this time is Mod support!
At startup, Campaign Manager with look in a \Mods folder for dll files it can consume to extend its functionality.
Mods can currently:
- Add buttons to the main menu bar.
- Play / stop music.
- Change the background canvas color.
- Get a collection of the campaign encounters.
Mods are written in C# .NET 4.8. Documentation is included with Campaign Manager for how to setup Visual Studio to create a mod, and a sample mod is included with the Campaign Manager installer.
Example code snippets:
// Add a button to the Tools menu.
_sampleButtonPressedEvent = new EventHandler(SampleButtonPressed);
_campaignManagerHost.AddButton("Sample Mod",
"Tools",
Properties.Resources.sampleModIcon,
"Tooltip to demonstrate opening a form for the sample mod.",
_sampleButtonPressedEvent);
this._campaignManagerHost.PlayMusic("Battle Theme");
_campaignManagerHost.ActiveCampaign().ActiveCanvas().BackgroundColor = Color.Blue;
String newOutput = "";
foreach (IEncounter loopEncounter in this._campaignManagerHost.ActiveCampaign().ActiveCanvas().Encounters)
{
newOutput += loopEncounter.Name + Environment.NewLine;
}
textBoxOutput.Text = newOutput;
The API functionality will extend over time, but this is the first step for any developer to extend the Campaign Manager user interface and capabilities.
You can download Campaign Manager from:
Tuesday, March 21, 2023
Campaign Manager: UI Improvements
No big updates this month for Campaign Manager (some are coming soon). However, small UI improvements were made throughout the application, especially for engagements.
- Adding monsters for encounters / combat evaluations now requires fewer windows / clicks, additional "duplicate" buttons for user convenience, and quick ways to send combat evaluations into encounters.
- Sorting now gracefully handles fractions (for example sorting by challenge rating puts a "1/4 CR" ahead of "1/2 CR").
- Fixed some UI glitches as well when editing assets or using the name generator.
You can download Campaign Manager from:
Wednesday, February 22, 2023
Campaign Manager: More Ambience Music
Campaign Manager improvement for this month is pretty simple - additional ambience music. The number of atmospheric songs is increase from 13 to 42. There are more songs for standard fantasy role playing but also some for futuristic / sci fi related gaming. Songs include:
Babbling Brook
Battle Theme
Beach
Campfire
Destruction Earthquake
Destruction Fire Ball
Destruction Ice
Destruction Rock
Destruction Water
Destruction Wind
Dungeon Cave
Evil Forces
Facility Beeping
Facility Chirping
Facility Computer
Facility Damaged
Facility Noise
Facility Phasing
Facility Pulsing
Facility Screeching
Facility Signals
Facility Whooshing
Factory Clockwork
Factory Engine
Factory Ratcheting
Festive Crowd
Forest Night
Forest River
Mountain Breeze
Mountain Day
Mountain Night
Mysterious Cave
Ocean
Rain
Sewer
Space Ship
Tavern
Town
Tunnel
Underground
Village
Wind
All the songs are looping and intended to be used as background ambience while playing together with friends.
You can download Campaign Manager from:
https://kamoly.itch.io/campaign-manager
Friday, January 27, 2023
Campaign Manager: A Better Combat Evaluator
Last month I mentioned populating standard damage attacks, special damage attacks, and healing for all 240 player/NPC character types (level 1 through 20 of fighter, druid, paladin, wizard, etc.). This past month, the same data (and more) has been populated to every monster type in the SRD 5.1 document.
All of which was necessary for the new Combat Evaluator. The Combat Evaluator tool aids game masters in balancing combat their players may encounter. Players and character assets are added to each Team and the results of the engagement calculated.
The victorious team is color coded - green for the winning team and red for the losing team. The colors will show gradients depending on how overpowered one team is versus the other. The advantage shows how much more additional attack and healing one team would require to win. In the above screenshot, Team B wins with a 12% advantage - meaning Team A must roll 12% higher than average on all of its healing and attack rolls to succeed.
The lower section shows an evaluated combat with no advantage given to either player. It includes how much power is left for the winning team at the very bottom.
The combat evaluator takes into account a character's "Initiative" (or "DEX Mod" if no "Initiative" available), "Hit Points", "Armor Class", "Eval Standard Damage", "Eval Standard To Hit", "Eval Special Damage", "Eval Special Count", "Eval Healing Amount", "Eval Healing Count", "Eval Regeneration Amount", and “Eval Reactive Damage”.
"Eval Special Damage" can include "*#" to denote damage may be applied to multiple characters.
"Eval Special Damage" can include "/#" to denote damage may be divided to multiple characters.
"Eval Healing Amount" can include "*#" to denote damage may be applied to multiple characters.
"Eval Healing Amount" can include "/#" to denote damage may be divided to multiple characters.
"Eval Special Count" can include "*" to denote bonus action.
"Eval Special Count" can include "!" to denote the number represents turns between special damage becomes available again.
"Eval Healing Count" can include "*" to denote bonus action.
"Eval Reactive Damage" can include "*" to denote damage dealt when killed.
If something is denoted as a bonus action, then it is used simultaneously with the standard attack or healing. Healings are performed when a fellow teammate is down or if multiple healings are available and a teammate is low. In the above Adult Red Dragon asset, the Fire Breath damage from a special attack is applied to 3 characters each time it is used, and it is available every 3 rounds of combat.
The Combat Evaluator is also accessible from Encounters that have engagements defined. The configured players are automatically added as Team A and the Engagement creatures as Team B.
In the above example, there are players “Luther” and “Aleena” which are set to use Fighter Level 2 and Druid Level 2 in their player configurations respectively. There is an encounter with an Engagement against 2 hobgoblins and 2 goblins. When “Evaluate” is selected on the engagement, a Combat Evaluator is opened putting the players against the engagement participants.
You can download Campaign Manager from:
https://kamoly.itch.io/campaign-manager
Thursday, December 29, 2022
Campaign Manager: Building a Better Combat Evaluator - Player Stats
Progress on Campaign Manager continues...
Although I've gotten better at balancing combat for my DnD players over time, it's still very difficult. I've found the monster "Challenge Ratings" to be mediocre guidelines at best. For a combat to be challenging the total challenge rating I throw at my players is usually double their player levels. There must be a better way...
Which is why I've been assigning standard damage attacks, special damage attacks, and healing information to all 240 character types this past month. Next month I will continue assigning the same values to all SRDv5.1 monsters. And all this information is for a new combat evaluator function.
The combat evaluator takes in characters' hit points, initiative, and the many new properties I've added to play out a mini combat turn by turn. I'll post a more detailed explanation later of how it works, but it looks quite promising! It's not ready for release yet but likely in the next month or two.
You can download Campaign Manager from:













