Developing Dynamic Relationships

I read this article by Tony Howard-Arias, one of the creators of Scarlet Hollow and Slay the Princess, about the development of relationships in Scarlet Hollow.

Howard-Arias talks about how they decided on using 5 different scales to define relationships:

  • Agreeable vs Adversarial
  • Open vs Closed
  • Bold vs Passive
  • Reliable vs Unreliable
  • Insightful vs Dull

In my current project, in the ROs, I’m tracking friendship and romance separately, but that is the extent of my work there. So, I was wondering, has anyone implemented something more complicated–similar to what Howard-Arias describes–and, if so, how did that work out for you?

I know Scarlet Hollow and Choice of Games stories are very different, but the familiarity of opposed stats intrigued me.



I read this and the other articles that Tony and his wife published regarding Scarlet Hollow development.

There are numerous valuable things to really take in and ponder within this article.

For example:

Such a simple sentence. Yet, the repercussions that such an elemental core developmental philosophy leads to, can make or break a game.

Here is another gem:

This is something that successful CoG, HC and HG authors have deployed in their systems.

For example: Parliament of Knives by Jeffrey Dean (@GreekWinter) really showcases this technique in a simple and easy to understand implimentation.

As to writing romances and romantic scenes, Tony’s Scarlet Hollow and his DD were one of the many things that convinced me that I need to learn more and become better at that, before I really start writing them.


I am agreed with you on remembering that opposed pairs cannot be good-bad in their construction. I also agree that tests involving multiple stats are more nuanced and interesting (and provide more pathways toward success, allowing players to focus more on playing through as the character they want to be rather than the one they think they must be).

But the use of multiple stats within romances intrigues me. Right now, I have a choice option that a character hates and refuses to do. It doesn’t matter how you make her do it (chapter 1; choices right now are about building stats so no fail options yet), she is upset. But her level of respect for you could vary based on the how. Some methods garner more respect. Right now I’m not tracking respect though.

Tracking 5 scales seems a bit much for a CoG, but maybe it isn’t?

Another thought is adding in a third scale for each character, but it not being the same. So, for Nothia (woman mentioned previously), respect could be one or something to do with your rivalry. For Frey, it could be something to do with curiosity. The more curious you are, the more he is interested in you.

But, is that really necessary? Aren’t those kinds of choices assumed by the author’s choices of which options lead to relationship boosts and which ones do not?


I haven’t read this article (yet), thanks for the suggestion by the way. The five axes strongly remind me of the OCEAN personality model, to the point I believe it might be deliberate. As much as people love Myers-Briggs and the Enneagram, they actually don’t have much scientific support. The OCEAN model (also known as The Big 5) is the personality model with the highest measurable accuracy because it is based off external observable traits.

I learned this when I was experimenting on personality stats to include in my game. Every person should have a position in one of the five axes which comprises your personality, but you don’t have a different personality for each relationship, at least in theory. Maybe these authors wanted to explore how you are perceived by others, so they applied the Big 5 to each relationship individually.

If that’s the case, it would be an interesting idea, but too much work in my opinion. I think two stats (one for attraction and the other for respect) are enough.

After having read the article I’m 100% sure they based their system on the OCEAN model, even if they don’t spell it out. The concept is really interesting and exactly what I guessed. They want to measure how other characters perceive the player character.

I still think it’s too much work to justify its implementation, but it’s definitely a cool idea.


Great call-out, @cup_half_empty, on this being related to the OCEAN model.

But, to jump back to my original question, I am curious about how people have used stats with relationships. Do you (general you) tend to use only 1 or 2 stats per character or have you built something more complicated, even if that complicated is completely different that what’s described in the article.

To share, my current system is Friendship and Attraction. The emphasis is more on the OC’s willingness/interest in each type of relationship. I may pull over ‘flirt points’ again from my first draft again. Flirt points were just a count of the number of times the player opted for a flirty option. I used them for a few different things, but getting enough basically toggled an OC from friendship-only to potential-romance. Otherwise, I assign variables to different choices/events and call those later to flavor conversation.

If you order Nothia to obey b/c you outrank her in one scene, she may respond with something like “Is that an order?” in a later scene. But, if you bribed her, she might go for another deal instead.

To rephrase my question, how do/have you develop/ed dynamic relationships?


