Daily VA-11 Hall-A 2022 #18

日本語版

Sit back kids, we’re gonna talk fuckin’ Narrative Game Design and you’re gonna like it.

So let me propose a simple hypothetical.

Let’s say we’re trying to make the… platonic ideal of what narrative games should be: A game where every single choice matters. And just for fun let’s use as an example that one joke that says that every traditional CRPG quest ends with you either solving war hunger or committing world crimes.

We’ll call it “Peace and War”, at the end of each quest you can only pick Peace OR War, and each choice has a very significant impact on everything. Also, for the sake of this hypothetical let’s say that the space between each major choice (which is all of them) is around 500 words total, give or take a few.

So let’s pretend we have a player that wants to be the biggest messiah there ever was. So in his first quest he picks peace and cures a blind person.

In the next quest, he’d have the choice to commit genocide but instead he chooses to cure a lethal disease.

On the next branch of dialog he COULD murder a lot of children in cold blood, but instead he chooses to make the orphanage more luscious than even the biggest mansion in town.

We’re in the ending now, the player has one last choice on how to approach the villain, but he obviously decides to absolve them of all sin because hey, the allegories stopped being subtle a long time ago.

And there you go! A game where every choice matters!

Oh but we forgot what would happen if he did choose to murder the whole orphanage, didn’t we?

Oh, and I guess we also forgot to consider that maybe the player does wanna commit genocide. And I guess that one would need the same choices…

…and each of them would have their own outcome to the ending…

…wait, we forgot that maybe the player wants to commit cold-blooded torture on the blind person instead of curing them, and then that would need it’s own… oh no…

In a pure mathematical way, you can understand the reason why this isn’t feasible. Anything you make will grow exponentially, and with it the workload involved. However this example actually sells short the word count because, to give you a frame of reference: The average VA-11 Hall-A day clocks at 10.000 words average.

And we aren’t taking into account other elements like how “pure good” and “pure evil” aren’t as engaging of a choice.

Or how in this specific hypothetical choosing one good thing at the end would probably have very little impact rendering many branches redundant.

Or how we’re only taking into account binary choices through a whole game instead of say… choices made through other mechanics or the impact of individual self contained quests.

Or how it’s so conceptually silly for everyone in a setting to put so much power into a random wanderer, or even how exhausting it can be to randomly stumble into a minor quest that scales things to the point where for some reason the player is the only one that can make life changing choices for everyone in that place.

Wait, no, that last one is just a personal grievance. Don’t mind it.

Even from a game design standpoint, a player seeing so many outcomes will be more deterred than incentivized to play, fearing they might not see every possible outcome the game has to offer.

They also need a frame of reference, since in a hypothetical game where you can do anything having context as to what might affect things is important.

And this is where “the illusion of choice” comes into play.

It sounds ugly, but I should specify that it isn’t necessarily the idea that choices don’t matter, but rather making it so that the choices feel meaningful even if they don’t have a full impact at the end of the day.

Here’s a question: Would you rather a game disregard your choice entirely, or would you rather have it acknowledge your choice even if in the end the choice had no major impact beyond comments about it?

Let’s use Donovan on the first day as an example.

If we consider “meaningful choice” something that has a tangible effect that remains afterwards reflected mechanically (we’re disregarding dialog changes to drive the point home) Donovan has only one meaningful branch: If the amount of accumulated Karmotrine he has by the time of his third order is above or equal to 18 then the next day the news in Augmented Eye will show him rampaging on the website. Otherwise, just the regular news happens.

Of course, if you’ve played the game, you know this isn’t how things go. So let’s retrace to his first order.

First: Donovan asks for a Beer, so the order would look like this, right?

So here’s something funny about Donovan: Being the first client I wrote into what would become the final iteration of the codebase, he provided some trial an error for the flow of the game, resulting in the only “half order” that happens right after the first one and needing a bunch of edge cases and exceptions to untangle the mess.

But anyways, as all of you are aware of, the order actually looks more like this.

And here’s where things get fun. A player might see what just happened and wonder: “What if I give him a big beer first try though?”. So let’s account for it.

That way, when the player replays the game and wonders what if, they’ll feel REALLY clever because they remembered what happened later and acted based on it.

Now don’t blink, here’s the first part of the magic trick.

Despite all the possible paths the order can take, it all converges into a singular path, and why wouldn’t it? After all, Jill didn’t choose between calling him names or kissing the floor he walks on, she just changed what quality of service she gave before continuing on with the day.

Oh but I forgot to mention something: The game keeps track of what you’ve served so far. So now right before the second order Donovan will have two different dialogs right before his next order. In one he asks for “another” beer if you gave him at least a small one, meanwhile in the other he tells Jill to try and give him a beer this time around.

Small sidenote: This is the only case in the whole game where past orders are read from what’s leftover in the mixer cache (so to speak) instead of reading from the actual log of flags. Which… I might explain more someday, but it’s a real “how did the game not collapse because of this” moment.

Anyways, here’s what this looks like.

Sure, they might both end at the same spot, but the player has seen the game acknowledge what they served beforehand.

