I’d rather avoid per-world specials: they could be fragile and could scale badly (unless crammed into (0,0) or have their coords saved separately). For example, if per-world special couldn’t be placed in desired overmap, it could require generating many more (possibly infinite, if settings were bad) and searching for this special would need to remember where it is without grabbing all the overmaps from HD (which is one of the slower parts of loading).[/quote]
Those are problems that need resolution, but they are all very tractible problems, and cramming an arbitrary number of specials onto a finite map is not. Additionally, spreading the specials across overmaps is a desirable feature in of itself, we should have features that encourage players to make long trips, and if our mapgen tries to put every special on every overmap, there is very little incentive to do so.
The overmapbuffer as an interface was just a first step, it’s totally reasonable to have a region entity that aggregates something between dozens and hundreds of overmaps and imposes structure on them, as well as providing a place to cache region-wide data, like the location of key specials.
[quote=“Coolthulhu, post:12, topic:13570”]
the root of the problem is cramming every special onto every overmap
On default settings, most specials fit just fine. There are just 3-4 specials which cause problems, with bandit camp causing like 90% of those (those pesky bandits).
In weird settings (16 city size), some specials may not fit on any overmap, so overflow wouldn’t fix that.
We should probably privilege the default settings here. Without a big redesign, extreme settings simply won’t ever generate a truly proper overmap.[/quote]
“Most fit just fine” is not an ok state to be in, and neither is “if we’re careful the defaults will work, but non-defaults will break unpredictably”. If it takes a big redesign, a big redesign it is.
Let’s lay out the stakes here:
Missions need key terrain types they can target
Failure to generate key terrain breaks missions unpridictably
The number of missions targeting different terrain types will continue to increase.
The goal is to have a compatible terrain available when a mision needs it, not to fix the mandatory specials list. If we prune the mission specials out of the mandatory specials list and use it just to structure overmaps, and add some other mechanism to place mission specials, that would be fine too, but no matter what we do, attempting to place specials over and over (leading to too-long overmap generation times), and prompting the player to decide between continuing to wait on a too-long mapgen process and possibly breaking future missions is not an acceptible solution to the problem.