I haven’t published anything, mind you. But in my WIP I started with a single relationship meter, but as you pointed out, it doesn’t distinguish if a relationship is romantic in nature or not. So I added another meter that increases every romance option selected. It has been enough for me, but I haven’t developed any deep relationship system (nor was it my interest initially).

I’ll probably revisit this because I don’t want the romance paths to feel like a second thought (even though they very much are :see_no_evil:).

1 Like

I have a percentage stat for the overall relationship with each character and a binary stat for checking whether the player did something absolutely awful to that character recently. Plus a simple tracker that remembers whom the player flirted with recently. It mostly works, the only issue is remembering why a character is pissed, but personality stats kinda help with that.

And sure, you can make an argument for how that doesn’t reflect the complex nature of relationships and how I must start using some 5D stat model, but I’m partial towards the idea of actually finishing my story someday. And if I start tracking thirty different scores in every scene, that will simply never happen.

1 Like

In all my CoG games so far, I’ve had simple 0-100 relationship scores which are broadly approval/how much they like you bars.

In Blood Money, I had romance integers called something like npc_romance where 1 was eligible for romance (including casual or light flirting), 2 was a committed romance, and 3 was a broken-off, rejected, or never eligible romance (eg the PC’s orientation didn’t match). (Fun fact: the reason I did it like this was because that’s how the romance variables work in Baldur’s Gate 2 - making mods for it was my first experience in large-scale interactive narrative so I just lifted the structure from there.)

In Creme de la Creme, I had “romance_expressed_npc” and “romance_locked_npc” booleans that pretty much did the same thing, then some additional ones describing engagement, cheating, whether kisses etc have happened, and other complexities. That was pretty much the same in Royal Affairs, though I didn’t bother with the “locked” boolean.

In the early friendship/romance sections, Royal Affairs has dynamic conversations which trigger based on how many times you’ve had one-on-one interactions with the character. The idea of this was to make the “getting to know you” period feel more natural and make callbacks to previous conversations easier to put in.

In the romances for Noblesse Oblige, I had booleans for lower-intensity physicality and emotions that affected text and some conversations.

In Honor Bound, I’ve got flirt counters, the PC having unspoken feelings, how casual or otherwise a romance is, and various variables tracking what the character has opened up about or what interactions you’ve had previously. The latter applies for romances or friendships. If an NPC has had a few flirty encounters with the PC, or has witnessed the PC flirting with someone else while in a romance, that triggers different conversations about whatever’s going on between them.

Most of these are simply booleans rather than anything more sophisticated. If the PC has done something the NPC considers particularly egregious, that’ll change things more drastically and it’ll be less easy - perhaps impossible - to repair the relationship.

I think that makes sense! If I was doing this, I would probably fold “respect” into the overall relationship score, but perhaps track how the PC dealt with it in the moment and how the NPC felt about it to call back to later. But as you can see from the examples above, recording lots of individual incidents is how I tend to do things and isn’t how everyone will prefer to do it!


I haven’t planned that far yet. I’m having a fairly complex personality system at works, so that’s going to have an effect, but that’s pretty much as far as I am in that regard.

1 Like

The way I am gating “friendship” and “romance” arcs in Patchwerks is the method described by Hannah and others that is based on a “relationship” variable that unlocks different “levels” in that relationship once thresholds are met.

With that said, there are story-related circumstances and actions that will impact relationships, and these are tracked by separate variables. For example: If you are seen too close (friendship or romance) to one character, you will be shunned by another and if you go “too far” (in the 2nd character’s eyes) in your support, you will make an enemy of her.

I don’t think tracking or using 5, 10 or even 15 variables is an issue per se. Rather, your implementation of whatever systems you put in place to form, grow and even explode (if called for) relationships is what will be weighed by your audience.

Here is the thing: you are already tracking these two variables individually for these characters as needed to grow and evolve the MC’s relationship with these NPCs. You are just not making these universal trackers for all.

And, I feel that is okay. Procedural generated content is not always the best solution, and here, I think the hand-crafted and choreographed romances would feel more genuine.

VNs and other games of that nature rarely make relationships so procedure-heavy and yet, the relationships in many are very dynamic.

Tony Howard-Arias has a lot of experience working with dynamic relationships and, as I said above, I feel I need to learn more from him and others before I feel I am at the level of writing these that I want to be at.

Hannah says here what I have been trying to say above.

Edit: Re: Flirt “points” – I never liked using the number of times a protagonist flirts with a npc to gate romance. Why? Because it is too limited in scope and often is open to interpretation by the reader, for this to be reliable.

