Home Artists Posts Import Register

Content

Hello, everyone!

As is tradition for me, I am taking the time between the early-access release of Refuge and the public release off as a vacation.

And as is tradition for me, that translates to working on things. Because I am physically incapable of relaxing.

I've been putting most my energy into Epilogue, because I'm just having so much fun putting it together, from a programming perspective, a writing perspective, a game design perspective, and just a fan perspective.

Let's quickly go over the things I've added since last week!

Personality Traits!

This is an idea that I pilfered from the fantastic As Dusk Falls (if you like story games like Life is Strange then you should absolutely play it, by the way), though it also exists in less-complex forms in games like Mass Effect and even Life is Strange proper.

A complaint I often hear about story-based games is "my choices didn't matter", when after a long game (or trilogy cough cough) of impactful, difficult decisions, the big finale of it all is boiled down to a single decision, with all previous decisions either making zero impact at all, or at most changing a few video clips and narrated lines in a cutscene.

The goal of personality traits is to avoid that, by deeply integrating almost every choice you make into the very fabric of the story being told.

The general idea is that certain decisions are tagged with specific personality traits. As the story progresses, the options available to you as a player will begin to be gated off by Max's personality traits, which are measured across several axes - if you don't have enough choices made in a certain personality trait, then you don't have access to the gated options.

Think of the Charm/Intimidate system in the first Mass Effect, and how certain dialogue options were only available if you had a high enough Charm or Intimidate level. Except instead of only across 2 skills, it's across... uhh... 9.

In certain extreme cases, especially as the end-game approaches, Max's personality will be so calcified that the choices aren't even presented to you, with Max's dominant personality traits automatically railroading the story down certain paths. Actions have consequences. Are you prepared to face yours?

Here's a brief rundown of the personality traits, as I have them written so far. Note that they're not final - some may be added, removed, renamed, or changed entirely.

  • Calculating - Making the logical choice over the emotional, a calculating Max could be considered cold, distant, or manipulative. Calculating choices are often made solely to benefit from some advantage they offer, regardless of how they make others feel, or the ethics and legality of the act in question.
  • Compassionate - Making the emotional choice over the logical, a compassionate Max could be considered gentle, empathic, or a bleeding heart. Compassionate choices are often made knowing full well they're not the most optimal choice, and may even have consequences later down the line, making those sacrifices for the sake of not wanting to hurt others.
  • Honest - Telling the truth can be hard, but an honest Max does it without hesitation. A third counterpart to the Calculating<->Compassionate binary, honesty shines brightest--and hits hardest--when telling the truth offers no overt advantages, and hurts the people you care about in the process. There is no advantage to being honest. An honest Max is honest simply because that is her nature.
  • Timid - Speaking your mind places you square in the court of opinions, and a timid Max has no interest in being judged. She would rather blend into the background, and have the world forget she exists altogether. Indecision is the quickest route to timidity, letting others choose for you and not attempting to make your own opinions heard.
  • Confident - Your opinion might be right, or it might be wrong. Either way, though, a confident Max will make sure you hear it. Confident choices can be as simple as introducing Max when unprompted, to as dramatic as arguing with her best friends when she sincerely believes they are in the wrong.
  • Diplomatic - Conflict is stressful, and we all have enough stress in our lives as it is. A diplomatic Max will do everything in her power to come to a peaceful, agreeable solution to all parties involved - be that a conflict between herself and others, or a conflict that she is arbitrating between. Diplomatic choices are those that actively seek to resolve problems without violence.
  • Aggressive - Sometimes, someone is out of line and needs to be put back in their place. An aggressive Max won't let others bully herself, her friends, or strangers. If she sees someone in need of an ass-kicking, she'll step up and offer the boot herself. Aggressive choices are antagonistic, either directly through verbal abuse and threats of violence, or indirectly through biting sarcasm and malicious compliance.
  • Lascivious - You and me baby ain't nothing but mammals, so let's do it like they do on the Discovery channel. A lascivious Max is sexually awakened and basks in it, unafraid to engage in sexual escapades regardless of origin or consequence, often being openly flirtatious and offering sex for favors. Lascivious choices are almost entirely accepting sexual motions of any nature.
  • Chaste - Sex is messy and complicated; sometimes it's better to keep a clear head and clean bed. A chaste Max isn't necessarily afraid of or opposed to sex on a fundamental level, but rather understands that there is more to life than sex, and that sexual relationships can often cloud and confuse situations. Chaste choices are almost entirely rejecting sexual motions of any nature.

