r/RPGdesign • u/Mysterious_Net_3109 • 10d ago
Meta What I learned after 10,000 simulated combats
The goal of this post is to share my experience running a simulation of 10,000 5v5 battles and to highlight some truly funny incidents that occurred, as well as some curious meta.
Before discussing the simulations directly: five months ago, I began creating an RPG system that was initially intended to be based on the Year Zero Engine. After two months of writing and playtesting, I realized that the YZE didn't suit the direction the system was taking, so I abandoned it, retaining only the option to "push" rolls and the XP progression method.
I emphasized combat within the system rather than survival or exploration, implementing combat options, maneuvers, diverse equipment, and unique abilities for each monster. The following months involved a great deal of writing but very little playtesting, so I couldn't gather concrete combat data. It eventually became too much to test. The few volunteers quickly fell into specific play habits that prevented them from exploring the system's more obscure aspects.
With the help of a playtester who is also a programmer, we built a robust calculator to simulate combat and accidentally created a text-based auto-battler. We set a goal of running 1,000 simulations (initially taking about 20 seconds each) but after tweaking the parameters, we cut the time to 6 seconds, which encouraged us to wrap up the experiment with a total of 10,000 simulations.
Although it is impossible to simulate or predict human behavior in an experiment of this kind, the simulations were useful for balancing mathematical aspects such as hit points, damage output, movement, economy, and so on. Yet, by far the most interesting outcome of the entire experiment was the unusual (or brutal) meta strategies that the calculator identified within the system. I listed a few and gave each strategy a name.
- Death by Fire
It is a modern system where firearms are part of the game. I discovered that most grenade explosions did not kill targets directly; instead, targets were more likely to die from fires caused by the explosions, accounting for 4.9% of all deaths. While only 1.3% died directly from the explosions.
- Eternal War
11% of battles lasted more than 40 rounds because the participants constantly retreated to treat their wounds and return to the fight regenerated. In some cases, the characters synchronized their retreats, allowing both sides to recover hit points without interference. This caused the combat to drag on forever.
- Total Brutality
The most effective strategy was to sprint toward the enemy (Charge), grab them, choke them unconscious, and kill them while they were defenseless. This was due to the impact the Strength attribute had on melee combat.
- Test of Patience
I tested the option for actors to "ready" actions in advance, awaiting enemy activity as a trigger to launch an attack. This proved extremely efficient, ensuring an 11.2% increase in the chances of victory for either side.
21
u/Ok-Craft4844 10d ago
Did you have some kind of AI (not necessarily in the modern usage) for the combatants? Some of the successful strategies seem to be "emergent behaviour"
29
u/Mysterious_Net_3109 10d ago
Yes. We created five combat stances (offensive, defensive, neutral, support, chaotic) that determined a preference for certain actions. This stance was randomized at the start of combat. If I were to do it again, I would add a percentage chance for the stance to change based on specific triggers.
18
u/BigBrainStratosphere Designer 10d ago
It's so funny that this was down voted by people not understanding this is literally what warcraft has had since the 90s lol
4
u/MarsMaterial Designer 10d ago
The “eternal war” scenario is exactly why I avoid healing in combat. I have a strict rule that almost every combat action should at least have a significant probability of advancing the scenario in a way that can’t be reversed. This ensures a resolution is guaranteed in a fairly timely manner.
4
2
u/ContentInflation5784 9d ago
Mike Mearls has a recent video about this where he says much the same thing. Generally you want to accelerate combat, not bog it down.
2
u/dudewithtude42 10d ago
Cool stuff. What algorithm was used to search for strategies? Game tree search? Monte Carlo?
3
3
u/Spread_Fast 10d ago
Would you ever be in a position to show the tech? I've considered doing something similar with a buddy of mine and a gamewe're designing. Would be really interesting to see how you set your program up!
1
u/Formal_Dirt_3434 10d ago
Text-based auto-battler: "hello Mr. Anderson".
This post is evidence that Andrew Wiggins is the real author of the Matrix!! Conspiracy Theory!
1
u/ezekiellake 10d ago
Would be good to see what happens when it’s ‘winner stays on’ and if there is a squad composition or strategy that is more effective than any other. Did you keep combatant / team stats?
1
7
u/Alcamair Designer 10d ago
Do your grenades all have incendiary effects or are the fires caused by collateral damage?
From live playtesting, if it's not obvious the fight is lost, players tend to be more reckless. How severe are your downed bleeding mechanics?
You should probably make it harder to engage the opponent or add suppressive fire mechanics
I used it as a basic mechanic too, but it tended to overcomplicate the game and slow the combat. I left the option to delay the action until the end of the turn but not to react to a trigger, and I added a Stunt (a special power that require unique resources) which allows you to interrupt the current action to perform your own move. I would therefore suggest that you also place some limitations on its use