[ad_1]
Game Developer Deep Dives are an ongoing sequence with the purpose of shedding gentle on particular design, artwork, or technical options inside a online game as a way to present how seemingly easy, basic design choices aren’t actually that straightforward in any respect.
Earlier installments cowl matters such because the technical design of not possible areas within the M.C. Escher-inspired sport Mind Palace, the transition from digital illustration to indie growth with comedian e-book author and artist Meredith Gran of Perfect Tides, and designing and implementing controls for the cell port of PC and console title Descenders. In this version, Sarah Northway, co-founder of Northway Games and creator of I Was A Teenage Exocolonist, walks us by means of the instruments and strategies used to implement the sport’s distinctive simultaneous storytelling system.
My favourite narratives are ones the place the reader – or participant – is a participant, taking the creator’s textual content and telling their very own tales with it. For our narrative RPG, I Was a Teenage Exocolonist, I wished this: natural worldbuilding, characters with their very own lives, replayability, and main occasions as signposts in a bigger narrative area the participant can discover. Not a linear visible novel, however a unfastened and huge narrative intertwined with deckbuilding and stats elevating, dynamic but deterministic.
I’m Sarah Northway, co-founder of Northway Games and creator of I Was a Teenage Exocolonist, in addition to the narrative city-building sequence Rebuild and different video games. I grew up an avid reader and author earlier than video games grew to become my life. I even thought of writing a young-adult sci-fi novel as a substitute of this sport, however I do know my strengths lie in programming and sport design, and it might be a waste to not mix them with the story I wished to inform.
With Rebuild 3, the equally massive 200K phrase narrative was delivered as an assortment of procedurally generated occasions involving a post-apocalyptic settlement. But for I Was a Teenage Exocolonist, I had a brand new problem: to inform a coherent narrative alongside a 10-year timeline, involving characters who develop up, change dramatically, and will (or could not) even die mid-game.
I labored with co-writer and narrative designer Lindsay Ishihiro to supply Exocolonist’s big and complex narrative, with roughly 6 novels’ price of textual content and 800 triggered occasions.

The Octopus
With our give attention to replayability, I wished gamers to solely see a small quantity of the narrative throughout every life, however with out forcing them into one observe at a time. For a dynamic, open world, we’d want occasions to happen with or with out you there to witness them, and you might pop in on a plotline in the course of some disaster that is perhaps too late to unravel.
I wished you to see the world from totally different factors of view as you develop up within the sport: as a toddler or an grownup, as a farmer or a soldier, as a romantic or a insurgent.
A branching narrative wasn’t going to chop it, or at the very least not only one. We wanted many alternative plotlines overlapping and affecting each other and a whole bunch of one-off triggered occasions to construct a story world you might discover at will. And we couldn’t at all times management what order occasions would hearth in or what state the world could be in once they did.
Our narrative wasn’t a branching tree however a juggling octopus. Flexible and interconnected, with a core narrative and lots of wriggling limbs.

Event Categories
Our 800 narrative occasions break down into these sorts and set off strategies:
1) Main plot
These happen in each playthrough, and tie the sport along with the consistency of adjusting seasons. Every 12 months there’s an occasion to your birthday, then the Vertumnalia harvest pageant in midyear, then an occasion throughout glow season because the planet begins to reject the colonists’ presence. Unique challenges occur throughout particular years, at all times on the identical date in each life, however the outcomes might be modified by your choices and expertise.
The predictability of principal plot occasions supplies an anchor because the months tick by and reinforce the present temper of the sport because it grows darker over time.
2) Sequential threads
Spend time in geoponics, and also you’ll uncover a pal’s secret pet, which over ten occasions grows as much as be an enormous downside. Work within the command wing, and also you’ll get embroiled with a secret membership with plans to free the colony from tyranny. There’s a sequence of world-building occasions as you enhance in every of the twenty-five faculty, interest or profession paths, which frequently give the participant a alternative between two or three playing cards to construct their deck, representing how the participant is rising as they enhance explicit expertise.
Sequential occasions at all times occur so as, however is perhaps skipped if you happen to’re too outdated. They’re triggered with the primary plot occasions after you do an exercise for the month. If two or extra occur directly, I attempt to choose the very best precedence one and delay the others.
3) Friendship occasions
Characters have love meters which set off sequential occasions as you get to know them. These are typically much less related to bigger colony plotlines, they usually’re non-obligatory, requiring you to stroll up and speak to the character once they have a speech bubble over their heads.

4) Exploration
These seem as signposts, creatures, or floating query marks out within the wild and really feel like miniature RPG encounters. Many contain a card battle or a ability problem, they usually’re scattered round semi-randomly relying on the area, season, and 12 months.
5) Barks
In addition to our 800 triggered occasions, there are 1,800 barks: quick single paragraphs with no selections that play when there’s nothing else to say. They’re extremely conditional, based mostly on something from the climate or your fight ability to obscure selections you made as a child.
Enter Exoscript

