A lot of years ago, I witnessed a fascinating exchange between three drunk college students of my acquaintance. The setting was a bonfire kegger in the hills, the setup was a masculine test of bravado and toughness, and the payload was funny as hell. These three fellows (who were all so drunk, they could barely stand up) thought it would be funny to see who was the toughest by punching each other in the face. No, it wasn't a fight. Blows weren't exchanged, fast and furious and drunkenly inaccurate. Instead, each would take a turn standing there motionless while one of the other two were allowed one shot. The receiver could spend a few minutes fortifying himself as he thought necessary (many beers were consumed), then he had to stand motionless while the other two guys did their level best to knock him down.
In the end, it was pretty funny to watch. The entire exchange took probably an hour, and I think that if the participants had been less drunk, some real damage might have been inflicted. As it was, it was a comedy of errors: wild swings, missed punches, a couple cuts and a black eye. It was stupid, the kind of stupidity you might expect from such a setting, but what was remarkable to me is that each of the three respected the rules. When it was your turn to get hit, you took whatever was dealt out.
This absurd scene came back to me (no, I was not a participant, though I was invited to partake) yesterday as I was working on Auras in Goblinson Crusoe. Auras are character-centered area effects that can apply any of a number of effects to other combatants within the radius: degens/damage, stat buffs or debuffs, slows or speeds, etc... They suffer from much of the same disjointed weirdness as I had to deal with when implementing damage-over-time and heal-over-time effects, all stemming from the abstraction of thinking of a turn in a turn-based game as having some sort of temporal coherency.
You see, since the beginning of this project I have thought of a turn in terms of everything ostensibly happening at once, even if the actual actions are split out into seperate sections per combatant. Enemy A goes, then GC goes, then Enemy B, and so forth until the end of the turn and it all starts again, but it all happens 'at the same time'. However, introducing Auras is yet one more thing to come around and illuminate the holes in such an abstraction. Consider the case where Enemy A is wearing an Aura of Rotting Degeneration, which applies a damage-over-time payload of Rot damage (I have revised my damage types; more on that later) to all in the radius. During his turn, Enemy A runs at Goblinson Crusoe, takes a wild swing with a rusty sword then, laughing, runs away to try to put some space in between. Then, during Goblinson Crusoe's turn, GC runs after the laughing enemy to deal his own drubbing. There are a few ways I can deal with the Aura in this case:
1) Apply the aura's effect only whenever the enemy bearing the aura acts. In this case, the aura will apply Rot damage to GC every step, starting from when the enemy draws near enough to place GC within the radius. As soon as the enemy retreats far enough away, stop applying the aura. In this situation, when GC takes his turn and runs after the enemy, the effects of the Aura will not be applied because it is not the enemy's turn to act.
2) Apply the aura's effect only whenever the target/victim acts. In this case, when the enemy runs of to GC, smacks him, and runs away, the aura will not apply an effect. However, when GC chases after the enemy, as soon as he reaches aura range the aura will start hitting him with Rot damage.
Of course, both of these cases seem absurd on the face. The aura should be hitting GC whenever he is within range to be hit, so whether the enemy is approaching or evading, or whether GC is pursuing, he should be getting hit with the degen. Which leads to the third case.
3) Apply the aura's effects both when the enemy is acting AND when GC is acting. So while the enemy approaches, smacks with a sword, and runs away, GC takes Rot damage at each step. Then, when GC pursues, once he comes back within range, he starts taking Rot hits again.
Of course, the drawback to this third scenario is this: if all of this is ostensibly taking place "at the same time", then it is likely that GC will take more Rot hits during the space of the turn than he realistically should. For example, say a turn is 10 steps. Say that for 8 of those steps, GC is within range of the aura while the enemy is attacking. Then, say that for 5 of them he is within range of the aura while he is pursuing. That comes out to 13 hits of Rot during a 10 step turn, or 3 more than he should possibly be able to take.
Chasing a solution to this led me down the usual rabbit-hole of kludges, attempting to total up times during the space of the turn when GC should take the hit, yada yada yada. Resolving these temporal idiosyncracies is a recipe for madness.
And so, following the example of those drunken college boys, I threw the temporal abstraction right out the window. I no longer think of fights in a GC combat as happening as a melee, with actions being performed at the same time during a round. There just seems no way for me to happily resolve the contradictions. Instead, now I think of a GC combat as a whole bunch of drunk college students standing around, taking turns throwing punches at each other. When it's your turn to stand, you stand and take what you get coming to you, and if it knocks you out then that's the game. And when its your turn to act, you chug a beer, ball up your fist, and do your level best to knock somebody else right the #*@! out.
However, if I switch abstractions like this, then I need to revise how I do DoTs. You see, if the combatants really are just waiting around and taking turns, then if GC has a DoT in place, he should be taking that DoT at every step of action for all the other combatants, until the DoT runs out. This is a change that I am definitely going to need to playtest soon; sadly, my usual playtesters aren't really available anymore and that means I might need to finally, after all these years, step outside the circle of my immediate friends and family for some feedback.