-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Random encounter 1 #56629
Random encounter 1 #56629
Conversation
This begins the work, eventually will split this to a few files. Also updates with region groundcovers because obviously.
This comment was marked as outdated.
This comment was marked as outdated.
Co-authored-by: Anton Burmistrov <[email protected]>
I don't think spawning ephemeral NPCs is a good mechanic, unless it's justified by lore somehow (ex: dimensional travelers). If there's no valid place to send them, can't they be sent to the nearest uninitialized overmap? |
Prevents player from forcing a respawn by constantly coming and going from the map.
Once NPCs have the ability to drive, it would be nice to replace 'despawn' with 'get in the truck and drive a few OMT away from the player' before despawning', but since that's a feature we want anyway, I don't see this blocking it. Eventually I would like to see more persistent trader NPCs that remember you, but adding the requirements for that will take longer, and we'll still need the random ones as a potential fallback and to fill out the ranks. |
Contents should still be adjusted a bit.
This is definitely not the desired long-term way for this to work, but resolving this "properly" is really far over the horizon right now, so I'm loath to block content that is at least representative of how it's supposed to work. |
The key thing I hope to add to the encounter framework pretty soon is a kind of "population" variable that downticks if you kill faction members. So, the more random free merchants you murder, the fewer random free merchants you'll encounter for example. I'll probably put that in fairly soon. That will keep us from needing to model movements of merchants, but still allow them to be wiped out. |
Is it planned to track those encounters on the overmap? Roughly saying to be able to intercept the travelling entity if the path is known, or encounter of entities on the overmap. I'm not talking about any precise pathfinding though, at most - travel by road if possible. |
Probably not any time soon. |
Summary
Content "Adds a prototypic random encounter with free merchants at a public washroom"
Purpose of change
The world feels more dead than it should: although we can run into vague wandering NPCs, there is a demand for more organized stabilized NPC travel. The classic example is that free merchant caravans, bandit gangs, and various sorts of scouts and scavengers from the faction should show up at various times.
This adds a prototype example, a handful of merchants and guards in a pickup truck.
Describe the solution
Adds two merchant guards and a trader that spawn with a pickup truck at roadside public washrooms, starting a week after the game starts. They won't spawn at night or in winter, and you can only run into them once per day. After an hour or so, they despawn once you're outside the reality bubble.
Adds a script by @mylie to remove NPCs from the map. This script only works when the player is outside the reality bubble. Closes #56601.
Things I would like to add in this PR or a followup:
Describe alternatives you've considered
I considered adding persistent NPCs that remember you, but that seems like a next step.
I considered adding a free merchant scout instead, and that should still be a thing.
Testing
merchants spawn as advertised and despawn as advertised. Dialogue and directions run without errors
There is a likely bug: if the despawn timer hits while you're nearby, the pickup truck may despawn before the NPCs do. We will probably need to refine the conditionals around despawning for this to make sure they run synced. That's beyond my skill and could be considered a block to merging this. Or, someone who knows stuff could expand the
remove_npc
script to also work inside the bubble.Additional context
This framework could trivially be used to add some great stuff:
In the future we might add one or two "upgraded" versions of the caravan, with a reinforced truck and maybe a gun turret, better gear on the guards, and some later-cataclysm dialogue.