I thought of numerous business scripting techniques, together with Inkle’s ink and the Unity asset retailer Dialog System, however none had been fairly proper. I used to be planning to rent a co-writer, so I wished one thing that might be straightforward for a non-programmer to be taught and use. I wished script that might seem like plain English and really feel easy and pure to jot down in, light-weight with a restricted set of highly effective options that we might use in complicated methods. I wished to be free to simply prolong it, combine it into the Unity mission, and alter occasions whereas working the sport.
Ink got here closest, and I might suggest it to somebody in the identical state of affairs. But I used to be bitten by the will for full management, and writing my very own parser seemed like enjoyable!
In the top, creating Exoscript was certainly enjoyable and didn’t take so long as I’d anticipated. About every week to get the bottom options in, then one other few weeks of optimization and upgrades regularly as we wanted them. Co-writer / narrative designer Lindsay (who turned out to have a background in code) rapidly obtained the dangle of complicated conditionals and began asking for extra.

In this instance, selecting “Try to distract it” units an event-level variable (“~set var_distract”), then returns to the earlier checklist of selections whereas eradicating itself (“>>>”). This will reveal a brand new option to “Attack the monster!” now that you just’ve distracted it (“~if var_distract”), which triggers a card battle (“~call battle(combat_10)”). But it has a further bravery requirement (“~ifd skill_bravery >= 10”) which should even be met. If you win the battle, a brand new illustration will present (“~set bg = nearby_close”) and a everlasting variable will probably be set (“~set mem_savedTonin = true”) to recollect this for future occasions.

Calls and Conditionals
Call statements like “~call battle()” use reflection to leap right into a C# library of a few hundred strategies that regularly grew by means of growth. If they’ve parameters, these are robotically validated when the scripts are parsed, together with parameters utilized in any “~set” or “~if” instructions. I wished to make sure we’d catch typos within the IDs of expertise, backgrounds, characters, or playing cards as early as doable.
The validation step additionally checks that referenced variables have been set sooner or later, and for unlikely circumstances like jumps inflicting infinite loops. This made my job as an editor a lot simpler, and will probably be helpful if gamers mod the sport so as to add their very own occasions.
Closely connecting Exoscript with the Unity mission made it straightforward to set off visible results, for instance, “~set left = marz” slides the character Marz into the left aspect of the scene, and adjustments the colour of textual content in double quotes to her coloration, blue.

Our in-line conditionals (eg “[if skill_bravery >= 50] How brave you are! [else] Scaredy cat! [end]”) work like “~if” to find out which block of textual content to point out. We use them everywhere, however want to place them round full paragraphs. This is each simpler to learn, and if we ever resolve to localize someday it is going to make translators’ jobs simpler.
Groundhog Day and Our Process
A key narrative characteristic in I Was a Teenage Exocolonist is a mysterious wormhole that allows you to bear in mind bits of previous lives. On your second playthrough onward, new selections seem in occasions you’ve beforehand encountered. These can be utilized to shortcut troublesome challenges, like curing a illness with out spending years researching it, so you might finally mix many lives of information into one “perfect” life.
In honor of the basic Bill Murray film Groundhog Day, these are referred to as “groundhogs” or simply “hogs” within the code.

The simplicity of Exoscript was a aid given how a lot we needed to maintain observe of. Generally, our system was: I blocked occasions out, Lindsay wrote them, then I edited and examined them within the sport. Lindsay pulled within the path of romance and longer prose, and I pulled in the direction of blunt gameplay-oriented selections, and collectively we discovered an amazing stability. We hashed out the trickiest elements of the narrative collectively on Discord.
We had notes and spreadsheets of information and jargon, and Exoscript was straightforward to skim for references, however writing Exocolonist actually solely labored as a result of each of us had been capable of maintain everything of the narrative in our heads for just a few years.
The Future of Exoscript

I discussed modding above, which I hear Exocolonist followers are already doing earlier than the sport is even out! They’re including their very own occasions and have even ported the syntax highlighting to different textual content editors. I attempted to make modding simpler by storing the story information within the filesystem in plain textual content, and if there’s sufficient demand, I’d implement Steam workshop help after launch.
Localization is one thing else we’ve wished to do however have been unable to thus far because of the monumental nature of Exocolonist’s narrative. But fan translations might also be doable sometime by way of a modding system. And I’ll be utilizing Exoscript once more for my subsequent (unannounced) sport.
I’m wanting ahead to seeing what gamers consider the sport, what tales they inform inside it, and the way it conjures up them creatively in their very own writing and artwork.
I Was a Teenage Exocolonist launched on Switch, PS4, PS5, and PC/Mac/Linux on August 25.
[ad_2]