This one will have the same outcomes so let’s put those over there. They will likewise eventually converge onto the same “common branch”.

Now, 18 is a very special number for this scenario. As I explained earlier, each character keeps tab of how much Karmotrine you’ve given them (more like the game keeps tabs of the amount until an arbitrary point in the script is hit, but still), and 18 is a number that is important to all the possible branching a player might’ve tried by following instructions (let me remind you: Donovan is the first client the player encounters).

If the player follows the first-timer’s logical path, they will give Donovan 20 Karmotrine. 4 from the first order, 8 from the correction, and then 8 from inferring that he wants another big beer. Or maybe they DIDN’T infer that the second time around, in that case the total will be 16.

If the player has previous knowledge, however, they might give him two big beers in a row, in which case the total is 16. So there is a big chance that players will see the dialog where he asks for something strong and bitter but with no alcohol. And SURPRISE this branch actually results in two different possible orders. It would look something like this.

BUT the player might now wonder, what if you give him non alcoholic stuff before? He likes bitter drinks, so what if you gave him alcohol but not beer?

Well, why don’t we account for it?

Now, the final branching actually has a slight error on my side. The condition to determine the last dialog is the exact same (over 18 Karmotrine total). The result is that Donovan will ask you not to give him more alcohol and even if you oblige, he will still be drunk by the next dialog. Ideally this condition should’ve been if he has total Karmotrine over 21. The rationale being that if you push him even with a slight sugar rush he’s drunk, if you serve him 2 big beers and a small one he’s not drunk but 3 big beers will do it. And this is without counting any other number of combinations that might lead into him getting hammered which might’ve been the metal wall I ran into when designing this part. Likewise, he says “third time’s the charm” even though this would easily be the 4th beer you give him.

Of course, again, this is 8 years after the fact and with all the experience that it entails. And also, again, talking about the first client ever coded for the final version.

Regardless, let’s complete his branching.

Now, with this out of the way, let’s highlight some parts in order to sum up how many “meaningful” choices there were.

So to summarize, we have:

2 Impactful outcomes (red)

At least 4 converging paths (green)

2 dialogs that briefly diverge before reconvening at a converging path (blue)

4 different outcomes that result in 3 different branching orders total (yellow).

And 18 (+2 yellow) different variations of dialog depending on the drink served (purple).

Hopefully this illustrates the point about the “illusion of choice”. Even if there’s only 2 impactful outcomes, the player is entertained by a myriad of choices that range from the short term to the middle term. And this is just one client out of 4 on the first day.

Moreover, instead of needing to account for 20 different possible choices the player can make (which as illustrated in the first exercise grow exponentially), from a “logical” standpoint the most impactful thing that happens is if Donovan gets hammered or not, which is the thing the player is gonna remember by the second day instead of the order of drinks they gave. And fittingly there IS a minor branching path on Day 2 with a dialog you only see if Donovan was piss drunk on the first day.

Funnily enough, to me Jill’s catchphrase will always be “Coming right up” because when writing the scripts I deliberately preceded most orders with that phrase in order to easily find the part right before the branching starts.

I originally wanted to explore the branching of the Truth or Dare event since that’s what happens today in the game. But believe it or not, the branching in that one is way less complex or illustrative of what these choices entail.

Tomorrow a new week starts.

3 thoughts on “Daily VA-11 Hall-A 2022 #18

  1. First of all, Merry Mega X-mas!!!!
    May you spend this holiday season happily with your loved ones.

    Now, I didn’t knew the extent of the complexity of the choices a player can make (did notice branching but not all the what ifs). I agree with you on how the illusion of choice is a great way to give some level of agency to the player and keep things not as complicated as it can get for the devs. Love your work, read you on the next day

  2. This IS what I want to be solved.
    Since this is a very personal matter, I cannot write in any language other than my native tongue.
    Please DeepL it if you wanna read.

    私は子供の頃『ゼルダの伝説 ムジュラの仮面』が好きでした。ゲームの中には”ロマニー牧場でオバケ退治をする”イベントがあって、簡単に説明すると、『主人公のリンクと同じくらいの年齢の女の子を守るタワーディフェンスみたいなミニゲーム』で、子供の私にとってはギリギリクリアできるくらいの難易度でした。
    で、ある時「もし、わざと失敗したらどうなるだろう?」と考えて、やってみました。

    ……ものすごく後悔しました。

    失敗した瞬間、女の子が叫びながら空に吸い込まれていって、どこかに消えてしまうのです。次の日になると戻っているのですが、顔が明らかに病的になっていて、頭を抱えて首を振っているのです。話しかけると「‥あれ?‥キミ‥だれ?だっけ‥(in slightly broken words,”Oh, you… who… was…?” Something like)」と言っていて、どうやら記憶喪失になっている様子。女の子の家族もとても悲しそうにしていて、子供の私は「私の気まぐれでこんな重大な結果になってしまったんだ!!」と思い、二度と同じことを繰り返さないことを誓いました。

    Long story short, I can’t choose anything but the best option because it reminds me that the girl has been kidnapped.

Comments are closed.