When I finish the current project in Strategic Primer, converting the map to the new format and a higher resolution (as described in the current roadmap), one of my next undertakings will be adding details to units.
Until now, units—as far as the map and the map viewer are concerned—have just been one of several (and an increasing number of) kinds of what I now call “tile fixtures”, i.e. things that can be on a tile. They have a few properties—an owner, a name, a type description—but are really quite simple. But as the game progresses, this isn’t enough, and sticking with this primitive model will make running the game increasingly difficult as the campaign grows more complex. Here are some of the changes to the viewer that I’m thinking about:
First, I should probably add some sort of unique identifying number to each unit, as in my programming language the statement that “these two units are the same unit, but one is different from the other” would be nonsense.
Second, I’ll add the ability to edit units (and other fixtures) to the viewer. I will want to be able to edit units at the end of this list, and gradually improving the editor along with the model is easier than adding an editor to a complicated model after the fact.
Third, I’ll represent a unit as a group of zero or more “workers”—including soldiers, but I can’t think of a better general-purpose term. These will, for the moment, be simple and opaque objects, like units are now.
Fourth, I’ll also let a unit contain other members, starting with animals (primarily for Herders, but also for mounted units, chariots, and the like) and resource caches (for what an explorer might have found and be bringing home), but eventually including any major equipment (most importantly, in the long run, vehicles). Some of these are already in place as tile fixtures, and I merely need to allow them to be contained in a unit; others need to be implemented from scratch.
And fifth, I’ll start making the model of a unit’s contents more complex—adding “statistics” to a worker, for example, but I’m sure there are any number of things I can do.