Computing Narratives from Player Actions



This piece is going to delve into a bunch of pseudocode, so if you're not much of a programmer: hey, twins!

Why Does an Open-World Board Game Need Epilogues?

The Hustle is about leveraging mechanics (sometimes against each other) to get a leg up in a brutally silly version of capitalism. 

It’s a bit like a clockwork puzzle, and I wanted to reward players for pulling at the gears. I also wanted to give them something at the end to remember the experience: a hopefully-funny snapshot of their notable moments that would make the exploration worth it. 

So, I created the epilogue system.

How It Works (In the Game)

At the end of The Hustle, when all the money/property/capitalism has been tallied, the game assigns each player an adjective and a noun. "Here's who you were," basically.

  • If you spent a lot of time in the casino, and bought a lot of expensive car upgrades, maybe you’re a "High Rolling Low-Rider."
  • Maybe you crashed your car a bunch, and got fired from all your jobs, and you get "Deadbeat Pedestrian-Killer."

And so on.

How It Works (Under the Hood)

In order for the game to recognize your notable moments, it has to:

  1. Remember your moments
  2. Be able to tell which ones are notable

#1 is easy. I have to take steps to stop my computer from remembering everything I do.

But #2, though. That’s hard.

How would a computer know when a player’s behavior is notable?

I Have No Idea But

I haven’t let that stop me so far, sooooooooo —

The Four Parts of The Hustle Epilogue System

All the possible descriptors start with a relevance score of zero, and through the process of sifting, we increase the score until one is clearly the most relevant.  It starts with a word’s prerequisites.

1) The Prerequisites: Does This Word Apply?

Every potential adjective or verb has prerequisites that the player’s performance must meet in order for the word to make sense.

Let's say the word was "Bedraggled," as in "Bedraggled Game Developer." The prerequisites might look like:

And that means:

  • "Did the player roll more than 60 times this game?" (damn, they ran all over the place)
  • "Do they have more than $10?" (okay, they're not in debt)
  • "Do they have less than $1000?" (but they’re not very rich either)

All of these must be true for "Bedraggled" to make sense, and be eligible as “the final adjective.”

There’s a nitpicky part of my brain that’s screaming right now, and it looks like this:


But allow me to remind myself: it's actually very performant. It allows me to add new epilogues on my cellphone at 2am, which is about as performant as I can hope for.

2) Every Successful Prerequisite Check Adds to the Relevance Score

My rationale is this: if a word has 15 prerequisites, it is very rare and very specific, and therefore very relevant if the player qualifies.

3) Adjust with Additional Relevance Weight

Death is a critical game mechanic in capitalism (kinda doesn't work without it), so it had to be present in The Hustle also.

But that would leave me with one constraint:

didYouSrslyGetFraggedByABoardGame_=_true

Which, according to the system so far, is worth exactly "1 chunk" of relevance.

"Am I dead" is a lot more relevant than "1 chunk's worth."

So, each word has additional relevance weight: a plain integer that mathematically represents me leaning on the relevance scale.

That way, if the player passes this one:

wonAtBingo_=_true, splurgedOnBurgers_=_false

And this one:

rammedToDeathByCop_=_true

"Didn't spend bingo money on empty calories" isn't assumed to be twice as relevant as "died in a fiery explosion of injustice."

4) Novelty Checks 

We’ve made it this far: the player clearly is a “Sociopathic Penny-Pincher,” let’s say.

But: this player plays the same way every time.  They always get Sociopathic Penny-Pincher. And today, they were playing with their cousin, the grandparent of sociopathic penny-pinching.

To avoid this, the game asks two questions:

Did We Already Use This Word for Someone Else?

If so, knock it to the very bottom of the list. We don’t use this unless there’s literally nothing else that applies.

How Many Times Have We Seen This Word, Ever?

Jokes are not as funny the 20th time.* So if this word has been used a lot in the past, knock its relevance score down a bunch. 

In this way, “relevance” represents not just “applicability,” but “usability:” will it actually be fun to use this word again?

Where the tuning happens is "by how much do we reduce the relevance of a word that's already been used?"  If a word is really relevant, and maybe represents a very memorable moment / series of choices in the game, we want them to get that label, even if it's been seen before.

And that's the part I'm still sorting through.

If you’re interested in this kind of thing, I highly recommend "The System Behind Hades' Astounding Dialogue" by People Make Games, which partly inspired this system.

Next Week

We'll talk about The Hustle itself, and trying to fix the terrible, terribly popular game called Monopoly.

(This graphic is leftover from an earlier draft of this post:)

* Jokes are hilarious the 21st time you hear them, but that’s outside the scope of this discussion.

Leave a comment

Log in with itch.io to leave a comment.