These personality traits are all represented with specific icons, and eventually specific sound effects (two in fact, one for decisions and one for consequences). I don't have all of the icons figured out yet, and no sound effects have been put together so far (and likely won't be for the prototype - sound design is squarely outside my skillset, and the focus of the prototype is to just hammer things out as quickly as possible without getting bogged down).

When a decision is made that is tagged with a personality trait, then that trait's icon will be shown in the top-left corner of the screen, letting the player know that decision contributes toward Max's personality matrix.

When there is a consequence of Max's personality, or simply a consequence of a decision that happened to be tagged with a trait, then that trait's icon will be shown in the top-right corner of the screen, giving the player at least a general hint as to what led them down this certain path.

Major Decisions!

One of the stables of Life is Strange is how there were two tiers of decisions: simple, small decisions that pop up all throughout the game, in dialogue and even just engaging with the world.

And then the big, dramatic decisions that halted the whole world and demanded you consider your options carefully.

Mechanically, Major and Minor decisions work identically in the prototype. Indeed, Major decisions are actually just implemented as Minor decisions with some additional information attached to them, tying each choice to a special overlay image that is presented when the choice is hovered over. This is how the snowglobe/Elvis highlighting is accomplished in the sample.

However, a big part of immersive games in general and narrative games in specific isn't necessarily the mechanical complexity of a system, but rather how the player engages with them. A Major decision doesn't need a lot of complex code to be "major". All that matters is if the decision feels major to the player.

And I think the dramatic presentation, and break from the usual list-based form of Minor decisions, plays a big part of that.

Conditional Branching!

Not to be confused with Jump Branching, which is where the game flow immediately shifts depending on player input, such as when you choose a decision and a new branch of story plays out.

Conditional branching is when the story branches without the player's direct input, instead relying on previous input. The simplest form of branching, and indeed the only one currently implemented, is decision-based branching. The path the story progresses depends on some singular previous decision.

In the example above, the scene that plays out after Chloe says "Right here, hoss", depends on the snowglobe decision. If Max doesn't say anything to stop Chloe, then she sells the snowglobe off to get some cash for gas and food. If Max stops Chloe from selling the snowglobe, then instead she sells the Elvis bobblehead--and gets less money for it, meaning less gas or less food.

Eventually, there will be more complex forms of conditional branching, including the big brother to the single-decision branch, where multiple decisions all have to have been made before a branch can execute; the more complex decision system that incorporates personality traits to present the player with options that are in-line with how they have played Max thus far; and the big Kahuna of them all, the calcified-personality where individual choices aren't considered and instead every decision made is weighed in sum and the path determined on Max's dominant personality traits.

Conditional branching is something I feared implementing for a long time, because they have classically been a real headache for me. Internal decision names aren't always the most friendly to read, and it's hard to keep track of every decision and what those internal names are. I've stated before how I want to avoid graph hell and Microsoft Excel Simulator 2023, and stick to the interactive build-as-you-play editor as much as possible.

I spent some time exploring possible solutions to this problem, and I came across a simple and clever idea: a system where you can search the contents of steps for specific keywords. This way, you don't have to remember the exact cryptic codename for a decision. You just have to remember what the decision is about.

So for example, for the above branching, I simply searched "snowglobe". Of the results, there were only two that were decisions: "sell" and "don't sell". I didn't need to remember that these specific decisions were named "bigdec_snowglobe_dontsell". Just that they were about the snowglobe.

From this system, I implemented a slick jump-return mechanism. You can click on any step found by the search, and immediately jump to that step. You can then navigate it freely with the visual editor, make sure it's the one you want. When you're ready to return to where you were, you can simply click the "return" button at the bottom of the search, and it'll jump you back to where you were when you ran the search. And it will keep the step you jumped to in memory, so you can easily recall it by simply using the "searched" keyword when setting up conditional branches.

