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 text within the description supports heading tags, bolds, underlines, and links (colored in blue) so the characters are far more legible.
 

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:

https://kamoly.itch.io/campaign-manager

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:

https://kamoly.itch.io/campaign-manager

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:

https://kamoly.itch.io/campaign-manager

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 evaluation doesn’t take into account players that execute surprise attacks using meticulous plans, expert tactical decisions during a turn, or unbelievably lucky rolls. Instead, it computes using average rolls and typical attack patterns. If a combat is reported near-even, and the players perform very well - they should win. If the combat is reported near-even, and the players perform very poorly - they should lose.

Also of note - no random numbers are used in the combat evaluation. The evaluator will return the exact same results given the same input every time. For example, if an attacker’s chance to hit is +10 and the defender’s chance to defend is 20, half damage is always applied to the average attack roll - as that is the damage that would be dealt averaged across hundreds of turns with random valued attacks.


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:

https://kamoly.itch.io/campaign-manager

Monday, November 28, 2022

Campaign Manager: Ready To Use Character Portraits

For Campaign Manager, 240 characters were created, but the user interface was more like a parameter dump rather than an appealing character sheet. The update this month is a presentable display of characters, items, and spells similar to how DnD sheets look. Additionally, almost 200 fantasy character portraits are included that can be applied to a character asset.

Example Bard...

Example Cleric...

Example Wizard...


You can download Campaign Manager from:

https://kamoly.itch.io/campaign-manager