Postmortem: Past Present

I want to thank @fos1 again for hosting the Winter TADS Jam. I think it’s a great event, and I hope we all can keep the torch burning for TADS as a platform.

Warning: Spoilers ahead.

The impetus for Past Present was a voice in my head saying “Will you just finish a damn game.” I have a number of half- and quarter-started games on my machine, all of which suffer from the same pattern:

  1. Game idea that sounds straightforward
  2. Game grows in size, scope, and complexity
  3. Game languishes in mid-development Hell

I know from other creative pursuits that there’s a lot to learn from shepherding at least one (1) project to completion, even if the end result is not mind-blowing or groundbreaking. This imperative—finish a game—wound up informing a lot of the creative and technical decisions I made for Past Present.

I started small: One room. It was too minimal for me. I went with a four-room—then five-, then six-room—house. It would be empty because the character is moving out, another decision which cut down the Decoration and Fixture count and permitted sparse room descriptions.

In one of my other half-developed games, I wrote a little mini-library of classes which make environmental effects and scheduled actions easy to code. I thought I might show that off for the Jam, and put it through its paces as well. That, coupled with adv3Lite’s sensory extension, led to the idea of the house being haunted by various noises which emanate from specific rooms. Quelling one haunted noise would open up more.

(I need to make this mini-library available. It’s on my to-do list.)

I landed on the idea that these noises are memories coming back to haunt the main character. Guilt is one of the most debilitating and sustaining emotions we have, so I decided the noises would echo his own guilt over his failed marriage. Nothing too wacky or original—again, keep it simple, keep it small.

As I worked through the particulars of the narrator’s backstory, I realized I was losing the generic You of IF, which gave me the excuse to use TADS’ first-person mode. However, since I’d written quite a bit of the text by this point, I had to go back and revise all the second-person prose. That cost me precious time.

What also cost me time was the time-travel device. For about ten minutes I considered writing code which could “transform” the six rooms from past to present and back as the player traveled through the shadow. That was an Incredibly Bad Idea, so the past and present houses are, in code, two regions. Now my “one-room game” was twelve rooms, and the second six had to be furnished. My clever idea of an empty house was now too clever by a half.

Does it all work?

I’m…pleased with it? I’m inspired by Miles Davis’ approach of using stillness to great effect, of holding a single mid-range note for several measures. I was thinking of this while I worked on the game.

There’s about a dozen nitpicks I have about the final product, but I won’t list them here. Most are in the categories of “I could’ve done this better…” or “If only I had more time…”

One problem I will mention: Beta-testers noted that the goals are serialized and there’s a bit of being led around by the nose. Guilty as charged. In earlier versions, multiple goals opened up as you progressed, but it wound up making the house like a clock store where every room has chimes and bells going off.

I considered expanding the game to a larger house split into several regions. At any time, there would be a goal available in at least two of the regions. I was, quite simply, out of time when I realized I couldn’t parallelize the goals.

I have half a mind to redo the game as a time-travel house mystery, where changing the past changes the clues in the present… Now you see why I have all these “straightforward” games languishing in mid-development Hell.

This is too long. Thanks for reading. I hope to have my second effort ready in time for Spring Thing.



This Past Present postmortem is as inspirational as the story. The story does work. It draws you in. Lead by the nose as you mention. A good thing. Your use of features available in Adv3Lite is very creative.

I make use of a similar object scheme in one of my “in development” maritime games. That game uses Inform6. Your breakdown of techniques may encourage me to finish it in TADS.

1 Like