Faction camps, as they currently exist, do two things that make it really annoying to transform them into something more like you suggest:
they use the overmap tile ID to indicate how advanced the camp is
they borrow the mapgen JSON decoding code to update the camp
So basically you can’t have flexible faction camps under the current system unless you have a mapgen map json for everything you want to do, and that’s clearly not a sustainable approach.
I have a PR right now to fix the first issue. It’s big and long and has a surprising number of subtle bugs, so it keeps getting hung up in review.
The second issue is going to require writing more flexible access code to the mapgen JSON decoder. I want to do this anyway, because it means that between the already existing work in moving NPC dialogue in JSON and the mapgen JSON decoder, it should be possible to move a lot of the mission start hardcodes into JSON - including and most especially the ones that modify existing maps. Which will make it even easier to people to add their own missions.
However, again, it’s clearly not going to be easy, subtle bugs, etc. etc.
6 months of effort, and I’ve almost got faction camps to the point where they’ll be able to be upgraded in various orders. Not 100% there, but rapidly approaching that point.
And now camps can be upgraded in any order, and there’s an improved camp upgrade path that lets you upgrade it from different materials.
Sooner or later you’ll even be able to build a camp on a zlevel other than 0, though that’s stupidly buggy right now for reasons I haven’t figured out.
Am I reading between the lines here and to understand the hunter/gather NPCs are doing so simulated and not having anything to do with the reality bubble?
I think it depends on what they’re doing? I haven’t messed with it too much as I haven’t been playing games lately. I mostly picked this up from skimming the git discussions.
Currently they disappear into the ether, roll for success and then when recalled, they reappear and dump what they found, or they die if its a risky mission.
Alternatively, what could happen, is that they use the NPC travelling overmap-scale code, to get to their destination, then load a tinymap at that location so they can actually do the thing they need to do in real-time with real monsters and real gathering or chopping down trees etc.
THe problem with that is the performance burden it would have on the game.
Theres been some discussion about processing off-screen activities while the game is idle or something like that.