The Prongleman Job (spoilers)

Some design notes with major spoilers below:

The Prongleman Job is a real-time game masquerading as a turn-based game. The rule that determines when Prongleman comes back is simple: he comes back after three minutes.

The game is mostly an experiment to see how hard it is to shift your thinking away from the convention that text games have no awareness of real time. After replaying a number of times, it becomes obvious that the turn count is changing. Based on tester feedback and the Club Floyd transcript, it seems like players have two main theories: that Prongleman’s return is determined randomly, or that there is some kind of AI that looks at what you’re doing and punishes or rewards you for the way you’re playing. (It seems to be pretty common in video games, that a game’s behavior intuitively seems more complex than it actually is.)

I wondered if, after playing 20 or 30 times, players would notice that the runs were all taking about the same amount of time. Interestingly, that doesn’t seem to register.

It’s pretty unfair to use a secret timer like this, so I tried to give a warning with the opening comment that the game is “unusual” or “not fair”.

I like the idea of using real time, since it allows for a different kind of challenge than text games usually have. Of course there are previous attempts to have real time in a text game, but not many, as far as I can tell. Border Zone is the only one I have played myself. The main thing I didn’t like about that game was the way you could be interrupted while thinking of your next move. I found it irritating. (You can even be interrupted in the middle of typing a command.)

So, in The Prongleman Job, the game doesn’t interrupt you. That interferes with the verisimilitude a little: you can wait as long as you want before typing the “last command”, so Prongleman might technically not return for a long time. But since most players type commands pretty frequently, I didn’t worry about it.

That’s related to the main hint in the game, which only some players will stumble on: if you don’t make your first move until after time has expired, Prongleman will return “immediately”, and you’ll get a note that “thieves shouldn’t stand around.” (It’s a giveaway, but I felt like I needed to say something!)

Most of my testers figured out the real-time element. Some of them got it from that hint, and one had an epiphany after reading that the grandfather clock “ticks ominously”. I think at least one tester just figured it out from observation.

The idea is that players will go through three stages:
(1) Observe that the limit is in real time.
(2) Figure out how to get the treasures individually.
(3) Put it all together and get everything done in one run.

Some testers got #1 and #2, but didn’t feel like they could play fast enough for #3. I actually think there’s plenty of time, if you have a good sense of your sequence of play (which might require some note-taking). I can pretty regularly finish in under 80 seconds, leaving 100 seconds to spare.

I hope others try and write some games with real-time challenges in the future.

Other notes:

There are two reasons that verbs are mostly dispensed with: first, because the game is about simple search-and-use, not detailed manipulation; and second, to save typing, which seems only fair in a time-limit scenario.

The Prongleman Job actually has nothing to do with Sugarlawn. (That’s not a knock against Sugarlawn, which is certainly worthy of imitation.) I was pretty well into writing it when the 2019 IF Comp opened, and when I noticed the obvious similarity (find valuables in a house with a time limit), I slapped my forehead and sent a note to Mike Spivey. I guess great minds think alike?

One reviewer wondered if “hard mode” is just a joke. No, it’s real! (And it’s possible to do!)


I had a great time with this game, and…

fell into the trap of assuming that everything was turn-based. When Prongleman appeared the first time, he was clearly way ahead of schedule, but I thought it was just a case of the PC having bad intel. Then, when I restarted the game, I saw a message about the game not playing fair. That message wasn’t there before! I now know that the messages are randomized, but at the time I jumped to the conclusion that the game was playing tricks with the Restart mechanism. (I may have played Jelly just before.)

I then proceeded to map out all the puzzles, and devise a master plan, putting off the mystery of when Prongleman returns. I very carefully carried out each step of my plan, and he got back home when I was only halfway.

One of the puzzles involves a randomized combination. After finding the note with the right combination, I saved the game. To which the parser responded: “A whole lot of good that’ll do you”, or something along those lines. Curious! But I still didn’t get it.

Then, when it was time to restore the saved game, Prongleman appeared after one move. That’s when it clicked.

It was a very nice epiphany and a very nice meta-puzzle! I’m not sure that it can turn into a subgenre, though, because everything hinges on the fact that you don’t think about the possibility of realtime effects. Once that’s on the table, it’ll be easy to notice. So I think this is a “maze of twisty little passages, all different”: A brilliant, innovative puzzle, good for one use.

The one use was excellent.


Thanks Linus!

I forgot about the save/restore handling. That functions as a clue, and there is also a cryptic response to UNDO. All time checks are based on the current UTC versus the UTC when you started the run. I guess there will be a period of several minutes in 2038 when the game doesn’t work right.

I agree, a subgenre of secret timers would be superfluous. I was thinking more of games that would use time limits explicitly. The game might state that you have two minutes to escape a room, or 15 seconds to answer a question, etc.

I’m not actually sure how accurate the Glulx time measurement is. You can get a time mark down to microseconds, but my own testing seemed to show that it wasn’t really that accurate. Maybe it depends on the interpreter.

1 Like