For example, when making this branch, I marked the "Right here, hoss" step with two conditional branches. The first branch, I had jump to the "sell bobblehead" path. I then searched for "snowglobe", jumped to the "don't sell" step, then immediately returned back to the "Right here, hoss" step, and typed "searched" into the decision field for the conditional branch. And just like that, it was hooked up. I did the same thing with the "sell snowglobe" branch. Didn't have to remember or write down a thing, other than it had something to do with snowglobes.

All things told, setting up the branches took less than 3 minutes. That's pretty speedy, which is exactly what I wanted.

General thoughts and some stats!

In general, I am extremely pleased with the rapid pace of development. As of writing, the game currently has 314 unique steps written out, with 248 of these steps being dialogue. 1773 words of unique dialogue have been penned thus far.

I finally managed to complete the gas-station exterior scene, which currently contains the bulk of the scenes, at 183 of 314 steps, or just over 58% of the total step count.

Here is what the final graph for the exterior looks like.

Remember when I thought the highway sequence with its three quick little decisions that quickly converged back together was a complicated graph?

Yeah, me too. Those were the days...

Looking to the immediate future of the current gas-station interior scene, I am pretty excited to explore all the ways it plays out. The gas-station attendant is the first secondary character introduced, and he provides the first real conflict of the story. He is a sexist, misogynistic asshole who antagonizes Chloe and says some nasty things about Rachel, all the while reveling in the fact she's dead. Chloe doesn't take this well, and depending on how the player handles it, it can end anywhere from a tense-but-bloodless transaction, to Chloe punching the guy in defense of Rachel's honor, to the attendant straight-up pulling a gun on Chloe and threatening to leave them out to dry.

Narratively, I'm most excited for the last option, because it will introduce a beat that hitherto hasn't been explored yet--with the passing of the storm, Max's powers to control time have seemingly left her, much like when she confronted Kate on the school roof. This terrifies Max and humbles Chloe, who all too suddenly realizes she's not effectively invincible with Max around, and she needs to actually think about her actions.

Personally though, I just really want to see Chloe punch the asshole in the face. He really is a dick. I hate the guy, and I wrote him. His contempt is arguably justified, as players may learn depending on how they handle the situation, but his behavior is absolutely unforgiveable. Plus, I'll get to implement quick-time events with the punch-throwing, so that'll be fun! And it'll also provide a reason to fail quicktime events, since the successful action is Max stopping Chloe, and honestly, this is one time where Max should be timid and let the guy get clocked. The asshole deserves it.

Looking forward a bit more, I need to find a way to introduce and cross the bridge of Max's powers not being freely available, in the event that the player didn't stop the gas attendant from pulling a gun on Chloe. It's an important narrative beat, though if you recall the entire premise of Epilogue (that being exploring the ramifications of saving Rachel and keeping her true to her established personality), it is obviously not completely gone.

In the next scene after the gas-station interior, I will also finally get to fully flesh out and introduce the sex-scene mechanism. That'll be fun! I have some ideas, but nothing set in stone yet. I'll get there eventually, though!

And then farther yet, I still have the contesting system, which will be separate from though related to the Personality system. The major source of conflict in Epilogue is internal group dynamics, and the girls arguing with one another is a major aspect of that. I have thoughts on implementing that as well, but it's still two full sex scenes and some change away.

As a final closing thought, I get the feeling that no one but me really cares about this project. But you know what? I'm perfectly fine with that. I'm making this for me, as a writer, as an aspirant game designer, and just as a fan of Life is Strange. All that matters to me is I am enjoying making it.

I would love if other people enjoy it, too. But if not, then as long as I'm happy with it, then I'm content.

That's all for now, everyone. The public and 2160p releases of Refuge will happen on the 10th, wherein I officially resume production on Overbreed Episode 1. My focus will be returning to the storyboarding. Don't expect too much to report on that front with the June 12 progress report. Hopefully the June 19 report will be more substantial, though!

Until next week, everyone!


Files

Comments

No comments found for this post.