A postmortem on the Sahasrara Scoop, A Run on Epiphany
(This post was originally posted on Cohost.)
NSG's new Netrunner set, The Automata Initiative, is finally out! Which sadly means the Sahasrara scoop that Fern (@AceEmpress) and I did the writing for is no longer available on Sahasrara. But itās now available on itch.io - I sat down and ported all of the extra stuff the Discord bot could do to Twine, so you can (re)live the spoiler on mine and Fern's shared itch page.
Itās been a slightly wild four days since we released the scoop - the feedback has been so positive and weāre so thankful! Thank you to everyone that provided feedback, whether here or on Discord or elsewhere. :eggbug:
I promised in my last post that Iād write up a bit about how the game came together, and thatās what Iām gonna go over in this (fairly long) post. Massive spoilers for A Run on Epiphany follow.
Letās go through the journey of how this story got written.
How did we even get this spoiler?
Neither Fern nor I are members of NSG. Nor are we particularly big figures in the community: we donāt stream, we arenāt competitive enough to provide serious analysis of a card, and neither of us are particularly important tournament organisers. You might therefore ask: why were we let anywhere near a spoiler?
The simple answer is uhh just be friends with the right people I guess. My Netrunner claim to fame is building the local Warwick University community over the past seven(!) years, teaching the game and running tournaments so that Magic: The Gathering was not the only game played on campus. This apparently worked, given that three current members of NSG are from that community1 - including Ams, who does webdev and maintains the Sahasrara Discord bot.
A few months ago, I showed Ams a piece of fiction I was writing for our community unset - a story about what Apex was getting up to in the set2 - and she liked it enough to ask whether Iād like to write a choose-your-own adventure for Sahasrara as a scoop for the next set. So yeah, I basically earned the chance to write for a scoop via an unpublished funny Apex fanfiction3.
A few weeks before the release of the set, we got the spoiler for Starlit Knight. I immediately asked to bring in Fern (who is also part of the Warwick community) because I knew I wouldnāt be able to do justice to the more dramatic and ominous elements of the ice, and it was pretty obvious from the flavour text that this ice was going to be ominous.
How did we come up with the main idea?
We started with Amsā original prompt of a choose-your-own adventure game, alongside a comment from @Anzekay (narrative director at NSG):
So I guess the ābehind the scenesā premise is that itās a server containing Epiphany [the new NBN subsidiary] secrets, itās a weird/unusual/mysterious one. The player makes a run on it, has fun, runs into this new ice the Corp has just fired up and has to bounce after getting to see it. For the player POV itās just the weird server, the run, seeing the ice and bouncing with new info about this ice.
Unfortunately, this is where we were a little bit stuck: not being members of NSG, we didnāt have access to much of the narrative surrounding the set4 - we pretty much had a vague idea of the setting and what was present on the card to work with. Fortunately, we knew a fair amount about the Starlight Crusade due to the Worlds of Android setting book, and a fair amount about knights due to their prevalence in real life. So we lent into those elements: the chivalry and duels commonly associated with knights, but also the media manipulation present in Starlight and the hypocrisy mentioned in the flavour text.
We also had two useful secrets to work with here. First, nobody outside of NSG knew what the card was called. This had been used effectively in previous scoops: the previous gordianbla.de (some of my favourite ones) and Sahasrara scoops made finding out the name a key part of the game. Second, by being a Discord bot, we had access to various details about the player, including their name. Thus, we brought all of these elements together: a chivalrous-ish duel between you and the ice to guess each othersā names, which was rigged against you.
How did we turn this into a game?
With the main idea sorted, Fern and I looked at turning it into a game. We had a few requirements:
- As mentioned, it should be a choose-your-own adventure about exploring a mysterious Epiphany server. It should also be implementable in a Discord bot - so ideally no realtime elements and text-based.
- It should play to the writing strengths of Fern and I: theirs being ominous stuff and mine being lighthearted comedy stuff.
- It should be short, because hell hath no fury like a Netrunner player trying to get to a scoop.
This narrowed down how to implement the name guessing process. We considered free text entry briefly for the iceās name, but without spelling out the iceās name very obviously it would likely take a player forever to guess the name. Giving a list of names and choosing one is better, but it meant that players might accidentally skip most of the story if they happen to pick the right answer. So we simulated how the player might slowly build up their knowledge of the name, and added more and more specific guesses as the player progressed. We also made it so that players would still get the scoop even if they lost the duel, as having to replay the game a bunch to try and succeed in the duel would make it frustrating and no longer short.
Fern then sat down and came up with the game loop of the duel: have a collection of different approaches to choose from which could give you information about the iceās name, make a guess at the end of exhausting that approach, and repeat until the ice guessed your name. Fern suggested four approaches, of which we kept most of them: asking friends, observing the ice, observing the situation (this was replaced with Wheelsā Deals) and the clientās notes.
The question then became: how do we simulate how a player builds up knowledge of the name, particularly when the approaches could be tackled in any order? I had the idea of splitting progression into two stats, Starlight and Knight5, representing how certain the player was about that element of the ice. As players encountered exposition passages which provided information about one of those elements of the ice, their score in that stat increased and the set of guesses they had available to them grew. Each main section of the game (all of the approaches except the clientās notes) had an exposition passage for each stat, and each choice had a condition on whether it was available. Hereās a screenshot of some of the extremely clean code I wrangled together for this:
Iām sorry you had to look at that.
Once we had this key element of the game, we split the approaches between us and wrote them separately. We also split up a list of the things we wanted to communicate about the ice - things like its tagging nature, its connections to the Starlight Crusade and so on - which became the exposition passages that gave you points towards a stat. This is where we were able to play to our strengths, with me writing the more lighthearted and funny sections (Wheelsā Deals and the chatroom), and Fern writing the more ominous and exposition-y sections.
I want to comment on the Wheelsā Deals minigame, as it was the most complex of the four sections. You could ask questions in any order, but to force players to be economical with their questions, I introduced a question limit - you got to ask a maximum of three questions, and if you asked too many direct questions that could get Wheels kicked off the airwaves (implemented via a suspicion counter) you would be booted out early. Each exposition passage had two lines of questioning which would get you to that passage - for Starlight this was the passage about the shills harassing Wheels (either got via asking about pineapple on pizza or the slightly more suspicious route of asking about Starlight and bringing up your friendās problems), and for Knight this was the long passage mentioning Business Greg (either got via asking about the motorbike ride, or the slightly more suspicious route of asking about what she heard on the grapevine).
I donāt have loads to say about how I approached the writing from a āhowād you make a funnyā perspective, because Iāll be honest that my writing style is the same as my RPG GMing style - I improvise a lot in silly situations created by the game and players in RPGs, and my writing is basically thinking of a prompt (like a lawyer who is very paranoid about Epiphany) and improvising from there. I wish I had something more useful to say than that! Fern has said to me that they want to write something about how they approached their part of the writing, so keep an eye out for that on their cohost account @AceEmpress.
Once the approaches were written out and prototyped in Twine, we just needed to add the surrounding elements. I wrote the fairly lighthearted intro, and Fern wrote the ending, to give us this nice curve of a lighthearted run turning into āoh no this ice is dangerousā. I then assembled it together into a full Twine game, pictured below - despite my reaction to it, Anzekay informed us that it is relatively clean6.
To show that Iāve experienced character development while writing this post, Iām not sorry you had to look at that.
Once this was assembled, we showed off the Twine prototype to Ams and (very nervously at the time as neither of us are professional writers) Anzekay. And miraculously we made a great piece of fiction so they loved it. It then got ported over to Sahasrara (via a tiny macro-based programming language written by Ams for this express purpose), with things like delays between messages and embeds added to the game. After that we tweaked it due to helpful suggestions that came up during playtesting, screamed at a database that wouldnāt behave, and subtly published it. Thereās probably more I could say about all of this, but this post is already pretty long so Iāll leave it at that. Please ask any further questions you have in the comments or in my asks box!
A little bit of special thanks, as a treat
Phew, that was a long old piece huh. Thank you for reading through it! Our bewilderment about how well the scoop has been received still hasnāt worn off, even though itās been four days now.
As a special treat, here are a few bits of special thanks:
- Ams, for getting us onto this scoop in the first place, for being a great friend over all of these years, and for your tech work on the scoop. The idea of this being a choose-your-own adventure was genius.
- Anzekay, for being so excited by the scoop (which massively bolstered the confidence of two amateur writers), as well as helping with the finer narrative details of it. Also, the conversation we had about game design was really cool.
Okay I'm done for real now hope you enjoyed bye
So either they share my passion for the game, or more likely wanted to get into NSG so they could ruin my favourite decks.↩
Being a part of The Torment neXus, of course. God when I wrote that fiction, X wasnāt a thing and now it is. Why is real life a parody of fiction↩
Okay so technically it was off more than that, but itās much funnier to say itās solely due to Apex fanfiction↩
Anzekay admitted later that if theyād known we were writing a full piece of interactive fiction, they would have thrown all of the narrative documents at us! Ah well, thatās how it goes sometimes lol↩
You have two stats. (Can you tell that I really like one-page RPGs?)↩
Are narrative designers okay↩