Some use icons to indicate “flirt options”, but even with this mapping it limits the reader. If I want to play a “flirt”, I can’t go above a certain threshold, or the romance system places me on a romance track with that character.

So, in general, I am hesitant as a reader, whenever I see these systems enacted.

1 Like

I have often thought it would be good to have more varied types of romances with romance options in CS games. The romance type you get tends to be focused more on the personality of the RO, rather than the particular relationship you have with them.

For instance you could have a relationship where you are constantly clashing on your ideals, but still find each other physically attractive so you get more of a hate-fuck style relationship. Or a relationship where you don’t respect each other but still sleep together and it is more of a dirty little secret style relationship.

Coding wise it wouldn’t be a lot more work to implement, but it would be very writing intensive.


Exactly, I think? What I meant was, my decision of when to advance or retreat a relationship is based on each individual character. So there is a process that isn’t happening on the page. It could, potentially, with enough variables/etc., but it isn’t. And, yeah, I agree, I think that’s okay.

But, honestly, the Howard-Arias model is the same. Each character is a lock, basically, and the player’s choices form a key, but the code doesn’t dictate the shape of the lock. The author does that by marking down the choices that open or close different attitudes, topics, etc.

I think we’re on the same page here? This is what I started doing in my re-write. As I described, I’m assigning variables to decisions so that I can use those decisions to affect dialogue/etc later. But doing this also made me wonder about other models/etc.

I’m not advocating for or against anything here. I’m just hoping to explore and discuss the topic.

Fantastic point! I’ve not re-implemented them in my rewrite yet. I was on the fence. The goal, when I used them, was to find some organic way of identifying the ROs the player seemed to have the most interest in. Points were also given for choosing to spend time with one character over another. The toggle wasn’t a lock or anything, but just led to text/etc that described the characters in a slightly more romantic light. I was just getting to the point where the PC would start to act on their feelings when I realized the gaping plot hole I’d written myself into and knew I needed to start over.

But! Given the points you’ve raised above, I’ll think carefully before I re-employ them.

Thank you for sharing! What did you use to flip the boolean from false to true?

Do you mean that each RO should have such flexibility or that a game should have a variety of ROs with different dynamics?

1 Like

Me too! This discussion is going to help me in the future as I continue my Patchwerks writing and it will help me firm up and, perhaps, change some of my planned friendship/romance arc writing.

I apologize if it seemed I was being adversely or argumentative. That was not my intent.

It seems so, but I am not sure that the Howard-Arias model is the same. I’m playing checkers, one hop over the hurdle will open friendship arcs and a second will open romance arcs.

With the Howard-Arias model, I feel you need to meet the criteria of all the locks, before you can open pathways forward. I view it like a canal. You approach the first lock, it opens, you move into the lock, wait for it to fill to the next lock, open that lock and then do the same to reach lock three.

It is a very cool complexity (I think Havestone calls this “simple complexity”) but I think it is too complex for me.

I’m happy my perspective brought something new to the table for you. :revolving_hearts:


Although this is not mine, and it’s not a CoG game, it is still very much in the same style - Throne of Ashes. The game is largely incomplete as of now, but the one romance available has two tastes, per se, which depend on the the type of personality of your PC that you choose at the start of the game. Rather than doing a complex system that would be like a puzzle to solve all those keylocks, you get to develop your romance with a character while only generally simulating a dynamic relationship, because of who your PC is.

Although I am fairly interested in a complex system, I believe that a compromise like this can go a long way to make a relationship seem dynamic, without you having to rack your brain over complex personality based systems. Smoke and mirrors, as they say.


This is exactly what is needed to make the world seem alive.


For the commitment variables, it was through various points where the PC could tell the NPC how they feel about them. If the PC said directly that they were romantically serious about them, it changes that variable to true.

I’ve got a sort-of similar thing in Honor Bound where there’s “npc_romance” which represents “serious” dating, and also ((npc_discuss_romance) and (npc_interest)) which represents that you’re something other than friends/colleagues - dating casually, hooking up, or otherwise ambivalent or ambiguous.

Agree with this, and the rest of what you said, completely. I also have always thought it would add a lot to the story to have a “current attitude” stat. It wouldn’t have to constantly go up or down, but when there are big issues/disagreements/clashes/etc, it would be cool to change the setting and have the text reflect interactions appropriately until there’s an opportunity to resolve the problem.

1 Like