Demian and I were rediscussing the best approach to territories. As some of you may know, we want borders to be more fluid than those in most strategy games (especially at the beginning of the game). As such, we talked about dynamic provinces that can grow and shrink. There are, however, multiple ways to implement them that we are considering. We'd like to hear your thoughts on the subject (and possibly your own ideas as to how the system should be approached).
To introduce both models, we'll need some shared assumptions. The map is divided into tiles (hexes). Those hexes are then aggregated into territories. Each territory contains at most a single settlement (you can think of settlements as cities in Civilization. They're the main hub of population in any given territory). Settlements can then exert control over other territories forming more complex structures. Here, we'll call these structures "provinces". These aggregations will be dynamic in either model.
Our two models are what I'll call a "dynamic" and a "static" model. In the latter, territories are predefined, like they are in, say, Endless Legends or Humankind. Whereas in the "dynamic" model territories would gain and drop tiles depending on the hold they have on them.
Now, before you immediately say "Well, that's easy, I want more dynamic stuff!", the choice isn't as simple as that. Static regions have a lot more going for them than may meet the eye.
In no particular order, they simplify pathfinding a lot, allowing for much more efficient path caching and direct usage of algorithms superior to A* (such as HPA*). They would also allow us to store animal pops directly on them, removing the need to recalculate accessible animal populations for each territory with each monthly tick.
They also prevent issues with possibly excessive border gore in situations where a decaying coastal settlement could get squished into a thin line by two neighboring coastal settlements. There are some countermeasures we could take against that but they generally increase code complexity (which is *not* a good thing in an already complex simulation).
And, lastly, they're much easier to implement and maintain. Though, that's a bit less of a consideration (but it may open using them to bootstrap the simulation with the goal of replacing them by a dynamic model later on).
I think their issues are much easier to spot(rigidity, lack of adaptation to evolving terrain so they'd need to be based on terrain profile more than biomes, etc). If you can think of other issues or advantages (for either model), or a different model entirely, let us know. Otherwise, share your thoughts on the subject below.