A Long Way to the Nearest Star Postmortem

(This will contain spoilers.)

I started writing ALWNS in late 2019/early 2020. I’d had the basic concept rattling about in my head for a while, but going through the 2019 IFComp games was what inspired me to write it as a Twine game. I’d never written a game before (not counting some brief experimentation with Inform that went nowhere), and this was certainly an ambitious project for my first one, but the story started unfolding in my head the way it never had when I was picturing it as a linear narrative, so I decided to go for it.

I’d like to say that the reason this game spent almost three years in development was because I spent all that time polishing it to a mirror shine, but the truth is that I spent most of it forgetting the game existed for months at a time then working on it for a couple of weeks before getting distracted again. I am not a diligent writer. Still, I ended up putting a lot of work in it (including teaching myself a bunch of Javascript/HTML/CSS) and I’m fairly happy with how it turned out—it’s rare that a project lives up to the idea of it in my head, but this one mostly did.

The idea

Like a couple of people guessed, one of the main inspirations for ALWNS was a series of story-driven first person shooters first released in 1994 starring a rogue AI who caused the destruction of the space station they were on. Unlike those people guessed, that series was not System Shock: it was Marathon. (You may know it as either those FPS games that Mac owners played back in the 90s instead of Doom or as those old games Bungie made before Halo, depending on your age.)

One of the main influences Marathon had on ALWNS was the idea of presenting part of the game through computer terminal interfaces. Solis’ personality was another one—they may not be nearly as ambitious or self-assured as the megalomaniacal but oddly likable AI of the Marathon series, Durandal, but some of their sarcastic attitude certainly originates from him. It also sparked the original idea: in Durandal’s backstory, he was driven insane after being abused by his handler, whose name I very unsubtly referenced in my own game in a way that probably would have given away the plot if anyone had got it. The game never makes it clear what happened (Marathon makes very little clear), but I found myself thinking about that concept—just what could you do to someone when you can literally tinker with their brain?

The original idea for the game was simple: a typical “empty spaceship whose crew died in a catastrophe and whose AI seems very suspicious” scenario but with the twist that the AI wasn’t responsible for the catastrophe at all—they’d just been gaslit by their handler into believing they were. But while this would probably have been a more original take on the cliché than what ended up happening in the game, it wasn’t one that particularly appealed to me. I like writing villainous and morally ambiguous characters, so “actually they were a blameless victim all along” isn’t the sort of twist that holds much interest for me. I ended up going for a middle ground: Solis may have been manipulated, but they ended up killing people for real.

Was that the right choice? I don’t know. But I think it was the right choice for me. The original idea, as written by me specifically, would almost certainly have come out worse than the one I wrote.

(And while on the subject of inspirations and references, I’d be remiss not to note that the numerous people namedropping HAL 9000 were of course completely correct—specifically the book version, whose motivations are made more clear—and that half the planets mentioned in the game were named by throwing darts at the Star Control II starmap.)


So, the question was: if my story is based on a tired cliché and the only thing even remotely resembling a twist comes at the very end, how do I keep people interested? The answer, of course, was to go as hard on character as I could. (If Portal and System Shock have taught us anything, it’s that if your AI isn’t the most entertaining character in the game then you’re doing something wrong.)

I decided right away that I wasn’t going to bother keeping suspicions off of Solis. Of course it’s likely that they killed everyone on board. Even the PC basically says, “I’ve watched enough bad movies to see this coming.” No one was ever going to be fooled. My goal instead was to make the player like them despite their suspicion.

So, I ended up writing a whole lot of dialogue. Solis’ personality settled pretty quickly once I started—originally I’d envisioned them as a little nicer (and blander) but that proved less interesting to write—and once it did the conversations began to flow naturally. It’s always great when a character voice really clicks with you to the point where you don’t even need to think about what they’d say, you just instinctively know. The dialogue was a lot of fun to write (hence why there’s so much of it), and hopefully that made it fun to read, too. The PC’s personality developed alongside it. They needed to be someone who’d have a fun rapport with Solis, while still allowing a little bit of breadth for player choice. I was worried about that, but I think that balance came out fairly well.

One thing I think could have done better was make the conversations more responsive. I really wanted to have Solis react more to what the player does, which unfortunately was tricky because they can’t really start a conversation or see what the player’s doing. I also wanted the dialogue to have more callbacks to previous dialogue choices. There are some, but a lot are easily missable. There were also way more passages with only one possible choice than I wanted there to be.

But the thing I think I did well was conveying personality and character voice through disembodied text on a computer terminal. That was my main goal, and I think I succeeded.

So how did this all work out? Pretty well, I’d say! When the competition started, the more pessimistic part of me expected to be submerged in a deluge of complaints—Solis is so annoying, why is there so much dialogue with them? After all, there’s nothing more insufferable than a writer trying too hard to make you like a character. Instead, a lot of people seemed to really like and engage with them, which was incredibly rewarding to see. The character writing didn’t work for everyone, but nothing ever does, and the response was so much better than I anticipated. Most players went for Ending 5, which was what I’d hoped.

