The past week’s effort have focused on code moreso than story, implementing relationship tracking mechanisms. One of the primary choice mechanisms tracked within the narrative is the player’s relationship with their cousin Colt; the better this is, the easier it will be to sway his actions.
This isn’t a straight up single variable that increases or decreases based on choice; instead we track positive and negative incidents. Colt’s overall mood towards the player is determined by the proportion of positive vs negative. Thus there’s a leveling effect; as the relationship rises or sinks it gets progressively harder to move further from the norm – meaning it takes more “good” or “bad” incidents.
How to make it work?
In the end I actually opted for something else – implementing NPCs as objects, tracking relationship stats through object properties, and storing the code in object methods.
This really appealed to the object-oriented programmer in me.
In absolute terms I only added 2500 words to the narrative this week – I’m at ~13000 now, far short of the 28,000 I need to be at to be on track to hit 50k words by the end of the month. To be fair, I am doing two NaNoWriMo projects this year, but I plan on doing a lot of writing to catch up over the next week.
Initially I’d thought that writing the novel-length branching story would be the equivalent of writing three intertwined 10k word novellas – I’d write the same number of scenes (around 25-35), and in any given playthrough, the player would encounter ~16-20 of them.
That turned out to be relatively accurate, but I’ve underestimated two things.
- The multiplicative effect of choices within scenes
- The impact of having nine character archetypes to choose from.
Choices Within Scenes
The primary narrative structure branches at the scenic level – from scene 1, the player might go on to scene 2a, 2b, or 2c, for example. This is determined by a choice made, or by the sum of choices made – the New Year’s Party is a good example, where the player’s focus on drinking, fighting, or flirting determines what scene plays out.
However, choices within a given scene alter how things play out further – do we have the courage to actually flirt with the subject of our affection? Do we ask them to dance? Do we chicken out?
I knew these smaller branchings would add to the size of individual scenes, but underestimated by how much.
Each archetype colors the story in more subtle ways – what music the player listens to when they grab for a tape, what clothes they wear, how likely they are to take a punch.
While largely descriptive, I thought the biggest impact they’d have would be as any other trait, influencing the choices players had available and what their successes and failures were.
Trouble is, there are nine of them, and unlike the other traits every time they come into play that gives us nine mutually exclusive branches to write up. Over time, that adds up.
Implications and Solutions
So, here are my options.
- Be cool with simply massive stories that have a long development time, in which any given player will see less than 30% of the available content.
- Write shorter stories; aim for 10k word playthroughs and shorter development cycles.
- Whittle down the archetypes involved from 9 to something like 3. Or eliminate the archetype alternatives entirely and have archetype be an immutable part of character creation.
My overall goal here is rapid iteration – come out with a good volume of quality work. There’s nothing wrong with shorter games, and in fact, a serialized approach might be something worth looking into.
Maybe turn Zeitgeist into a series of shorter 80s themed adventures and let the player develop over time. More of a Television style format with seasons and episodes.
I don’t know if I want to go to the extreme with #3 and eliminate archetypes entirely, but I could see them being a bit more organic as “what does your collection of traits conform to.” Or I could whittle it down to a binary or trinary choice at character creation.
If you’re interested in playtesting version 0.3 you can find it here.
Have feedback? Bugs? Questions? Comments? Concern?
Join the Discord server I’ve started to cover my various and sundry projects. My patreon supporters get a special role, and when I’ve set things up, will have access to special patron boards to discuss the content only available to them.