-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Expand NECC Dialogue Dynamics #75392
Expand NECC Dialogue Dynamics #75392
Conversation
Spell checker encountered unrecognized words in the in-game text added in this pull request. See below for details. Click to expand
This alert is automatically generated. You can simply disregard if this is inaccurate, or (optionally) you can also add the new words to Hints for adding a new word to the dictionary
|
This sounds like a good improvement, but it also opens up the possibility of a source of irritation present in other games: Raising hopes for contents that never appears is not good, in my view. |
That is true, yes. I figured I'd solve that issue by just adding more overall content to the NPCs, but that could take a while to get all 22 of them up to that par. |
One obvious part is to remove the option to ask about jobs when there aren't any left. I'd probably leave this at the end of the quest chain so you can ask a last time and get an answer that states there aren't going to be any more (and not provide the topic if the NPC never has any quests). This might be done with a standardized phrasing for when a custom one can't be found (or the writer can't be bothered to try to come up with one), or custom ones, such as saying you've fulfilled all the requests, or they can't come up with anything they might want to have done, etc.. For the case where there aren't any new jobs currently but there are (potential) ones in the future, I'd probably have quest query answers indicating the conditions for future ones (not enough trust, time needed to process what's been delivered, need to get facilities in better order (usable for faction camps where other NPC quests may be required to upgrade the facilities), reluctance to burden someone they don't know that well with requests, etc.). Again, after those answers I'd remove the job question until quests become available again. That saves the player to have to manually check something that should be indicated to the PC as part of the idle conversation. If something happens to block off all future quests, I'd probably have the NPC tell the PC next time they talk. Something along the lines that they'd thought about getting in contact with X, but since it's now destroyed that would be pointless, but you're still welcome for social visits (and trade, if applicable). Getting too far on their faction's bad side could also be indicated by telling you they won't make use of your services in the future (bad relations, but still willing to talk, and possibly perform low trust trading). As a later improvement, the ability of NPCs to contact you via radio would make it possible to provide you with notifications about new developments. Companions reporting missed calls from NPCs? |
Just as a FYI, Endless Sky has a 4th wall breaking text that indicates where things in the questlines are not implemented yet |
* Add the changes * Bugfix 1 * Convert old value checks to the new system * Missed a spot
Summary
Content "Expand NECC dialogue dynamics."
Purpose of change
The NECC NPCs, while having very developed dialogue trees, lacked any conditionals for how they thought about the player or responded to their actions, and were known to overshare about themselves with (potentially) complete strangers. This PR will expand the conditionals to some of their dialogue and give them basic reactions to the player's actions.
Describe the solution
Using the NPC opinion values, I had various, personal NECC NPC topics track how friendly you are with the NPC and gate them behind that. I also added a long timer, similar to Rubik's, that slowly adds value over time, rewarding periodic interactions and makes stopping by occasionally rewarding. Mission will now add trust and value to the NPC's perception of you, and failing them increases anger, thus building friendship with the NPC's by completing their missions.
This new system is meant to better mimic the way actual friendships work and build over time, as more personal inquiries become available over the course of time and with engagement. This also stops the NPC's from oversharing about themselves to strangers, as you could previously interact with them once, ask all the questions available, and never interact with them again outside of missions.
I also added conditional dynamic lines to the NPCs based of off their anger value, giving them a reaction to player wrongdoings if they repeatedly fail missions or choose aggressiveness towards the NPC.
Describe alternatives you've considered
Not doing this, or having the friendship tracker base off of trust instead of value.
Testing
Everything works well, dialogues properly trigger and unlock.
Additional context
I plan to expand this system in the future, by adding more ways to gain trust and anger, adding more missions and ways to fail them, along with other NPC perceptions of you being able to influence the way their friends think about you. I also plan to add some sort of passive forgiveness system so that players aren't permanently locked out of interacting with NPCs because they're mad all of the time. This PR more-so begins laying the groundwork for my plans.