Simultaneous Resolution
A form of action or effect resolution where multiple actions or effects happen at the same instant of time, requiring some system to arbitrate conflicting situations.
For combat in a discrete-time game this will require an intentions phase to issue commands to combat units, because actions can’t be resolved in simultaneously if they aren’t all known in advance.
Simultaneous resolution can arise even in systems not using it for combat actions - multiple effects that trigger “on the end of turn” or “when an attack is made” must have some logic in how they resolve, especially when they cause opposing effects, and that resolution could be either be simultaneous, sequential, or some more complex grouping of both.
Example 1: Combat Actions
Bob the Fighter and Alice the Cleric (the Player’s units) are in combat with Zog the Dark Wizard (the AI’s units).
- Bob is severly injured, currently having 5 hit points out of 50, and has a healing potion that heals 20 hit points.
- Alice is feeling ok, currently having 30 HP out of 50, and has a healing spell that normally heals allies for 15HP, but heals for 30HP on characters with less than 15HP.
- Zog has a damage spell (probably fireball, what wizard doesn’t have fireball?) which does 40 damage to all enemies.
In this combat round Bob will drink the potion, Alice will cast her healing spell, and Zog will cast his damage spell.
Ordered Resolution
If we were using ordered resolution, and using the rule that 0 HP immediatly results in death, here are all the possible orderings:
- Bob, Alice, Zog: Bob drinks the potion and is healed to 25HP. Alice casts her healing spell, healing Bob to 40HP and herself to 45HP. Zog casts his damage spell, killing Bob and leaving Alice at 5HP. A grim situation indeed.
- Bob, Zog, Alice: Bob drinks the potion and is healed to 25HP. Zog casts his damage spell, killing Bob and Alice. Alice doesn’t even get to take her turn, and no one remains to thwart Zog’s plans for total realm domination.
- Zog, Bob or Alice: Zog casts his damage spell, killing Bob and Alice. Same outcome as above except Zog can loot Bob’s healing potion.
- Alice, Zog, Bob: Alice casts her healing spell, healing Bob to 35HP and herself to 45HP. Zog casts his damage spell, killing Bob and leaving Alice at 5HP. Bob, stop dying!!
- Alice, Bob, Zog: Alice casts her healing spell, healing Bob to 35HP and herself to 45HP. Bob drinks the potion and is healed to 50HP (capped). Zog casts his damage spell, leaving Bob at 10HP and leaving Alice at 5HP. Our heroes have survived to fight another round.
But what if we want to resolve these actions in parallel, i.e. simultaneously and instantaneously?
Simultaneous Resolution
The essence of simultaneous resolution is that there is no concept of time during the resolution procedure. As soon as we start assigning “cast times” or “delays” to specifc abilities we have returned to ordered resolution. Grouping different types of effects together and then ordeing the groups results in a phased design, with the possibility that the events within the group will still require simultaneous resolution. What we need is a set of rules that, no matter what order they are evaluated, will arrive at the same outcome.
…