I don’t know if this belongs to a suggestion thread or to a bug thread but as it contains a heavy personal preference factor I decided to put it here.
I play in a “wilderness” world with city size at 3, maybe due to the Labs always requiring an “isolated location”, I think this has triggered an abundancy of them which, in turn, has triggered a consistent “network”. I don’t know if it may be RNG at play but after exploring more and more I think it’s starting to look like a systematic behaviour of the mapgen code. In this world aproximately 50% of the “road dead ends” in forests contain a Lab… They are so abundant that I do not explore any longer in the traditional sense.
I just hop in and activate their computer map and I usually spot around 3 or 4 nearby Labs I can keep on using to keep on exploring
Due to the inmense strategic value of Labs (On top of the important role they have in the “lore gathering” side of the game) I would say that they should be rarer to see or at least force the player to move around a bit more.
I have the impression that on a more civilized world this rarity would self-regulate that’s why I tought in the following suggestion that would affect the mapgen code to make it treat equally low civilized worlds from high civilized ones on particular “features/building/zones”:
- Exclusion Radius. A given “feature/building/zone” could be labelled as preventing the same feature to appear on a certain Radius in the world map (On the mapgen code could be implemented as a check for pressence of the same feature in that radius to reduce the chance of it to repeat itself, or even prevent it completely).
This effect can be approached in a different way:
The issue may be the fact that a Top Secret Lab contains references to the surrounding map… Which is a bit… Strange. If you are allowed to access a given facility… Why you need to know the surrounding terrain?. The way highly sensitive research teams are configured IRL is precissely to control the information spread by security level clearances, compartimentalized research teams working in parallel, etc. In this scenario is highly puzzling to find references to other facilities on a given one. If would make far more sense to find this kind of accurate data into a Highly Secured Military Bunker (Not the Ammo Dumps most are), for example. In any case, the size of revealed map doesn’t change the fact that, on foot, a character in a world like mine can easily stumble accidentally into like 4 Labs in a single day which, again, doesn’t make too much sense in a scenario like the lore depicts.
That’s why, instead of a per feature “complex balance”, I thought it could be worthy to suggest to give content creators a degree of control on the spatial frequency their “features/bulding/zones” should observe (In contrast to just relying on a “rarity” chance for a given feature to appear on a given suitable spot).
You changed the map settings to have more area for labs to spawn, and more did. Now you’re complaining that labs are too easy to find.
I think there may be a simpler solution available than altering mapgen.
That said, your suggestion seems worth thinking about more generally. Other buildings could benefit from exclusion radii, etc, but that would probably slow down worldgen a bit more than it already is.
Update: OK, looks like I misread your reasoning for reducing city size. My apologies. A nontrivial issue, though, is that lab map-reveal is over a full overmap in size. So at even 1 lab max per map there’s no guarantee that a lab wouldn’t be able to grab satellite data showing another lab.
Perhaps have laboratory for more mundane purpouses in existence? Such as corporate or nonprofit labs studying dirt or gas or mechanics design, something you don’t have to go miles undeeground for or worry about a bajillion manhacks, but may find a few useful science things here and there.
Update: OK, looks like I misread your reasoning for reducing city size. My apologies. A nontrivial issue, though, is that lab map-reveal is over a full overmap in size. So at even 1 lab max per map there's no guarantee that a lab wouldn't be able to grab satellite data showing another lab.
The intention behind city reduction was to tailor a world for a naturalist startup (combined with Dino Mod)… I found that city size 6 almost connect residential blocks a character can reach by walking… Combined with increased ammount of different buildings and loot flavours makes the progress of a “hunter” a bit weird as it’s just easier to scavenge (I know this can be tweaked with the “loot factor”… But I prefer to alter mapgen options one at a time or I may mix gameplay consequences while providing feedback). With the reduction of forests the default options trigger, Labs are more separated, which force the player to travel for longer to access specialized gear + story bits. When, in my mind, I pictured a half deserted world partially reclaimed by wilderness (Think on the NY depicted in “I am Legend”) populated by zombies and dinos… It struct me as weird to see Labs left and right and then I realized what was the reasson behind.
Returning to the code… Yes, I’m aware which actions trigger procedural mapgen and, with the exception of the Lab Start Scenario with initial radius set at 0, by the time a new chunk of the map is generated the code can know in advance the possition of the nearest Lab and deny the spawn of a new one if that’s the case. This kind of reentrant scans are time consuming (And potentially geometric if content creators abuse the exclusion radius) precissely in the activity that takes more CPU time in a row (Specially when using any of the roadmaps) that’s why a simple reduction in the weight used to spawn Labs into “isolated facilities” slots could work. The problem with this is:
a ) Doesn’t address spatial frequency accurately which will just mean you are just scaling the inherent differences between Civilized and non Civilized worlds… But Labs will still be more frequent on the later because there is simply more room for “isolated facilities”.
b ) If you want to generalize this mechanism, a content creator will have to gauge the entire set of facility weights (Something they are forced to do now) and still doesn’t have control on how spatially frequent its content will be as further facilities additions will alter the total weight in the future.
The exclusion radius itself can be made smarter in further iterations (To turn it from binary state into a gradual one with ammount of allowed facilities in a given radius, with a weight reduction effect instead of a full deny, etc) but cannot replace the current weight system that works wonders at generating city blocks… That’s why I thought in a suggestion that made the 2 approaches compatible.