Started designing the turn-based engine that I had in mind today.
I'm building it with three components in mind:
the engine, which controls the turns and goes from one actor to the next
the "board", or grid, which controls the input and keeps track of where things are
the actual units, which are pretty dumb (no logic besides attacking/health)
This abstract pattern should let me do anything and iterate pretty fast on the units, instead of making changes to the engine all the time. Game programming patterns are interesting.