It can be tough to get the combat table right so I am using a python script to calculate results. With this, I can adjust different parameters to find the balance I feel is appropriate.
Although I don’t have every single possible combination coded into the script, the most important and frequently-used values can be adjusted, such as leader bonuses, fortification column shifts and so on. There was also an interesting decision I had to make: what happens when the opposing forces are equal (1:1)? I suppose it could go either way in a scenario like this, but keeping the overall campaign in mind, I have decided that for the attacker, this will be a rather risky attempt. For now, I lean more towards the usual 3:1 odds or higher to make it quite probable to win. However, this is something I still need to pay attention to just to make sure the game is ultimately imitating real life results well enough.
By running at least a thousand tests each time, I should get a good overview how the combat table works.

The output shown are from one of my today’s tests and are at best indicative. I am changing the table constantly trying to find the right balance. It’s not an easy task as I have so many variables to take into account.
With the python script, it’s very easy to adjust parameters here and there and see immediate results.

The script was originally created a year ago and just updating it to correspond today’s odds calculation method was a major task. I was hoping to focus on other topics instead of this, but it’s important to have it running accurately as it’s an invaluable tool before extensive playtesting.