HomeGamesUpdatesPricingMethodology
Steam News5 November 20258mo ago

How to kiss NPCs 😘 Streets of Fortuna Dev Update

Tanya here. Today I’d like to talk about how we allow players to build relationships with NPCs, whether it’s friendship or kissing or falling in love.

Full notes

Full Streets of Fortuna update

Read the full published notes in a cleaner layout. The original post stays linked below.

What changed

0 fixes3 additions0 changes0 removals
  • Gameplay
  • Balance
addedSo rather than maintain hundreds of different dialogue trees, we just have one that almost all characters use. We’re going to work on this game for a long time, so we want to make sure we can keep adding logic to EVERYONE simultaneously. So for example, if I add a special greeting from a friend when they are Greedy, it will immediately improve all of the NPCs.
addedFor example, let’s go back to the “Hello_Friend” line and add a bit of extra flavor for if they’re Greedy. We’ll have them already looking to benefit themselves, asking “Got something for me?”— and now every NPC in the game who is ready to talk, and considers you their friend, but is Greedy, will use this line as a greeting. Meanwhile, someone who's a Miteran Zealot is going to invoke God in their greeting, etc.
addedYou can see that the central logic generally depends on context (are they your Nemesis? are they busy working right now? do they hate your guts for some other reason?) but the exact wording is flavored according to the NPC’s personality, culture, etc. Steam post imageInfluence tests are also customized according to any relevant context of character traits, situation, relationships, etc. You can see here that trying to get a guard to talk to you is harder if they’re diligent, but easier if they’re lazy or talkative, and probably evens out if they’re both diligent AND talkative. Let’s add another penalty if they’re Wary. Boom, all Wary guards are now harder to talk to. Steam post imageWe’re elaborating the crime-related dialogues first as we make NPCs able to confront you or forgive you, but as we go we’ll add more options to do with getting information or asking for favors or building your relationship with more nuance. Right now in the game it’s actually quite difficult to kiss someone unless you’re very very lucky, even if they have the secret trait “Attracted” (i.e. they find the player character attractive) which I guess isn’t as fun as intended, so we’ll have to balance that influence test formula to take some interesting effort, to create the potential for more interesting user stories. At least for NPCs that aren’t Lusty, anyway. Balancing in this game is often less about making things harder or easier but instead making sure the player has many possible tools to improvise with.

Streets of Fortuna changes

addedSo rather than maintain hundreds of different dialogue trees, we just have one that almost all characters use. We’re going to work on this game for a long time, so we want to make sure we can keep adding logic to EVERYONE simultaneously. So for example, if I add a special greeting from a friend when they are Greedy, it will immediately improve all of the NPCs.
addedFor example, let’s go back to the “Hello_Friend” line and add a bit of extra flavor for if they’re Greedy. We’ll have them already looking to benefit themselves, asking “Got something for me?”— and now every NPC in the game who is ready to talk, and considers you their friend, but is Greedy, will use this line as a greeting. Meanwhile, someone who's a Miteran Zealot is going to invoke God in their greeting, etc.
addedYou can see that the central logic generally depends on context (are they your Nemesis? are they busy working right now? do they hate your guts for some other reason?) but the exact wording is flavored according to the NPC’s personality, culture, etc. Steam post imageInfluence tests are also customized according to any relevant context of character traits, situation, relationships, etc. You can see here that trying to get a guard to talk to you is harder if they’re diligent, but easier if they’re lazy or talkative, and probably evens out if they’re both diligent AND talkative. Let’s add another penalty if they’re Wary. Boom, all Wary guards are now harder to talk to. Steam post imageWe’re elaborating the crime-related dialogues first as we make NPCs able to confront you or forgive you, but as we go we’ll add more options to do with getting information or asking for favors or building your relationship with more nuance. Right now in the game it’s actually quite difficult to kiss someone unless you’re very very lucky, even if they have the secret trait “Attracted” (i.e. they find the player character attractive) which I guess isn’t as fun as intended, so we’ll have to balance that influence test formula to take some interesting effort, to create the potential for more interesting user stories. At least for NPCs that aren’t Lusty, anyway. Balancing in this game is often less about making things harder or easier but instead making sure the player has many possible tools to improvise with.

Tanya here. Today I’d like to talk about how we allow players to build relationships with NPCs, whether it’s friendship or kissing or falling in love. Steam post imageA you may recall, this game simulates thousands of citizens. As a sandbox, we’re trying to help the player tell their story, not listen to OUR story.

So rather than maintain hundreds of different dialogue trees, we just have one that almost all characters use. We’re going to work on this game for a long time, so we want to make sure we can keep adding logic to EVERYONE simultaneously. So for example, if I add a special greeting from a friend when they are Greedy, it will immediately improve all of the NPCs.

Steam post image A single NodeCanvas can be a bit overwhelming since it’s trying to handle all possible traits, contexts, situations, relationships, etc. But if we zoom in to follow a single thread of logic, it’s more manageable.

So in the screenshot below, you can see that if you’ve managed to make a friend, or start courtship, they’ll greet you differently, and other relationship types stop talking to you at all. But don’t worry, they still each can have their own personality!

For example, let’s go back to the “Hello_Friend” line and add a bit of extra flavor for if they’re Greedy. We’ll have them already looking to benefit themselves, asking “Got something for me?”— and now every NPC in the game who is ready to talk, and considers you their friend, but is Greedy, will use this line as a greeting. Meanwhile, someone who's a Miteran Zealot is going to invoke God in their greeting, etc.

You can see that the central logic generally depends on context (are they your Nemesis? are they busy working right now? do they hate your guts for some other reason?) but the exact wording is flavored according to the NPC’s personality, culture, etc. Steam post imageInfluence tests are also customized according to any relevant context of character traits, situation, relationships, etc. You can see here that trying to get a guard to talk to you is harder if they’re diligent, but easier if they’re lazy or talkative, and probably evens out if they’re both diligent AND talkative. Let’s add another penalty if they’re Wary. Boom, all Wary guards are now harder to talk to. Steam post imageWe’re elaborating the crime-related dialogues first as we make NPCs able to confront you or forgive you, but as we go we’ll add more options to do with getting information or asking for favors or building your relationship with more nuance. Right now in the game it’s actually quite difficult to kiss someone unless you’re very very lucky, even if they have the secret trait “Attracted” (i.e. they find the player character attractive) which I guess isn’t as fun as intended, so we’ll have to balance that influence test formula to take some interesting effort, to create the potential for more interesting user stories. At least for NPCs that aren’t Lusty, anyway. Balancing in this game is often less about making things harder or easier but instead making sure the player has many possible tools to improvise with.

If you'd like to see more of the dialogue tool in action, watch the accompanying devlog here:

Thanks for reading! Back to the dialogue mines for me! Tanya

Source

Steam News / 5 November 2025

Open original post

Changelog.gg summarizes and formats this update. How we read updates.