As an interesting note, Solis is only referred to in-game with “it” pronouns, more as a reflection of how AIs are viewed in the fictional society than as an expression of identity. That never gets brought up for a variety of reasons, but several reviewers still chose to use different pronouns for them, which was gratifying to see. (Also interestingly, a few people went with “she”, but none with “he”.)


This was the area where I had no experience. Writing and coding I could do, but designing a game? I’d never tried that before. So obviously I went with the best possible learning method: winging it.

I developed the story and the puzzles alongside each other as I wrote/implemented. I started out with the basic scaffolding—two objects to collect, three crewmembers, the murderer, the victim*, the investigator, and a layout for the ship—and started filling in the details as I went. I decided on the most obvious possible obstacle, locked doors barring the way to the objectives, and quickly fell into a workable pattern—find a crewmember’s datapad and get access to their room to learn more about them and get access to more of the ship. I think this ended up working pretty well. Every time I came up with a puzzle I’d try to think how I could make it fit in the plot, and every time I came up with a story beat I asked myself how to work it into a puzzle. The best example of this was the deck sequence, which in an incredible bit of serendipity ended up filling in several missing pieces in both the puzzles and the plot.

Originally, the puzzles mostly existed as a gating mechanism for the story, but as I went along they kept getting more complex and involved. The janitorbot in particular ended up way more deeply implemented than I’d planned, and I got a lot of feedback on that particular puzzle, both from people who loved it and from people who had trouble with it. Still, part of me kept thinking of the puzzles as a delivery system for the plot, so I was a little surprised when some reviewers praised them specifically. Overall, I’m pretty proud of how the puzzle design came out. It wasn’t perfect, but for a first time effort I think it went pretty well!

What worked less well was the interface, as several reviewers noted. This was the main complaint I got, and it was completely justified. Originally the game I’d envisioned was quite a bit simpler, and the interface was intended for that—the lab, the lower level, and the crew quarters in particular were meant to be a lot smaller and less involved than they ended up being—but at as the game grew in breadth and complexity the interface started to creak under the added weight, and at that point I was hesitant to make drastic changes even though I probably should have. That’s certainly something I’ll have to keep in mind in future projects.

* Protip: never give a murder victim a name that rhymes with “kill”. Learn from my mistakes.

Cut content

A couple of things didn’t make it into the game. At one point Solis would ask the player to tell them a story about their adventures. This would have been a short choice-based narrative. The basic plot would remain the same, but the setting would change depending on what the player chose as their home planet. I ended up cutting this, in part because it was a lot of work to write, in part because it felt a little too involved for something that had nothing to do with the main plot, and in part because I couldn’t get the tone right—no matter how I tried the story ended up being a little darker than I wanted.

Another thing that got cut was an epilogue set a few years after Ending 5, with the player and Solis on a heist together. I ended up deciding I’d rather leave the story more open-ended, a decision that had absolutely nothing to do with the fact that the deadline was looming and finishing the final conversation had slightly higher priority. (I may end up including this in a theoretical post-Comp release. I haven’t decided.)

The Comp

I must admit I was a little nervous about entering IFComp. Submitting my very first game, a 62k monstrosity when every single piece of advice on the internet says to start with something simple, to the biggest IF competition of the year? What was I thinking? I was going to get ripped to shreds!

Except… that didn’t happen. People liked my game! They said nice things about it! But even after several positive reviews, not in my wildest dreams did I think I was going to come in third, ahead of games I didn’t think I could possibly score higher than. I’m still reeling.

I’m incredibly thankful to everyone who played, judged, and gave feedback on my game. I’ve been following IFComp for a long time as a lurker, and getting to participate would have been a great experience even if I hadn’t placed so high.

What next?

So apparently starting to write an IF game opened the floodgates, and for the past year or so I’ve been besieged by a veritable horde of IF ideas. One of them is even halfway written, a parser game this time. So some of them may show up at a comp near you in the future. Maybe not anytime soon—I am not the fastest writer. But both writing IF and participating in a competition have been incredibly fun and rewarding, and I’d like to do it again.


This was definitely in my top 3 games! I’m just thrilled for you… it’s well-deserved.

I can’t wait to see what you do next.


From my very first conversation with SOLIS I thought : “I’m talking to HAL’s sarcastic yet playful younger sister.”

There’s nothing in the text to explicitly prompt this, but this was immediately how I (very strongly) perceived her character.

Probably some interplay of my subconscious biases with your great writing of SOLIS’ personality. I was aware that she was always “it” in the text, but I could not shake this perception. (Not that I tried very hard.)

It would be great to see more of your brainchildren show up in comps to come. I’ll be on the lookout for them.