Even though battles are a core component of Empires in Ruins, in order to satisfy different types of gamer, and not to impose our own style on each run, we decided to provide the campaign (and sandbox) modes with an autoresolve function for battles.
I think this might come specially handy in case of repeated riots a player might not have intention to play on a given battlefield, or also in the case of a player more into the management/grand-strategy part and less in the details of real time battles.
Nevertheless, now Empires in Ruins has an auto-resolve mode for battles. But how does that work? First of all, we wanted to have a bit of random component, but a controlled randomization. That comes from watching testers playing and playing ourselves the game battles. Specially at higher difficulty mode it's absolutely not guaranteed that you will win, quite the opposite instead, no matter the amount of research, bonuses, etc, it's the human factor that makes the difference.
Therefore we needed to turn this into a chance of success. We're old school people, coming from board games and RPG games that went out of print already a decade ago, and the d100 is our favorite approach to things.
Let the system roll a random number between 1 and 100, if it's less or equal than the target value, you succeeded (with various levels of success), if it's larger, you fail. One thing that affects EVERY single d100 roll in the game is the main character Luck statistic. Luck can't be grown with levels the classic way, and mostly depends on random events and a few other factors, and is a value applied to every percentage check, therefore also on the one to determine the chance of victory.
So we decided to determine a system, taking into account multiple factors, that could help building up in a meaningful way that percentage of success.
Chance of Victory = Base Value(0) + Battle Modifier(1) + Research(2) + Commander Status(3) + Officers (4) + Scouted Enemy Status (5) + Game Difficulty (6)
(0) Base Value. This value is pre-determined based on the map, and on the map position in the campaign progress roadmap. It ranges from 60% (for the very first maps) to 0% (for the very last battle).
(1) Battle Modifier. This is obtained by comparing the Attack value of the province beginning a battle, with the Defense value of the target province. This difference, is used in the full battles (without autoresolve) in order to determine the
class of advantage or disadvantage for the player, with all the related modifiers (to damage, to enemies spawning time, to morale, etc). In the autoresolve, this difference is summed to the victory chance. This modifier usually ranges between -20% and +20%, but in some cases can peak to higher percentages too. It's actually clamped to a range of -50 to 25 with the reason that the impact of a negative modifier, also in classic battles, tend to be a lot more relevant than the impact of a positive one (that's life).
(2) Research. Research is divided into 5 tiers, one for each chapter, and is split among Unlocks (new towers, abilities, buildings, etc) and Upgrades (damage, production times, resources production, etc). Unlocks give the higher contribution, but both categories give a contribution to the percentage based on the tier and on the amount of elements per tier. The value ranges from 0% to 40% once all the tech tree is completely researched.
(3) The presence or absence of Heimer in a specific battle, has quite an impact on the battlefield, therefore it had to be relevant in the auto-resolve as well. If Heimer is missing the chance of victory receives a -10%. No shouting and bullying is not good for the morale it seems! If he is present, he provides a +1% plus his modifier to Damage (1/10 of his Tactics value), plus his modifier for Morale (1/10 of his Leadership value)
(4) You can have 3 officers in your board of Officers, and each officer has a rank (1 to 3, from Rookie to Veteran). In a classic battle they would provide with their abilities a modifier to various aspect of the battle, in the autoresolve, in order to simplify (the modifiers can be positive or negative so it was going to become too articolated to consider them all one by one) each empty place of the board provides a -1% to the chance of Victory, while each officer instead provides a 1% for each of his rank levels.
(5) While it has no impact on a classic battle, beside providing the player with information about the difficulty of the battle, we decided that scouting had to have an influence on the autoresolve. On one side the autoresolve makes the game faster and a lot simpler, but with scouting having an impact on the victory chance, it creates a more interesting interaction. An unscounted enemy province causes a -5% malus, a scouted one provides a +3% bonus.
(6) Finally, the game difficulty level obviously influences the chance of success, with an easy game providing a +10%, an intermediate game with neither positive nor negative influence, and a hardcore game with a -15% (keep in mind that battles are VERY difficult to beat in the classic way in hardcore mode).
What now? Well, first of all testing testing testing. On the first in-house tests, the difficulty seems to be quite ok, but I am 100% sure it's not yet. Only multiple "full" playthrough by people that are not working on this code every day will show if it's working well enough or not. On the other hand, the base idea seems solid and complex enough, still without adding any additional weight or actions on the shoulders of the player, and therefore balancing it out might end up being just a matter of tweaking values.
From Dr.H this is all for now,