In a previous blog I talked about the “dynamic difficulty” feature of Merc Tactics (https://www.gamedev.net/blogs/entry/2265699-dynamic-difficulty/)
Basically, this feature automatically chooses the difficulty of the game based on how the player plays. This was to solve a problem common with many games. At the beginning of the game you are asked to choose from a list of options, “easy”, “normal” and “difficult”. The problem is that the player has no idea how easy is “easy”. In some games the “easy” level is actually quite hard and other games the “easy” level is too easy and offers no challenge. And once, the player chooses the level he/she is stuck with it. If they change their mind they have to restart the game and play from the beginning again.
Dynamic difficulty seemed like a good solution for this, but in practice it didn't quite pan out. The problem is that it's quite difficult to write an algorithm that will accurately rate the players experience level. Also, it makes it much more complex balancing the game correctly when the difficulty changes dynamically like this.
The solution, is quite simple. Instead of “dynamic difficulty”, I simply allow the player to change the difficulty level at any point of the game, rather than just at the start, like most games do. Merc Tactics is already setup to handle this. Enemy militia are not created at game startup, but on-demand, when the player squad first encounters them, so if the player changes from “easy” to “normal”, the enemies that are already created will remain the same, but the new ones will be more powerful.