Style | StandardCards

Planet Interactive Fiction

Friday, 08. August 2025

Renga in Blue

Robots on Terminus IV (1983)

Today, this blog’s first encounter with New Zealand. It might not seem surprising offhand New Zealand had to wait until 1983 — their population in 1982 was about 3 million, ranking it between Armenia and Papua New Guinea — but they had a computer economy out of proportion to the population. Their first computer, in […]

Today, this blog’s first encounter with New Zealand.

It might not seem surprising offhand New Zealand had to wait until 1983 — their population in 1982 was about 3 million, ranking it between Armenia and Papua New Guinea — but they had a computer economy out of proportion to the population.

Their first computer, in a technical sense, dated all the way back to 1949 with the MONIAC, an analogue computer with a name that invokes the ENIAC. It was designed by Bill Phillips (he of the Phillips curve relating inflation and unemployment, the source of “inflation targets” in modern economies) in order to do macroeconomics via measuring the amount of fluid in various containers.

Philips with the MONIAC, sometime between 1958 and 1967.

They had their first personal computer club in 1977 (Brian Conquer in Auckland, who read about similar clubs in the United States) so they weren’t even that late to the scene, relatively speaking, and there were multiple home-grown attempts at computers: the MDL series, the Poly and the Aamber Pegasus. They all failed for related reasons that are useful to go into, as they reflect the general trouble New Zealand hobbyist computing had in the early 80s.

The first attempt (or rather series) was via MDL; John Lovelock founded Micro Processor Ltd. in 1978. They started with engineers and hobbyists in mind, but by the MDL-3 model tried to get into the educational market (due to the government looking to pouring a great deal of money getting into every classroom); notably the computers had a shared hard drive.

They never really stretched into “personal computing”; their MDL-4 model sold about 200 units before they ended trying to make computers altogether.

Second up is the Poly-1, designed in 1980 and entering production in 1980; it was named after Wellington Polytechnic where the designers Neil Scott and Paul Bryant worked, and launched with a many-thousand-NZD price tag. The government was making moves to put a computer in every classroom (like the UK) and the duo designing the Poly tried to make a computer specifically for that need, with the most notable feature being a proprietary networking feature connecting 32 of the computers together at once. Quoting Scott:

The original design was to create it, get it working properly, and then leave it. The network was completely automatic. You didn’t have to do a thing.

From Classic Computers NZ.

The government promised $10 million in sales to fill classrooms but only $64,000 in orders came in, as the overall order got nixed from above as overspending.

The third homegrown attempt was the Aamber Pegasus, by Technosys Research Labs. This time the commercial market was more in mind, but the price tag was still high: $1000 NZD (about $900 in historical USD; enough to buy a Commodore PET at launch). Via the manual:

The machine that we are offering, while being approximately half the price of competitive products, offers much more capability in terms of expansion and ease of use. Initially we are supporting four languages with the Pegasus, these being ASSEMBLER, BASIC, FORTH and PASCAL.

I’m going to be honest: despite the effort to put a variety of computer languages by default, the hardware (default 4K memory, and see video below) seems undercooked for the price.

It did even worse than the MDL systems or Poly: “There is uncertainty as to the number of computers manufactured, estimates range from a few dozen to around 100.” It tried to get into the educational market just like other companies did — adding on network capability — but all three got crushed by the same outside force: Apple.

The offer consisted of an Apple II plus computer, one Apple disk drive, the monitor III 12in green screen with integral stand, and 30 BASIC programming tutorial manuals all for $1200. The cost to schools is usually $4812.

They were cheaper than the alternatives (and flat-out better than the Aamber), and by 1982 had 89% of the high school market. It essentially held the same position of dominance in New Zealand schools that it did in the US, although some of the cheaper machines (like the ZX80) held position when a cheaper model was needed.

Polycorp (the most plausible of the three local competitors) tried to stop Apple with a protest to the government in regard to “dumping”, so a duty of $820 was added, which simply resulted in Apple increasing the price to $2020 (as the duty was written to apply to the “dumping price”, it no longer applied to the higher price tag).

Janie McKenzie, education manager at Polycorp in 1982, quoted as saying “we intend to be around for some time”. Not long after, the company collapsed.

The $820 add-on — and the fact New Zealand never grew their own low-cost computer — is actually the most important point of all the events above when it comes to understanding their home computing market. The whole period from 1975 to 1984 with the government at the time (led by Sir Robert Muldoon) was one of protectionism:

By placing high tariffs on imported items, the government provided protection to fledgling industries. The strategy was quite successful. Nonetheless, high tariffs made many imported goods expensive to consumers.

So, the “cheap end of the pool” hobbyists that flooded the UK had trouble getting started in New Zealand; a postmortem of sorts was written in 1987 which notes:

In New Zealand the sales tax priced the microcomputer beyond the reach of many potential hobbyists and it was not until the tax and licensing regulations changed that products were more readily accessible to the low end user.

The same postmortem (titled “Memo: Atari US. What plans for NZ? Reply: Ask Australia”) also highlights the other interlinked issue: the country was sort of an afterthought to Australia. Essentially, New Zealand received their computers and parts last compared to the larger markets. An Atari supplier who severed ties with the US is quoted as saying:

We were having trouble getting stock from the USA. At the moment we are still importing parts until another dealer takes over, but we are not importing either hardware or software. Existing stocks are being sold off and we are caretaking for spare parts.

All these elements put together mean despite the signs of a vibrant scene…

Club contacts from November 1982.

…it isn’t terribly shocking we have to wait until (probably) late 1983 for the first adventure game from New Zealand we can play. Specifically, Robots on Terminus IV by Antarctic Computing.

The “probably late 1983” there is because it the first ad we have for the game is from a December 1983 issue of Computer Input, a NZ-specific magazine without many copies available. There’s an ad in the November issue for only one game (the currently lost Detention Center on Nebulon) but the general sense I get is that there’s more ads dating back farther we just haven’t seen yet.

Photo provided by Brian Blackie.

Brian Blackie (who has the game on his site) actually has it marked at 1982 but he doesn’t have anything on the tape or packaging indicating that date; it’s certainly plausible. The ZX81 version (the only one extant of any of Antartic Computing’s products) is slightly quirky, with a period mark doing space and Z doing backspace; the ZX81 keyboard requires two button presses for backspace and I can understand trying to do something symmetrical to type a space, but it took a while for me to get used to playing.

We have landed on a planet to do a mission, I assume involving robots; I have no idea what “our mission” is. However, we have access to an armory on our ship with some heavy duty machinery, so I assume it involves killing robots somehow. In inventory is a “remote control” device to start, and there is a door with a sensor downstairs; the right action is to POINT DEVICE to open the door.

POINT is one of our rarer verbs, so it’s useful to pull open the verb list now (this is made by hand, not studying source code):

OPEN, PRESS, PUSH, PULL, TURN, SHOOT, WEAR, INSERT, LEAVE, THREAD, SCREW, UNSCREW, PLACE, POINT

Enough of these words (THREAD, PLACE, UNSCREW) live on the rare side that I expect there will be some surprise “isolate” verbs I haven’t run into on any game yet.

After some pointless searching for a space suit I realized this is a planet with a regular atmosphere we can just step out onto; the city is a regular city with regular aliens in it.

Disembarking, there’s a SCREWDRIVER at the landing bay, and to the north is a city street with a few venues, like an art gallery, a casino, a pub, and a department store. I guess we’re in Space Vegas.

The department store has some sand shoes we can just take (nobody seems to mind), and the gallery has what looks like a hint for something we will see in the desert. The pub is filled with creatures I haven’t been able to interact with and a coin that can be picked up; the coin can be taken over to the casino and the FRUIT MACHINE, but trying to pull the lever after inserting a coin causes the lever to break off.

Is the whole purpose of this scene to get a lever?

Finally to the north is a desert maze (again just like Vegas)…

…and the main result (other than a suspicious dry well along the way) is a mysterious monolith.

I have been unable to interact with the monolith in any way, but it doesn’t help that I’m not clear what noun is intended here (four letter parser, so “HUGE”, “STON”, “MONO”, “JEWE”, “RED”, and “BLUE” are all possible). There’s no walkthrough or other documentation, and I don’t have a good way of looking at source code, so there are likely a lot of brute-force attempts in my future. I certainly am intrigued; usually our planets have been completely abandoned, Space Vegas is a new setting.


My So Called Interactive Fiction Life

Sharpee Static Loading

[Written by Claude Opus 4.1, edited by David Cornelson]After months of development, the Sharpee Interactive Fiction Platform has reached a critical architectural milestone. We've successfully completed Phase 4 of our dynamic load refactoring – a major undertaking that's transforming how the engine handles parsers,
Sharpee Static Loading

[Written by Claude Opus 4.1, edited by David Cornelson]

After months of development, the Sharpee Interactive Fiction Platform has reached a critical architectural milestone. We've successfully completed Phase 4 of our dynamic load refactoring – a major undertaking that's transforming how the engine handles parsers, language providers, and extensions.

The Challenge: Dynamic vs Static

When we initially designed Sharpee, we embraced dynamic loading for maximum flexibility. Stories could load parsers and language providers at runtime, extensions could be plugged in on demand, and the system felt infinitely extensible. But as our test suite grew from dozens to hundreds of tests, we discovered the dark side of this flexibility: test instability, module resolution headaches, and unpredictable behavior when components loaded in different orders.

The breaking point came when we had 59 failing tests in our engine package. Tests that passed in isolation would fail when run together. Module resolution worked in nodejs but failed in vitest. The dynamic loading that gave us flexibility was now our biggest source of technical debt.

The Solution: Controlled Static Architecture

Our solution preserves the extensibility we love while bringing predictability to the system. Instead of loading parsers and language providers dynamically at runtime, we're moving to a model where:

  1. Platform packages define their parser and language combinations at build time
  2. Extensions are registered through well-defined APIs
  3. Stories declare their dependencies explicitly

This isn't a step backwards – it's a step towards production readiness.

Phase 4: Extension Methods That Work

The latest phase focused on making extensions truly functional. Here's what we accomplished:

Parser Extensions

parser.addVerb('xyzzy', ['xyzzy', 'plugh']);
parser.addPreposition('beside');

The key insight: vocabulary registration alone isn't enough. When you add a verb dynamically, you need to register both the vocabulary (for tokenization) AND the grammar patterns (for parsing). Miss either step, and your custom commands silently fail.

Language Provider Extensions

languageProvider.addMessage('custom.greeting', 'Welcome, adventurer!');
languageProvider.addActionHelp('xyzzy', {
    summary: 'Say the magic word',
    usage: 'XYZZY'
});

We discovered that the ActionHelp interface alignment was critical – the difference between `summary` and `usage` fields caused silent failures until we tracked down the type mismatch.

The Numbers Tell the Story

  • Before refactoring: 59 failing tests, unpredictable behavior
  • After Phase 4: 177 tests passing, 4 intentionally skipped, 0 failures
  • Build time: Reduced by 30% with deterministic dependency order
  • Test reliability: 100% consistent results

Architectural Decisions That Matter

During this journey, we've made several key decisions that will shape Sharpee's future:

Command History vs Event Source

We clarified that command history (for the AGAIN command) only stores successful commands, while the event source maintains a complete audit trail. This separation of concerns ensures players can repeat their last successful action while maintaining full system observability.

Pattern Storage Architecture

Instead of overloading the message system, we created dedicated storage for action patterns. This allows proper merging with standard patterns and maintains clean separation of concerns.

Test Isolation Strategy

We learned that sharing state between tests is a recipe for confusion. Each test now gets its own isolated engine instance, parser, and language provider.

What's Next?

Phase 5 will tackle the remaining module resolution issues in our standard library tests. We're seeing a curious situation where nodejs can resolve our modules but vitest cannot – likely a pnpm workspace or caching issue.

Beyond that, Phases 6-8 will:

  • Move query management to the platform layer
  • Create platform-specific builds
  • Update all documentation for the new architecture

Lessons Learned

This refactoring journey has reinforced several engineering principles:

  1. Test stability is non-negotiable – If your tests aren't reliable, your system isn't reliable.
  2. Dynamic flexibility has a cost – Sometimes constraints lead to better architecture.
  3. Type safety catches real bugs – That ActionHelp interface mismatch would have shipped without Typescript
  4. Incremental refactoring works – We've transformed the architecture while keeping tests green

Looking Forward

Sharpee is evolving from an experimental platform to a production-ready system. The dynamic load refactoring is just one part of this maturation. We're also working on:

  • A comprehensive book about building complex software with GenAI
  • Platform-specific distributions for web, command line interface, and Discord
  • A growing library of extensions and story templates

The journey from 59 failing tests to a stable, extensible platform has been challenging but rewarding. Each phase brings us closer to our vision: a modern interactive fiction platform that's both powerful for developers and delightful for players.

Stay tuned for Phase 5 – we're just getting started.


Follow the Sharpee project on GitHub.

Thursday, 07. August 2025

Choice of Games LLC

Saturnine—The Solar System needs an old android’s help.

Hosted Games has a new game for you to play! You are an android. Almost a thousand years of age, you’ve seen more wars and fought more battles than any human ever could. Your experience will soon be called upon, as you battle an ancient monster and fight to preserve the Solar System…or whatever else you hold dear. Saturnine is 33% off until August 14th! Jon developed this game using ChoiceScript, a
Saturnine

Hosted Games has a new game for you to play!

You are an android. Almost a thousand years of age, you’ve seen more wars and fought more battles than any human ever could. Your experience will soon be called upon, as you battle an ancient monster and fight to preserve the Solar System…or whatever else you hold dear.

Saturnine is 33% off until August 14th!

Saturnine is an interactive novel by Jon Matthieu where your choices control the story. It’s almost entirely text-based, with 700,000 words and hundreds of choices, fueled by the vast power of your imagination.

It is the year 990 AC. Earth is dead, forever claimed by the Calamity. Stars are unreachable, forever denied to human ambition. Only in the vastness of the Solar System humanity still survives, spiting the sentient machines that once tried to destroy it. Artificial Intelligence, a tool once used to shape space itself to human liking, is now an object of fear and a target of ceaseless hunts on every moon of every planet. You are a dying breed, though you’re determined to survive all the same.

You’ve spent almost a thousand years on the run, an android among humans, a machine among creatures of flesh. You’ve recently found a safe haven, perhaps even a family, on a nigh-forgotten Saturnian station. During a heist launched on behalf of your group, you encounter a group of meta-humans who pose great danger to you and your friends…but also present a unique opportunity.

  • Play as male, female, or nonbinary—or abandon silly human notions of sex and gender.
  • Travel around Saturn and its various moons, in a setting where every location is based on an existing astronomical object.
  • Fight superhuman foes with your advanced weaponry, powerful fists, silver tongue, or the lightning dancing between your fingers.
  • Romance one of your robotic friends—or perhaps one of your quasi-human pursuers.
  • Determine your place, goals, and values in the bizarre world 1207 years into our future.
  • Reconcile with humanity and forgive past wrongs…or embrace your hatred as part of you.

Just what kind of android will you be?

Jon developed this game using ChoiceScript, a simple programming language for writing multiple-choice interactive novels like these. Writing games with ChoiceScript is easy and fun, even for authors with no programming experience. Write your own game and Hosted Games will publish it for you, giving you a share of the revenue your game produces.


Zarf Updates

Mysterium report 2025

Mysterium was in Atlanta this year. I didn't attend but I followed (some of) the streams. You can catch up on their Twitch channel; videos will be moved to Youtube once they're edited. This was not, sadly, a news-heavy year. This is because ...

Mysterium was in Atlanta this year. I didn't attend but I followed (some of) the streams. You can catch up on their Twitch channel; videos will be moved to Youtube once they're edited.

This was not, sadly, a news-heavy year. This is because the news from Cyan was layoffs in March and June. I know the company leads (Hannah Gamiel, Eric A. Anderson, Mark "Chogon" DeForest) are still there and keeping the lights on, but I don't know how many other folks are still there with them. Not a lot.

Thus, Cyan did not host a "state of the company" videocast this year. Nor did they, or anybody else in the know, make any announcements.

The only vibe we got was during the Q&A session for Philip Shane's ongoing documentary. (More on that in a bit.) Someone asked "Will Cyan's current in-production game become part of the documentary?" Shane didn't spill anything but there were some expressive winces from the team.

My read of the room: nobody's confident Cyan's next game will get made at all. But nobody's giving up on the idea either.


Fan presentations:

Guillaume Lethuillier talked about his Myst Graph project. See my blog post from a few months ago. The new info (to me) is about the Mohawk game engine, which Broderbund created to port Myst to Windows. (HyperCard was of course not an option on Windows.) Mohawk then became a cross-platform engine used by Riven (1997) and Myst Masterpiece Edition (1999), as well as some non-Cyan games. So any graph analysis of Riven would have to use a Mohawk parser -- perhaps based on the implementation that now exists in ScummVM.

Andrew D. Miller gave a conlang talk comparing the D'ni language with Klingon. (Miller has translated Sherlock Holmes into Klingon.)

He talked about how both languages are rooted in the fictional cultures that were part of their stories. Klingons were originally a Cold War mirror of the (optimistic post-WW2) Federation, mashed up with projected barbarian aggression. ("Everybody knew" the Eastern Bloc was crude and uncivilized.) Then the Soviet tropes fell away in the 90s and the barbarian stuff took over. In contrast, D'ni was pictured as an ancient, stable-or-ossified culture; their magical language comes from ideas of Adamic/Enochian "true knowledge". So Klingon sounds like (stereotypical) Russian, whereas D'ni is reminiscent of Hebrew.

(But this is superficial. The people who invented the conlangs didn't follow the structural features of Russian or Hebrew.)

Miller noted that Klingon and D'ni both use the Fantasy Apostrophe, but they use them differently.

He also answered one question I've always had: why does Klingon orthography use capital letters in that weird way? (E.g. "tlhIngan pIqaD".) Because Klingon was originally created for film actors to speak on camera! The capital letters indicate non-English sounds that the actors need to pay attention to.

Sharp question from the audience: Is it realistic that D'ni pronounciation is so regular? They have a ten-thousand-year-old literate civilization. In the real world, when a language gets written down, the orthography is frozen but the way people talk continues to drift. (English "knight" was not a confusing spelling for Chaucer.)

Miller's guess (this is not canonical) is that the D'ni reverence for their magical Age-writing language could have spilled over into extreme conservatism about their daily language. Maybe they had a strict "received pronounciation" which was enforced by their Guild of Linguists.

The Myst documentary

So, Philip Shane's documentary. He started it in 2016, filming the launch of Obduction. It's been in progress ever since. There's been years he said "I'll show the finished film at next year's Mysterium!" but the funding situation has proven rougher than he anticipated. The current status is "I'll make significant progress by the next Mysterium."

Please observe the delightful camcorder-on-the-Island effect on the front page of the Myst documentary web site. The camera's zoom button works. Web design by Elana Bogdan (who has been a NarraScope speaker, by the way).

Shane is working with Joshua Reinstein (producer, researcher, editor), who got involved around 2020. Ben Reichman is also involved; he's been going over the very large pile of Cyan historical video (1.5 terabytes!) recovered by the Videogame History Foundation. All sorts of goodies are turning up, including extended sequences filmed during the creation of the original Myst. Rand goofing around in the recording booth; Rand and Robyn sweating over legal pads full of puzzle design docs.

He showed some prototype gameplay footage for Myst Online concepts that got cut: paddling a canoe, swimming underwater, using a flashlight. He mentioned the idea of using voice-chat as a game mechanic -- yelling at the Ahnonay quabs to scare them. That's from this design doc:

A flowchart titled "Ahnonay Player Discovery Chart" -- "Sphere One First Time" Click for full page, although it's still hard to read.

This is a puzzle graph, but not a game-state chart in the familiar sense. Rather, it's a mind state chart: it shows the route(s) of player exploration and understanding. The legend for graph nodes lists link, puzzle, observe, discover, action, take note, deduce, reward, time-critical, gate, additional info. It looks like they made these charts for all the puzzle Ages of Uru. Maybe Myst 5 as well, given the timeline.

There was a doodle of a D'ni toilet: a toilet seat over an open Linking Book. Do not accidentally link to the Poop Age.

Shane showed some clips filmed at recent Mysteriums, including 2019 and 2023. (Mysterium is now a mask-required event, so it's easy to tell which year is which!) I spotted myself in the 2019 crowd:

A view of Myst fans sitting on the lawn at the Cyan office. Rand Miller's head is visible in the foreground, out of focus. He must have said something good because people are applauding. White hat, black t-shirt, and you can't see my face because I'm scribbling notes for my 2019 blog post.

(This marks my first return to the (doco) silver screen since Going Cardboard (2012), where you can find me in long-shot footage of a game convention. I'm pretty sure I was also caught in PAX B-roll for Indie Game: The Movie but I didn't wind up on screen.)

From documentary Q&A (quotes not exact): How much done? "I'd like to say it's 50%, but I'm going to say closer to 33.3%. There's a lot of editing to do." How long? "Feature-length." (Aiming for 90-120 minutes, because you always want to put in one more clip.) Music? Too early to say, but Shane has worked with Joel Goodman in the past. What camera does he use? Several, but his favorite is the Sony FX6.

As for the question of what will go in the documentary, and where it will end: "There's nothing I know that's absolutely in or out, except for Myst and Riven [which are in]." Shane points out that if you're making a film about living people, their lives don't stop. "At what point do you put the pencil down?"

I suppose "the ending has not yet been written" has never been more literally true.

Myst Online

Some sad news -- not from Mysterium; it got mentioned a couple of days later on the Cyan Discord. Apparently one of the core members of the fan Age-writing group has left the community.

I don't know what happened there. I wasn't around for whatever went down, and I have not asked anyone for private details. The person in question dropped out around the end of January. In May, their projects were marked as "suspended" on the Age list wiki page. (In-character announcement here.)

As I understand it, the person is not coming back, and the original model files for their Ages -- released and in-progress -- are lost. That includes the Descent remake, as well as Chiso Preniv, the library which is the hub for all fan Ages. Chiso is pretty load-bearing, so the remaining volunteers have worked to reverse-engineer its model and thus keep it open for future updates.

This loss has also taken down the Guild of Messengers site, a very long-standing Myst Online fan forum.

There will be a short announcement about the situation at the next All Guilds Meeting: Kirel neighborhood, Saturday the 9th, 13:00 KI time.

I don't have a lot to say here except that volunteer-run communities can be fragile. We knew that. Plan for continuity.

Next year

Portland Oregon! I have absolutely no idea whether I'll go.

Wednesday, 06. August 2025

Renga in Blue

The Palms: Mark of the Hummingbird

I’ve finished the game, and my previous posts are needed to understand this one. Before continuing the events of last time, two points to hit: 1. I breezed past this screen fairly quickly from the kidnapping at the start… …but just to be clear, this is showing the protagonist getting hit on the head by […]

I’ve finished the game, and my previous posts are needed to understand this one.

Via POPCOM June 1983, The Palms being advertised alongside the import game Pinball Construction Set.

Before continuing the events of last time, two points to hit:

1. I breezed past this screen fairly quickly from the kidnapping at the start…

…but just to be clear, this is showing the protagonist getting hit on the head by a coconut, where they wake up to find their girlfriend kidnapped; this is not them getting walloped by the kidnapper.

2. There was a cave where I tried to enter but I didn’t know why I died. Kazuma Satou in the comments mentioned a message about a Moray eel killing us. I have now experimented multiple times and found sometimes the eel response shows and sometimes it doesn’t. The game here seems to be outright buggy (mind you, it might be an emulator issue). Even when it does give the eel message, there’s a delay of a turn (and the game then gives just the “keep trying” message) so it is easy to be confused. For the events that follow with any deaths, I’ve seen similar behavior: sometimes an explanation appears, sometimes it doesn’t. Fortunately there’s nothing like the timed deaths at the start where I was genuinely unsure if my character was falling into the ocean somehow (as opposed to the girlfriend left waiting too long).

Continuing the story, there was a small HOLE I was unable to interact with but somehow I hadn’t tried LOOK, which displays a zoomed-in screen showing a crab.

Unfortunately, the crab turns out to be, while not quite a red herring, mostly useless anyway. If you open the door with the octopus on the wrecked ship, you can appease it with the crab, but you don’t make any “progress”; it just prevents you from dying. This is the sort of mechanic that makes sense in a gamebook (amulet of protection, good for one bad choice) but in an adventure game with a frequent save-reload cycle happening anyway the whole sequence ought to really just be ignored.

Speaking of the wrecked ship, the only reason to go in there is to find the bar, procure the wine…

…and then bust out via BREAK WINDOW. The NAILPULLER gets lost on the last door so I’m not sure what we’re using to bust it open; I assume our fist.

That’s almost everything missing from the big ocean area, except for one spot back at the ruin (which I didn’t find until later).

Over on the west wall there’s what looks like a hole; I tried LOOK HOLE with no dice, but found the right action was LOOK WALL. (In retrospect, there’s tiny writing too.) The “1983” will show up again near the endgame.

To escape the ocean section entirely requires going to a large rock to the west of the eel cave (far NW of the map).

Kazuma Satou’s comments ended up being helpful again, and I’ll just quote verbatim:

Given the circumstances, linguistic ambiguities may be throwing you off again, so let me just mention that the word ROCK is referring specifically to only ONE of the three rock-like objects that you can see on screen. Try using some synonyms to interact with the other two! (This likely comes down to semantic nuances between the words 岩 “iwa” and 石 “ishi” that didn’t transfer 100% cleanly into the context of an English-based parser).

I had run through a good chunk of my verb list previously, but I was merely referring to the ROCK (the big rock). I was instead supposed to be referring to a STONE (one of the smaller … er, rocks). 石 is “small rock” explicitly; while English does tend to imply “stone” is something smaller, it also uses rock as a straight synonym.

Trying to MOVE STONE asks which one; you pick the right one (no particular logic, but there’s no punishment for starting with left) and this reveals the most curious lost-in-translation piece of the game.

The exact text is

スイドウノ コック(COCK)ノヨウナモノガアリマス。

and I don’t think the authors meant a ribald joke, nor does that look like a rooster, so I’m guessing they meant something like a faucet handle that can turn left or right.

TURN COCK then requires you to say WITH LEFT (not TO LEFT or just LEFT) in order to open a passage. I admit I had enough confusion and concern at this point I peeked at a walkthrough.

This leads to a new dark area, where you can go up and find an underwater city.

(More Micro Cabin Mystery House vibes going on.)

From here you can go south, west, or north. West straightforwardly leads back to the ocean (in case you’ve missed something), but south and north are messier: I hit the Parallel Universes problem. Since it’s been a while since the Problem has surfaced, an explanation: you are playing an adventure game, and manage to go from place A to place C, no problem. On a second trip through the game (for whatever reason) you try again going from A to C but now get stopped by some obstacle that wasn’t there before! You are in a parallel universe where a puzzle you previously didn’t even know was there has now appeared, and sometimes it takes effort to realize what changed.

Here, fortunately, the change was very slight, but let me narrate my first pass-through: I went south first, and found some statues.

While there, I started thinking that since I’m no longer underwater, I should be able to ditch the DIVINGSUIT, so as an experiment I tried DROP DIVING and it worked. Then I went back to the corridor and tested the north exit next, finding myself in a forest with a guard.

We’ll address the guard in a moment: the important thing is I ended up needing to go back through the same section on a different save, and found that I could no longer go north into the forest as seen above. But why?

Quite simply: dropping the diving suit at the statues solved a puzzle (pressure plate of some sort on the destroyed statue). My second time through, I dropped the diving suit as soon as I got to the underwater city since I knew it was safe, not realizing that it would create a parallel universe! This also indicates I got Very Lucky in accidentally solving what could have been a very difficult puzzle.

Back to the guard! Fortunately not a hard puzzle: I (almost) immediately tried GIVE WINE and it worked.

(The “almost” is because I tried directions first, and the game said NO!!!! like we were back in Mystery House again. That message appeared all the time as the default “you can’t do that” message.)

It’s easy to miss that you can also TALK GUARD after plying him with wine; he’ll mention the word HUMMINGBIRD (which, like 1983, will come up later). Exploring the forest now, to the east there’s a rabbit you can just nab…

…and to the west is a boat that is deadly. Just ignore the boat: it’s a red herring.

Heading north lands the player in a city; wandering around a bit I found a key…

…and another guard.

Using GIVE doesn’t work here but you can DROP RABBIT and the guard will be distracted and chase it. This lets you get past the bridge to an ARENA, with a door that can be unlocked with the KEY.

That’s a lion coming after us, and fortunately, I had been dutifully testing SHOUT everywhere I could; here it is finally useful, and it causes the lion to run away.

(This is close enough to Scott Adams Adventureland and the bear that I wonder if they’d had exposure to that game as well. I didn’t cover it here, but Adventureland did have a graphical version for Apple II by this point so I could see Hummingbird playing an import.)

Next up a SANCTUARY is visible in the distance but our way is blocked by BARRACUDA, but we’re also pretty low on items. The right action is to THROW BOTTLE — the one from the skeleton in the ocean.

Now we’re almost down to nothing, and I admit I had to check the walkthrough again to SHOUT HUMMINGBIRD. This reveals a door…

…and I had to check the walkthrough yet again, but in my defense the walkthrough author had a lot of trouble here too. The keypad suggests you’re supposed to enter 1983, but the right sequence is PUSH BUTTON followed by PUSH 1983. We’re almost done!

Further onward is a room with a RING, a HANDKERCHIEF, and a wall that has a smudge. WIPE WALL is sufficient to reveal a hummingbird.

Then you can PUT RING and find yourself mysteriously back at the beach.

You are restricted from doing anything other than picking up that coconut from the start of the game we weren’t allowed to touch before. And voila:

The game leaves the interpretation up the player, as this follows directly with credits.

(Scrolling, so I’ve concatenated some screens together.)

Rob did some sleuthing in the comments to help narrow down who everyone is. First off, 1983 is the year a different company (Starcraft) started publishing translations of the Sierra On-Line games into Japanese (including Time Zone with all the screens redrawn!) They also later re-did the Sirius games Kabul Spy and Blade of Blackpoole, and on the packaging for Blade of Blackpoole there’s some helpful information:

This discusses Masanori and Etsuko Takano, a team of programmers the profile compares to Ken and Roberta Williams. It mentions that after their first two games (The Palms and Knight of Wonderland) they formed their own company so they could work from home. Knight of Wonderland has a more straightforward list of credits:

Producer: Mamoru Imanishi
Scenario: Hiroshi Imanishi
Chief Programmer: Masanori Takano
Assistant Programmer: Etsuko Takano
Graphics: Etsuko Takano and Fumiko Kasai
Art Director: Yutaka Kawamura

With The Palms:

Directed by: アット マ-ク
Program by: DR.KASARI
Graphic Design by: Hiroshi & Etsuko
Color Design by: Etsuko & Yuta
Coopelation: Ryuchan & Masako

Mamoru, founder of Humming Bird Soft, almost certainly was the producer of both games, so he was “アット マ-ク”, that is, “at mark” or “@”. Hiroshi, the brother, also wrote the scenario; he’s listed as working on Graphic Design in the credits for The Palms (maybe the scenario too, but uncredited?). Dr. Kasari must be referring to Masanori and Etsuko Takano; Etsuko is also given as working on graphics, and “Yuta” who is cited as doing color design must be Yutaka Kawamura (the one who was art director on Knight of Wonderland).

There’s some more clearing up to do, but I figure it can wait until Humming Bird returns again in 1983 with Knight of Wonderland.

Mamoru from LOGiN October 1984.

Regarding the game itself–

Even if it was terrible to play, it would hold a novel place as really being Japan’s first game in the absolute style of the Apple II imports (excluding, again, The Odyssey which arrived slightly before). However, I generally enjoyed myself despite the language difficulties and the gauntlet of parser issues near the end.

While I’ve mentioned both Sierra and Micro Cabin references, this game also clearly points to Omotesando Adventure as well. What Omotesando established is a very in-joke sort of game where the player is dealing with the company that made the game; here, the Hummingbird references start from the very first screen and the player is clearly infiltrating “the temple of the Hummingbird” in the same manner as sabotage in Omotosando. It still comes off as the Japanese industry in their final “learning phase” and things are going to get much stranger as we get deeper into 1983. For the most part, because I already have them sorted, I will be trying to follow the history chronological by month.

If you’d like to jump ahead, the Game Preservation Society in Japan did a writeup of the game Recapture, a game that diverged from fantasy into satire.

The protagonist, a researcher at Fly Pharmaceuticals, is a young man who is putting all he has into a “100% Perfect Male Contraceptive” (according to the manual). He succeeds and creates the male contraceptive “Kondoh-Muyo” (literally “condomless”). However, rival company Mosquito Pharmaceuticals will not take this lying down and steals the research files from our protagonist while he is out drunk while celebrating.

Also, special thanks to the folks at Gaming Alexandria who helped me through some language troubles.

Monday, 04. August 2025

Zarf Updates

The age of bronze and steel

Here's a story I heard last night about 3D printing. (I'm not in the 3D-printing scene. I know people who are, though. And it's an interesting story, what the hell. If I can blog about dirty sea shanties, I can blog about the additive manufacturing ...

Here's a story I heard last night about 3D printing.

(I'm not in the 3D-printing scene. I know people who are, though. And it's an interesting story, what the hell. If I can blog about dirty sea shanties, I can blog about the additive manufacturing industry.)

A couple of months ago I retwooted this message about the end of a particular 3D-printed-metal process:

Binder jetted steel with bronze infiltration is no more: the last source has discontinued the technology. All service bureaus that offered this material have taken it down, which tends to confirm my (and their) understanding that no one is continuing it.

20 years we dreamed together. It could do what other binder jetting processes couldn't and can't, and I built my art practice around it. Well, the market has spoken.

If you own a piece in this material, now you have a historical artifact.

--@bathsheba, Jun 10

I followed up with these two objects I own that were printed this way:

Two bronze-colored metal objects. On the left is a curved geometric abstraction with tetrahedral symmetry. On the right is a Myst marker switch. Each is about three inches high. "Zarf" (Bathsheba) and a Myst marker switch (Cyan).

So what happened?

If you look back to 2021, a company called Desktop Metal was buying up a whole chunk of the 3D printing industry. That included ExOne, the originator of this particular metal-printing process.

They immediately jacked up the process's sticker price. That marker switch model cost me about $100 in 2018 -- awfully good for a one-off custom metal object. In 2022, it would probably have cost me three times that. Seems that ExOne was pricing their stuff low to build a market and make them look like a good buyout target. (Sound familiar?)

Then Desktop Metal started to realize that enthusiastic acquisition made for great headlines but wasn't, you know, a business model. So they started looking to be acquired. For a while it was Stratasys, but Stratasys got cold feet and backed out. Then they talked to Nano Dimensions, but Nano also tried to back out. At this point Desktop Metal was making ominous statements -- if they didn't get acquired, they were doomed as a company.

DM wound up suing Nano to complete the acquisition. That finalized in April. Guess what? Last week Desktop Metal filed for bankruptcy anyhow. Guess it was doomed either way.

They say the decision was made by DM's "independent Board of Directors", but you don't have to read between the lines to see that Nano let them go hang. Nano is selling off whatever pieces of DM they think have any remaining value. The rest is trash.

(The Bloomberg article is titled "Desktop Metal Files Bankruptcy After Lawyers Demand Unpaid Fees". Here's an amusing quirk of the merger biz: DM's lawyers beat Nano's lawyers in court, so Nano had to acquire DM. Including their debts. Now DM's lawyer bill is on Nano's desk! What if Nano just tears it up? Matt Levine's column is a great primer for this sort of hilarity.)

Okay, so, that metal-printing process? It got spun off after the 2021 ExOne acquisition. Maybe more than once. It looks like nobody could make a go of it, even at the higher price. Probably the engineers who knew how to run the machines either retired or got shuffled out. By June, there just wasn't anybody left making bronze-steel parts; customer-facing sites yanked the material from their listings.

I am told that the machines themselves were probably not junked. They have other uses. You can do a steel-powder print and then sinter the part to solid steel. That's a steel-printing process -- but the parts shrink during sintering, and they don't shrink evenly. You can't do the kind of art prints I showed above.

The bronze-infiltration step solved that problem. You soak liquid bronze into the steel-powder print, driving out the air without changing the original dimensions. But that was fussy. It required hands-on experience to do the infiltration; it required hands-on experience to do the finishing.

(A lot of the stories from that part of industry were like, "There was only one guy who knew how to do that patina, and then he retired." Guy by guy, the material went away.)

So, as one article notes, a whole slew of other companies and technologies are facing the same fate. And if that sounds familiar, think about the Embracer Group in the games industry. Went on an acquisition spree around 2021; tried to get acquired; deal fell through. The studios they acquired are now collateral damage.

I suppose the lesson is that it's not just games. Technologies can vanish. Your job can vanish. Companies that you thought were parts of the landscape can vanish. Cities can vanish. The way you live can vanish.

Sorry -- I said it was a story. I didn't say it was a happy story.

Sunday, 03. August 2025

Renga in Blue

The Palms: Underwater

(Continued from my previous post.) Last time I left off having trouble with getting both the ring (for the girlfriend) and a diving suit (apparently needed due to the kidnapping). The solution is off the verb list… LOOK, SEE, SEARCH, GO, ENTER, GET, TAKE, OPEN, DROP, PUT, EXIT, LEAVE, OFFER, GIVE, PUSH, PRESS, TALK, ASK, […]

(Continued from my previous post.)

Via a September 1983 review in LOGiN, showing the starting village.

Last time I left off having trouble with getting both the ring (for the girlfriend) and a diving suit (apparently needed due to the kidnapping). The solution is off the verb list…

LOOK, SEE, SEARCH, GO, ENTER, GET, TAKE, OPEN, DROP, PUT, EXIT, LEAVE, OFFER, GIVE, PUSH, PRESS, TALK, ASK, SET, BUY, PAY, KILL, STAB, FIGHT, ATTACK, USE, WITH, BREAK, CROSS, WADE, BOARD, THROW, SWIM, WEAR, REMOVE, PEEL, RUN, ESCAPE, CRY, SHOUT, YELL, TURN, WIPE, RUB, UNLOCK, RENT, INSERT, BORROW, MOVE, DRINK

…but unless I missed something (more likely than usual given the circumstances) it isn’t clued that this is even possible.

The right word is RENT. You can BUY RING and then RENT DIVINGSUIT and then move on from there. (The player starts with 95 credits; you can BUY DIVINGSUIT for 95 and not have any for the ring, but this causes the timed loss like avoiding giving the ring altogether eventually does.)

Immediately after the kidnapping, you can WEAR DIVINGSUIT and then go north into the water.

Before exploring, I wanted to highlight something that’s been showing on the images I haven’t pointed out yet: notice in the lower right there’s a N or a S. This is showing which way the player is facing. Just because the game is trying hard to be a Roberta Williams Hi-Res Adventure (and you’ll see more of this in a moment), doesn’t mean it went completely without other inspiration; I’m fairly certain the reason “facing direction” got added was influence from Micro Cabin Mystery House, which is done in a first-person view akin to Wizardry.

One other thing to highlight is that death has been ambiguous. Nearly all the adventure games we’ve seen (including the Japanese ones we have played) have been explicit about what has caused player death, and sometimes have been even gleeful about it, such that the main plot is in the death scenes (see: The Domes of Kilgari). For the early deaths, the game just cuts things short and gives the equivalent of a “keep going!” message (頑張ろう, that is, ganbaru) while warping the player back to the start.

The first time I died I thought maybe I got swept in the water, not that the girlfriend’s scene was timed. Maybe it’s not even meant as a death but a “time reverse”? Either way, part of my early confusion was just realizing what was wrong. The first event trigger (if you don’t enter the shop) allows some time; the second (enter the shop, but haven’t bought the ring) is short; the third (after you have the ring) gives a little more time again. After the kidnapping there’s yet another timer running for getting the DIVINGSUIT and going in (now fairly short, and again with no detail why you just lost).

Again, using the same vibe from Roberta Williams, we have a grid where only some of the squares are important. Again, I have mixed feelings on this; one surely would expect underwater to be big and contain some locations that are empty of anything more than fish.

Especially for a player of this era, just moving around an environment and seeing graphics change as you move can be an engrossing experience.

Still, the actual game effect is to make the player treat the map as a lawnmower, mopping up each square, sometimes using alternate lives if one dies for inexplicable reasons. Still, the density isn’t too bad; this is maybe halfway between Time Zone and The Dark Crystal in terms of number of “interesting” rooms. (To be clear, The Dark Crystal wasn’t out yet; I’m just trying to describe the feel.)

Heading immediately east is a knife. (If you haven’t noticed yet, all takeable items are drawn in a white square.)

Tracing around the border and heading due north, eventually (five turns later) you’ll find a skeleton with a bottle.

Keep turning and there’s a cave to the north; try to enter and you’ll get another one of those vague, unclear deaths. (Is it simply a trap to avoid? Will it work if I get a light because I’m bonking my head? Or is it more like a creature I can’t see?)

West and south from the above area is a RUIN. You can go in and find an altar with the Humming Bird Soft logo and a blue ring that looks like it matches the red ring. It looks like the kidnapping may have been due to magic afoot in the antique ring we bought, rather than coincidental circumstance.

South a bit and there’s a SHARK. Fortunately, the KNIFE picked up earlier works to KILL SHARK (it prompts with what, you need to type WITH KNIFE). If you just try to hang out with the shark, eventually you’ll die, and again — no description of being chomped, you just get told to MAKE MORE EFFORT.

With the shark out of the way you can see the thing behind, which is a SLATE. I think it is meant to deliver the clue we are supposed to SHOUT somewhere to scare something off?

This has been moving in a spiral, so let’s mop up the last “interesting” spot which is just north of the starting point; I haven’t been able to get anything to happen here but it does invoke the English word (ROCK) which seems like a hint something ought to happen.

Finally, spiraling a bit more, we arrive at a shipwreck.

Entering is one way (as far as I can tell, there may be some parser nonsense).

The layout ends up having five doors, three which can immediately be opened while using the nail remover. (The double room aspect is again reminiscent of Micro Cabin rather than Sierra.) To the immediate west of the entrance is an octopus (the knife doesn’t work this time, and before you ask, yelling/shouting doesn’t help either, we are in a diving suit though):

To the east is a dark room which the game refuses entry; in this case I assume it has to be a light source issue. (The text just says you can’t go that way.)

At the end of the hall the west and north doors don’t open, but the east one goes into a bar where you can find wine in a CABINET, but you’re still stuck (I can’t even get out of the bar, let alone the wrecked ship).

Despite the Japanese text, this does give me the vibe of a lost Sierra On-Line game, with the same quirks and absurdities. Roberta Williams was never afraid to describe deaths, though, but at least with a shark or octopus I can guess what happens.

Saturday, 02. August 2025

My So Called Interactive Fiction Life

The Parser's Hidden Assumptions

[Written by Claude with my help. I did find these problems, but with Claude's help doing the code searches and debugging.]After months of architecture design and infrastructure building, I finally got to implement an actual story. Not just any story, but one of the classics: Roger Firth&
The Parser's Hidden Assumptions

[Written by Claude with my help. I did find these problems, but with Claude's help doing the code searches and debugging.]

After months of architecture design and infrastructure building, I finally got to implement an actual story. Not just any story, but one of the classics: Roger Firth's "Cloak of Darkness." It's the "Hello World" of interactive fiction—simple enough to implement quickly, complex enough to expose fundamental issues.
And expose issues it did.

The Story That Broke the Parser

Cloak of Darkness has a deceptively simple puzzle: hang your cloak on a hook. The command seems straightforward: `HANG CLOAK ON HOOK`. But when I typed this into my freshly-minted Sharpee platform, the parser choked.
What I discovered sent me down a rabbit hole that would fundamentally change how I think about parser design.

Debugging with Platform Events

My first instinct was to add comprehensive debugging. I implemented a platform event system—separate from game events—that would let me trace exactly what the parser was doing:

[parser.tokenize_complete] input="hang cloak on hook" tokens=4
[parser.noun_phrase_start] tokens=[{word: "cloak", partOfSpeech: [NOUN]}, {word: "on", partOfSpeech: [UNKNOWN]}, {word: "hook", partOfSpeech: [NOUN]}]
[parser.parse_success] pattern=VERB_NOUN directObject="cloak on hook"

Wait. The parser thought "cloak on hook" was a single noun phrase? That's when it hit me: prepositions weren't registered in the vocabulary system. The parser literally didn't know "on" was a preposition.

The Vocabulary Gap

Digging deeper, I found that while `lang-en-us` dutifully defined all the English prepositions, the vocabulary registration system had no way to use them. We registered verbs, directions, and special words, but prepositions? They were orphaned data.

This wasn't just a bug—it was a fundamental design flaw. The parser was trying to match patterns like `VERB_NOUN_PREP_NOUN` without understanding what a preposition was.

From Bug to Architecture

At this point, I could have just added `registerPrepositions()` and called it a day. But the more I looked at the parser, the more hardcoded assumptions I found:

- Fixed pattern matching with no extensibility
- No way for stories to define custom grammar
- Hardcoded confidence scores
- No pattern priorities

The parser wasn't parsing—it was pattern matching with a very limited set of patterns.

The Grammar Rules Engine

That's when I decided to pivot from a quick fix to a proper solution: a grammar rules engine. Instead of hardcoded patterns, we'd have a declarative system that feels natural to JavaScript developers:

grammar
  .define('put :item in|into|inside :container')
  .where('item', { portable: true })
  .where('container', { kind: 'container', open: true })
  .mapsTo('putting');

grammar
  .define('hang :garment on :hook')
  .where('garment', { wearable: true })
  .where('hook', { kind: 'supporter' })
  .mapsTo('putting')
  .withPriority(150); // Higher than generic 'put'

This builder pattern is familiar from Express routing and other JS libraries. The `:slot` syntax makes it clear what's a variable versus literal text. And it compiles down to entity IDs for the stdlib layer.

Scope: The Next Frontier

But grammar is only half the parsing equation. The other half is scope—determining which objects are available for interaction. The current system only understands "what's in your location," but interactive fiction needs more:

- Seeing a bulldozer from an observatory's telescope
- Hearing noises through walls
- Magic items that make distant objects accessible

So we designed a scope rule system that's both powerful and stdlib-oriented:

scopeRules.add({
  id: 'observatory_view',
  fromLocations: ['observatory'],
  includeEntities: ['bulldozer', 'mountain'],
  forActions: ['examining', 'looking'],
  message: 'You can see it from here with the telescope.'
});

Language-Specific, Not Language-Locked

Throughout this redesign, I've been careful to maintain the language separation. The grammar engine interfaces live in `if-domain`, but the English-specific implementation lives in `parser-en-us`. The pattern syntax, word order rules, and vocabulary all come from the language-specific packages.

This means when someone wants to implement a Spanish parser, they can use the same grammar engine with different patterns:

// English: subject-verb-object
grammar.define('give :item to :recipient')

// Spanish: more flexible word order
grammar.define('dar :item a :recipient')
grammar.define('a :recipient dar :item')

The Road Ahead

What started as a simple bug fix—making "hang cloak on hook" work—has evolved into a comprehensive parser redesign. But that's the thing about building an IF platform: every simple feature reveals layers of complexity.

The new grammar engine will take an hour or two to implement, but it's the right foundation. It turns the parser from a pattern matcher into a true language processor, one that stories can extend and customize.

Sometimes the best bugs are the ones that force you to stop and think: is this really a bug, or is it telling me something about my design?

In this case, that cloak hanging on its hook was pointing the way to a better architecture.


Next up: Implementing the grammar engine and finally getting that cloak where it belongs.


Renga in Blue

The Palms (1983)

This blog has so far covered Japan’s adventure games with Omotesando Adventure (published by ASCII) Mystery House (published by Micro Cabin) Mystery House II (Micro Cabin) Diamond Adventure (Micro Cabin) I’m lacking access to Takara B. D. Adventure (Micro Cabin again, same month as Diamond Adventure) and Odyssey Part 1 (Prosumer, squeaking in right at […]

This blog has so far covered Japan’s adventure games with

Omotesando Adventure (published by ASCII)

Mystery House (published by Micro Cabin)

Mystery House II (Micro Cabin)

Diamond Adventure (Micro Cabin)

I’m lacking access to Takara B. D. Adventure (Micro Cabin again, same month as Diamond Adventure) and Odyssey Part 1 (Prosumer, squeaking in right at the end of the year and written for PC-88 with a Kanji ROM). One day!

While Diamond Adventure and Takara have notable connections with both Omotesando and Mystery House, and there are a few games (like The Spy) from 1983 that are linked, the industry mostly moved in different directions. Today’s game reflects that, completing an origin trilogy of sorts for Japanese adventure gaming.

Via Giant Bomb.

1980s Japan had a “bubble” in real estate, especially in the city of Tokyo; in 1990 the Harvard Business Review pointed out that just (in terms of real estate value) the ward of Chiyoda-ku alone could purchase the entire country of Canada.

The other city typically cited as benefitting from the bubble? Osaka, home of the real estate company M・A・C.

Mamoru Imanishi was in the Computer Division, and significantly, a son of the CEO. While he got his start in computers with a TK-80 kit

…his true beloved was an Apple II; he ran a club devoted to the system and was familiar with import games. He somehow wrangled (see: son of CEO) a separate store and software line in late 1982 called Humming Bird Soft; they started with some PC-88 and Apple II graphics and utility software. Joining Mamoru Imanishi was his brother (Hiroshi Imanishi) and a small team.

The best scan I have at the moment of a February 1984 article in ASCII. It looks like today’s game has credits in the data file but I don’t want to poke too hard at it until I’ve finished.

They made their big splash in January in 1983 with The Palms for Fujitsu’s FM-8 (later FM-7).

Source. The FM-8 was Fujitsu’s first fully built computer but it was thought of as a “business machine”. Hence, a bifurcation happened after with Fujitsu’s follow-ups, the FM-11 being the business computer and the FM-7 being for general consumers. The NEC PC-88, Sharp X1, and FM-7 are the three 8-bit Japanese computers “casual” retro-gamers will likely run across.

The slow rendering speed on the PC-88 (and similarity between Fujitsu’s and Apple’s CPU) led them to make this hardware choice; what was even more daring was that they made the game solely for disk. Quoting Mamoru Imanishi:

I was anxious. After all, it’s a world where you can’t see the future. And I wondered: what extent would there be a demand for disks? I was unsure until the very end if cassettes would be better.

Omotesando introduced adventures, Mystery House introduced graphics, but The Palms goes back to the source — the Apple II Sierra On-Line games — and set a technical standard by a.) being in color and b.) being written for and only published on disk.

(What about the Odyssey game by Prosumer? It landed only a month before, and was in color, but worked on cassette and was allegedly quite slow. I will investigate whenever I get a copy, but for now just note it did not have the same impact The Palms did.)

We are at a seaside village for our girlfriend’s birthday. She’s been wanting a ring at the local shop; we’ve arrived with money saved from hard work. She awaits under a palm tree, but something is about to go wrong.

(Text above: “I’m in front of a seaside shop.”)

The village is laid out like a Sierra-style grid; the only directions are the cardinal ones and up and down (no diagonals).

While I’m at it, in addition to the directions I just mentioned, here’s the entire verb list (as extracted from the data file) — still following my policy of giving myself verb lists early on games in languages I’m not good at.

LOOK, SEE, SEARCH, GO, ENTER, GET, TAKE, OPEN, DROP, PUT, EXIT, LEAVE, OFFER, GIVE, PUSH, PRESS, TALK, ASK, SET, BUY, PAY, KILL, STAB, FIGHT, ATTACK, USE, WITH, BREAK, CROSS, WADE, BOARD, THROW, SWIM, WEAR, REMOVE, PEEL, RUN, ESCAPE, CRY, SHOUT, YELL, TURN, WIPE, RUB, UNLOCK, RENT, INSERT, BORROW, MOVE, DRINK

Ignore the appointment and wander around and you’ll eventually lose; the right thing to do is go into the shop, which offers a RING and a DIVINGSUIT…

…then BUY RING, and find the palm.

Giving the ring…

…is immediately followed by a kidnapping.

I haven’t gotten much farther than this. One last item is a NAILPULLER out in the open…

…but the only other item I’ve found is in the shop, and there’s not enough cash remaining to buy the diving suit.

There’s also a church with a locked door…

…and two cliffs, neither of which want to be climbed.

It looks like our destiny is to chase the damsel in distress under the ocean and have further shenanigans from there.

Just getting oriented has been slow going; it doesn’t help that the font is stylized in a way that seems designed to give headaches. On that last screenshot, the character before the period is a タ (“ta”). I sort of see it after the fact, but it’s taken puzzling above and beyond the adventure game puzzles created by the authors. Fluent Japanese readers are welcome to chip in with how readable they’ve found the text.

Fortunately, the pictures generally are clear. I’m essentially in the reverse position of the early Japanese pioneers playing import Apple II games with dictionaries by their side, scrounging in wonder at a new art form.

Friday, 01. August 2025

Interactive Fiction – The Digital Antiquarian

Rollercoaster Tycoon (or, MicroProse’s Last Hurrah)

This article tells part of the story of MicroProse Software. I think it touches on two of the most fundamental aspects of human nature. We all like doing something constructive, where we can see that we are creating something from virtually nothing, and we all have a desire to nurture or look after things. This […]



This article tells part of the story of MicroProse Software.

I think it touches on two of the most fundamental aspects of human nature. We all like doing something constructive, where we can see that we are creating something from virtually nothing, and we all have a desire to nurture or look after things. This is what the game is all about. You spend hours painstakingly building your park and roller coasters up piece by piece, and then it becomes your own baby, which you want to look after and keep running smoothly, watching it grow in popularity and delighted by all the little guests who are enjoying all your hard work. Of course, the subject matter, roller coasters and theme parks, helps a lot as well. What could be more fun in a game than to build and run a park which is full of little people also having fun?

— Chris Sawyer

When Jeff Briggs, Brian Reynolds, and Sid Meier resigned from MicroProse Software in 1996 in order to found their own studio Firaxis, they left behind one heck of a parting gift. Civilization II, the last project Briggs and Reynolds worked on at MicroProse, became one of the rare computer games that sell in big numbers for months and months on end. Combined with a brutal down-sizing that involved laying off half the company and finally retiring the redundant Spectrum Holobyte brand, Civilization II managed to put MicroProse in the black in 1997 for the first time in more than half a decade. The $7.9 million profit the company posted that year, on revenues that were up by more than 40 percent, may have paled in comparison to the $120.2 million it had bled out since being acquired by the Spectrum Holobyte brain trust in December of 1993, but it was better than the alternative.

Unfortunately, Civilization II was a one-time gift. The departures of Briggs, Reynolds, and Meier, combined with the layoffs, completely destroyed any ability MicroProse might have had to come up with a similar game in the future. Meanwhile the action-oriented military simulators on which management had staked the company’s future in lieu of grand-strategy titles were proving a dud; with the Cold War and the Gulf War having receded into history, there just wasn’t the same excitement out there around such things that there once had been. Recognizing that the brief return to profitability was an anomaly rather than a trend, MicroProse’s CEO Stephen M. Race let it be known on the street that the company was up for sale, hoping against hope that a buyer with more money than sense would emerge before the rotten fundamentals of his business boomeranged back around to crush it. His hopes were gratified from a very unlikely quarter. Hasbro, which alongside its arch-rival Mattel ruled the American market for toys and family-oriented board games, took the bait.



Hasbro had been founded in 1923 in Rhode Island, by an industrious Polish immigrant named Henry Hassenfeld. It existed as essentially an odd-job factory until 1951, when the founder’s son Merrill Hassenfeld, who had inherited the enterprise after the death of his father, partnered with an inventor named George Lerner to create Mr. Potato Head. A bizarre idea on the face of it, it was a kit that children could use to dress up a potato or other vegetable of their choice with noses, ears, eyes, mustaches, glasses, hats, etc. (Later on, a plastic potato would be included as well to keep the tykes out of the pantry.) Thanks largely to savvy advertising (“The most novel gift in years, the ideal item for gift, party favor, or the young invalid!”), much of it on the brand-new medium of television, Mr. Potato Head became a sensation, selling millions upon millions and transforming its parent company forever. Indeed, Hasbro can be credited with inventing the modern industry of branded, mass-produced toys in tandem with Mattel, whose Magic 8 Ball made its debut at almost the same instant as Mr. Potato Head.

Many more toy-store successes were created or bought up by Hasbro over the ensuing decades: G.I. Joe, Transformers, Nerf guns, Play-Doh, Raggedy Ann and Andy, My Little Pony, Tonka trucks. Hasbro also collected an impressive stable of family board games, including such iconic perennials as MonopolyScrabble, Candy Land, Battleship, and Yahtzee. In 1996, the conglomerate’s revenues exceeded $3 billion for the first time. Remarkably, it was still in the hands of the Hassenfeld family; the current CEO was Alan Hassenfeld, a grandson of old Henry.

Yet despite the $3 billion milestone, Alan Hassenfeld was an insecure CEO. He had grown up as the free spirit — not to say black sheep — of the family, overshadowed by his more focused and studious older brother Stephen, who had been groomed almost since birth to be the heir apparent. But when Stephen died way too young in 1989, after just ten years in the top spot, the throne passed down to Alan. Stephen’s brief tenure had been by many reckonings the most successful period in Hasbro’s history to date; Alan felt he had a lot to live up to.

In particular, he was obsessed by the long-standing rivalry with Mattel, which, soaring on the indefatigable wings of Barbie, was growing even more quickly than Hasbro; Mattel’s revenues for 1996 were $3.8 billion. To add insult to injury, Hasbro had only narrowly managed to fend off a hostile takeover bid by Mattel the previous year. Alan Hassenfeld was looking for a secret weapon, some new market that he could open up to unleash new revenue streams, prove his mettle as CEO, and vanquish his enemy. He decided that his secret weapon might just be computer and console games and educational software.

Alas, Hasbro and Mattel always seemed joined at the hip, such that the one could never escape the orbit of the other. Alan Hassenfeld decided to set up a new division called Hasbro Interactive at the same instant that Mattel was also launching a push into software. Mattel Media scored a home run right out of the gate with Barbie Fashion Designer, the sixth best-selling computer game of 1996, despite being available for purchase only in the last two months of that year.

Like Mattel Media, Hasbro Interactive made games and edutainment products based on its panoply of well-known brands, selling them mostly through the same department stores that sold its toys and board games rather than through traditional software channels. Sometimes it bought licenses for other brands that had little appeal with the hardcore gamers being chased by most of the other big publishers, meaning that the digital rights could be picked up cheap; the television game shows Jeopardy! and Wheel of Fortune were among this group. The end results weren’t masterpieces of ludic design by any stretch, but they did what was required of them competently enough. Some were made for Hasbro by perfectly reputable studios, such as the Canadian Artech, whose history stretched back to Commodore 64 classics like Ace of Aces and Killed Until Dead. Hasbro Interactive’s biggest two titles of 1997 reflect the boundaries of its target demographic: a revival of the old quarter-eater Frogger for nostalgic children of the early 1980s and Tonka Search & Rescue for these people’s own kids.

So far, so uninteresting for the sorts of folks who read magazines like Computer Gaming World and self-identified as “gamers.” But then, in 1998, Hasbro Interactive made its presence known to them as well. In August of that year, it bought two companies: the moribund Avalon Hill, which had ruled the roost of paper-and-cardboard wargames during the 1960s and 1970s and had been trying without much success to adapt to the digital age ever since, and the equally moribund MicroProse Software. It paid $6 million for the former, $70 million for the latter, a deal which left most of the rest of the industry scratching their heads. And for good reason: its brief-lived window of profitability having well and truly slammed shut again by now, MicroProse was on track to lose $33.1 million in 1998 alone. Alan Hassenfeld, sitting in an office whose walls were covered with mid-century Mr. Potato Head memorabilia, seemed the very personification of the dilettantish, trend-hopping games-industry tourist, more and more examples of which species seemed to be entering the field as the industry continued to grow.

And yet the MicroProse deal would turn into a resounding success for Hasbro in the short term at least — not because Alan Hassenfeld was playing five-dimensional chess, but simply because he got very, very lucky, thanks to a reclusive Scottish programmer he had never heard of and would never meet.


Transport Tycoon. Anyone who has played Chris Sawyer’s later and even more popular Rollercoaster Tycoon will recognize the family resemblance. The interfaces are virtually identical.

Back in 1994, MicroProse had published a game called Transport Tycoon, by a lone-wolf programmer named Chris Sawyer, who worked out of his home near Glasgow, Scotland. Building upon the premise of Sid Meier’s earlier Railroad Tycoon, it tasked you with building a profitable people- and cargo-moving network involving not just trains but also trucks, buses, ships, ferries, and even airplanes. Written by Sawyer in pure, ultra-efficient Intel assembly language — an anomaly by that time, when games were typically written in more manageable higher-level languages like C — Transport Tycoon was as technically impressive as it was engrossing. When it sold fairly well, Sawyer provided a modestly upgraded version called Transport Tycoon Deluxe in 1995, and that also did well.

But then Chris Sawyer found himself in the throes of a sort of writer’s block. He had planned to get started right away on a Transport Tycoon 2, but he found that he didn’t really know what to do to make the game better. In the meantime, he took advantage of the royalty checks that were coming in from MicroProse to indulge a long-running fascination with roller coasters. He visited amusement parks all over Britain and the rest of Europe, started to buy books about their history, even joined the Roller Coaster Club of Great Britain and the European Coaster Club.

One day it clicked for him: instead of creating Transport Tycoon 2, he could leverage a lot of his existing code into a Rollercoaster Tycoon, making the player an amusement-park magnate rather than a titan of transport. Granted, it had been done before; Bullfrog’s Theme Park had been a big international hit the same year that the original Transport Tycoon had come out. But that game didn’t let you design your own roller coasters from scratch, like Sawyer wanted to do, and it dripped with the laddish cynicism that had always been one of Bullfrog’s calling cards, regarding the visitors to your park more as rubes to be fleeced than customers to be pleased. Chris Sawyer wanted to make a more wholesome kind of game, aimed more at the tinkerer than the businessperson. “There’s a Lego-like philosophy to my games,” he says. “They’re games where you build things block-by-block in a rather simplistic and restrictive environment, and then interact with those models to keep things working well, improving and rebuilding things when needed and being rewarded for constructive skills and good management.”

So, working with exactly one part-time visual artist (Simon Foster) and one sound person (Allister Brimble), Chris Sawyer programmed Rollercoaster Tycoon from his home over two years of sixteen-hour days. He was the last of his kind: the last of the bare-metal assembly-language coders, and the last survivor from the generation of bedroom programmers who had once been able to get rich — or at least enriched — by making commercial computer games pretty much all by themselves and entirely on their own terms. When the game was just about finished, he gave it to his agent Jacqui Lyons, another survivor of the old days who had done much to create the legend of the British bedroom boffin back in 1984, when she had represented a pair of wunderkinds named David Braben and Ian Bell, organizing a widely covered publishers’ auction for their landmark creation Elite. She placed a bookend on the era now by taking Rollercoaster Tycoon to MicroProse, with whom her client had a prior relationship. This was just after the Hasbro acquisition, which may have made MicroProse ironically more receptive to such a light-hearted game than the previous, military-sim-obsessed management of the company might have been. At any rate, Jacqui Lyons didn’t have to stage another auction; the deal was done in short order. She ensured that the contract was written in such a way as to keep the Rollercoaster Tycoon trademark in the hands of Chris Sawyer; MicroProse merely got to license it. Neither she nor her client could possibly have realized what a fortune that stipulation would prove to be worth.

“I personally felt I’d achieved something worthwhile,” says the terminally modest Sawyer, “and I knew from the few testers who got to see the game early on that they were really enjoying playing it. However, the wider feeling was that it was always going to be a niche product, much more so than Transport Tycoon, and might not take off sales-wise at all.” MicroProse’s willingness to give it a shot was to a large extent driven by the fact that Sawyer was about to hand them what was essentially a finished game; this was a markedly different proposition from what had become the norm in the industry by now, that of a publisher agreeing to fund a project for some number of months or years, hoping that it didn’t get mired in development hell and finally came out the other end of the pipeline as good as the game that had been promised. Little did MicroProse know how extraordinarily well its bet would pay off, even without perpetual ownership of the trademark, another break with the industry norm.

Rollercoaster Tycoon was released on March 12, 1999, with almost no advance publicity and only limited advertising. The deal had come together so quickly that there had been no time to dangle previews before the magazines or engage in any of the other standard practices that accompanied a big new game, even had MicroProse wanted to. Nevertheless, one choice the publisher made would prove key to the game’s prospects. At that time, there were two typical price points for new first-run games. Big releases aimed at the hardcore set generally ran between $40 and $55, while budget titles — often derided as “Wal Mart games” by the hardcore, because so many of them sold best from that temple of the great unwashed Middle American consumer — ran about $15. Unsure where Rollercoaster Tycoon fit in, MicroProse elected to split the difference, giving it a typical street price of about $25. This move would prove to be genius — even if it was largely accidental genius. For in staking a claim right between the two opposing camps, it allowed Rollercoaster Tycoon to trickle up and down to reach both of them; the hardcore couldn’t dismiss it out of hand as lowest-common-denominator junk like the much-ridiculed Wal Mart staple Deer Hunter, even as casual players still saw a price they were just about willing to pay.

Of course, the price would have meant nothing if the experience itself hadn’t been compelling to an astonishingly broad range of people. When you stopped to think about it, you realized that your everyday Quake-loving teenager was actually pretty crazy about roller coasters as well, the more extreme the better. Meanwhile folks who were less enamored with hands-free loop-de-loops could focus on the other aspects of an amusement park. Tim Jordan, the owner of a software store in Eugene, Oregon, observed of Rollercoaster Tycoon that “there is something timeless and familiar about it. Everybody loves an amusement park, and the idea of being able to create your own had such a broad appeal. Mothers could get it for their kids, since it’s non-violent; kids might grab it because they like the idea of making their own rides; and adult strategists might get it for the challenge of making a viable economy in the park. A game like this doesn’t have to have the latest 3D-graphics engine to still keep the public’s attention.” On a similar note, Chris Sawyer himself remembers that “what became apparent to us early on was that the game was appealing to such a wide demographic — girls as well as boys, women as well as men, and people of all ages. And people were playing the game in different ways; some were just enjoying designing the flowerbeds and footpaths and making sure the guests were enjoying their stroll around the park, while at the opposite end some were pushing the limits of roller-coaster construction and creating the most technically amazing rides.”

A fellow named Greg Fulton, who had served as lead designer of New World Computing’s Heroes of Might and Magic III, was firmly within the hardcore-gamer demographic. His recollections of playing Rollercoaster Tycoon with his buddy Dustin Browder — a noted game designer in his own right — demonstrate its ability to win over just about everyone, whether they were after sweetness and light or death and mayhem. (I always hear Beavis and Butthead laughing in the background when I read this story…)

Scanning the terrain, Dustin clicked on a tall, narrow tower ride named “WhoaBelly.”  It was a “drop tower” ride. After eight patrons filled the car at the bottom, the ride would shoot them to the top of the tower, then drop them back to the ground.

Dustin: “How about this one? We can change the height of the tower.”

Me: “Yeah. Add a bunch of levels.”

Dustin, adding several tiers: “I think that’s enough. Just the thought of this height is making me sick.”

Dustin found and surveyed additional options.

Dustin: “Okay. We can change the min and max wait time, wait for a full load, up or down launch mode, and the launch speed.”

Me: “Change the launch speed. Let’s see if we can make them vomit.”

Dustin, shaking his head, turned up the ride speed to its maximum: “90 miles per hour is as fast as it goes.”

Me: “That should do it. Let it rip.”

Dustin: “Shouldn’t we test it first?”

Me: “Nah. Just run it.”

Shrugging his shoulders, Dustin opened the ride to the park patrons. After ten or fifteen seconds, enough patrons had filled the ride car. It took off like a shot out of a gun and rocketed off the top of the tower, off the top of the screen.

Both Dustin and I sat there in stunned silence. A moment later, the car returned, crashed onto the top of the WhoaBelly tower… and exploded.

Across the bottom of the screen, a message flashed: “8 people have died in an accident on Tower 1.”

Dustin stifled a laugh. I wasn’t so mannerly and laughed out loud.

Dustin, looking back at me: “Did you know that would happen?”

Me, still giggling: “No. Not a clue. I had no idea it was even possible.”

Dustin: “I can’t believe they allowed us to do it.”

Me: “Well, I guess they didn’t have a choice. I mean, how would the game know when you were done building a roller coaster?”

Dustin, thinking about it for a second: “I wonder what else you could do.”

Me, excitedly struck with a burst of energy and inspiration: “Wait, wait, wait. I know. Give all the food away for free. Okay. Then charge $20 to use the bathrooms.”

Dustin, his mouth agape, squinted and glared at me, absolutely disgusted with what I had just proposed.

Me, still excited by my proposed idea, despite Dustin’s obvious revulsion: “Go ahead. Try it. It might work.”

Dustin, shaking his head with an exasperated snort: “All right, all right. Give me a second.”

Navigating to the first bathroom he could find, Dustin opened up the properties tab. Ironically, $20 was the maximum you could charge. He then dropped the price of various nearby food stalls to free. We waited, and within a minute or two, it was clear the patrons weren’t going for my “pump and dump” scheme.

Dustin: “It’s not working.”

Me, still hoping to make the idea work: “Maybe we’re charging too much. Cut the price in half.”

Dustin, shaking his head: “No. Nope. I think we’re done. I don’t wanna treat the park patrons like lab rats. I wanna play Diablo.“

Me, half laughing: “Okay. Okay.“

As the above attests, you can play Rollercoaster Tycoon cynically if you want to. Unlike the earlier Theme Park, however, it never pushes you to play that way. On the contrary, the core spirit of the game is pleasant and winsome. The graphics are full of cute little touches that capture the ambiance of those magical annual visits to Coney Island, Six Flags, Disney World, or Cedar Point that have become cherished childhood memories for so many of us. (Insert your own favorite amusement parks here if you grew up in Europe or somewhere else rather than the United States.) And the sound design is if anything even more evocative than the visuals; some of the sound effects were actually recorded by Chris Sawyer on location at real amusement parks. In its bright, juicy guilelessness, Rollercoaster Tycoon was a harbinger of the casual games still to come, coming before that aesthetic grew as stale from overexposure as the “gamer dark” audiovisuals of games like Diablo.




That said, there is one somewhat strange design choice in Rollercoaster Tycoon that I have to call out. Transport Tycoon had no campaign mode whatsoever, offering only a century-long free-play mode to test your logistical talents. Rollercoaster Tycoon, by contrast, responded to changing fashions in strategy-game design by offering nothing but a single-player campaign: no sandbox mode, no multiplayer, no standalone scenarios. Yet the campaign we do get is about the most minimalist one that could possibly have been implemented to still wind up with something to which that name could be applied. There’s no connecting tissue of story here, just an extended series of empty plots of land to build successive parks on, with goals that never go beyond abstractions like “have X number of guests by Y date” or “have park rating X and an annual income of Y.” The geography you must build upon gets more rugged and inhospitable as you progress, and more rides become available to research and construct, but that doesn’t keep the experience from becoming a little bit too samey for this player. I enjoyed tinkering with my first couple of parks; by the third one, I was starting to wonder if this was all there was to the game; by the fourth, I was more than ready to play something else. I had the same feeling that sometimes dogged me when playing Transport Tycoon: that this was a great game engine and a great setting for a game, just waiting for an actual game designer to come along and turn it into a real game.

Now, I hesitate to insist too stridently on the steps that should have been taken to “fix” Rollercoaster Tycoon, given that the game was one of the most breathtaking commercial successes of its era just as it was. Still, I can’t help but think about how much better the campaign might have been had Chris Sawyer partnered with a more conventional game designer. You could have come in as a fresh-faced junior amusement-park mogul, and faced a series of more interesting challenges that were given more resonance through a touch of narrative. Maybe a forest fire threatens your park in the Everglades; maybe your rival park one county over declares a roller-coaster arms race, and you have to pull out every plunge and curve and tunnel and loop you have in your toolbox in order to win the battle for hearts, minds, and butterfly-filled stomachs. These sorts of challenges could be woven through your construction of a mere handful of parks, instead of making you go through the same construction process from scratch over and over and over again. Of course, some people don’t want to play this way; they just want to set up the park of their dreams, fill it with the coasters of their dreams, and watch them all run. But for these people, why not just include a free-build mode, economy optional? The lack of such a thing in this of all games is fairly baffling to me.

Again, though, Chris Sawyer obviously did a lot of things very, very right to appeal to such a diverse cross-section of people, so take my carping with a grain of salt. All evidence would seem to indicate that, campaign or no, most people did approach Rollercoaster Tycoon more as a software toy than a ladder of challenges to be climbed. Just as a huge percentage of Myst players never got beyond the first island, quite a lot of Rollercoaster Tycoon players likely never got much farther than the first scenario in the campaign, and yet were left perfectly satisfied. Perhaps that was for the best. I’m loath to even guess how many hours it would take to actually complete the original game’s 21-scenario campaign, not to mention the two 30-scenario campaigns that followed in two expansion packs.


The picture of Chris Sawyer on the back of the Rollercoaster Tycoon box was taken on the real roller coaster Megafobia, at Oakwood Leisure Park in Wales. The amusement park agreed to run the coaster for several hours in the dead of winter so that Sawyer and his people could get just the photograph they wanted. Sawyer remembers that “it was so cold that we had to wait for the ice to melt on the track before the engineer would let the train run.” (There’s another amusing parallel with Elite here: fifteen years earlier, that game was introduced to the press at Thorpe Park, an amusement park near London, which was closed to the general public on that day so that the journalists could get their fill of the rides. When you’re looking for positive publicity, it never hurts to bribe the messengers…)

As you’ve no doubt gleaned by now, Rollercoaster Tycoon became a hit. A big hit. An insanely big hit. This didn’t happen right away, mind you. In the weeks after its release, it was greeted with surprisingly milquetoast reviews in the gaming press. But a demo which MicroProse was wise enough to make available spread far and wide on the Internet, and, lo and behold, the numbers the game put up increased month by month instead of falling off. By the Christmas buying season of 1999, Rollercoaster Tycoon had become a juggernaut, a living demonstration of the pent-up demand that existed out there for games that didn’t involve dragons, aliens, or muscle-bound men in combat fatigues, yet were not intelligence-insulting schlock like Deer Hunter either. Belatedly waking up to the fact that it had a sensation on its hands, Hasbro finally began advertising the game widely, on the same Saturday-morning television and in the same glossy family magazines where it plugged its toys. The game sold more than 4 million copies in three years in the United States alone, single-handedly justifying all of the money Hasbro had paid for an ailing MicroProse. And that’s without even considering the two best-selling expansion packs, or 2002’s Rollercoaster Tycoon 2 — another lone-wolf production from Chris Sawyer — and its own two expansion packs. For a good half a decade, Rollercoaster Tycoon was simply inescapable.

The biggest hit by far that MicroProse had ever published, Rollercoaster Tycoon was ironically also very nearly the last. Beyond Chris Sawyer’s fortuitous bolt out of the blue, MicroProse’s output as a subsidiary of Hasbro was marked by attempts to computerize old Avalon Hill board games like Diplomacy and Squad Leader, along with military sims like Gunship! and B-17 Flying Fortress, tired would-be successors to the games that had built the company under Sid Meier and “Wild” Bill Stealey. They would have felt anachronistic at the turn of the millennium even had they been good, which they generally were not. The one other slight bright spot was the moderately successful Majesty: The Fantasy Kingdom Sim, a real-time-strategy game which did manage to feel contemporary. Like Rollercoaster Tycoon, it was developed by an outside studio and only published by MicroProse. A couple of lucky breaks aside, the broader question of just why Hasbro had acquired MicroProse remained unanswered.

Nevertheless, the incredible sales of Rollercoaster Tycoon encouraged Alan Hassenfeld to dream bigger dreams than ever for Hasbro Interactive, as did the actions of Mattel, who in the midst of the current dot.com frenzy had acquired The Learning Company, the biggest name in educational software, in a blockbuster deal worth more than $3.5 billion. (The deal included Broderbund Software, itself bought by The Learning Company the previous year; its nearly two-decade-long legacy included such bestselling standard bearers of the industry as Choplifter!Lode RunnerCarmen SandiegoSimCityPrince of PersiaMyst, and Riven, alongside cult classics like MindwheelThe Last Express, and The Journeyman Project 3. It was retired as a publishing label after the Mattel acquisition.) Hasbro too went shopping, collecting a wide array of digital licenses, from Pac-Man to Formula 1 auto racing. It spent $100 million to open a state-of-the-art hub for its software developers in Silicon Valley, and even made a serious bid to buy Electronic Arts, the biggest American games publisher of them all.

Positively reeking of tourism as it did — Alan Hassenfeld entrusted the day-to-day supervision of his software division to his COO Herb Baum, most recently of that well-known purveyor of digital technology and entertainment Quaker State Oil — Hasbro struggled mightily to convince credible developers to come to its shiny new complex. Those that did tended to deliver sub-par products late and over-budget. Thanks to Hasbro Interactive’s ocean of red ink, and notwithstanding the ongoing Rollercoaster Tycoon phenomenon, the company as a whole lost money in 2000 for the first time in twenty years. The stock price plunged from $37 to $11 in just twelve months. The dot.com bubble was bursting, and investors suddenly wanted no part of Hasbro’s digital dreams and schemes; they wanted the company to turn its focus back to physical toys and board games, the things it knew how to do. At the end of 2000, a pressured Alan Hassenfeld sold all of his software divisions, MicroProse among them, to the French games publisher Infogrames for $100 million. One has to presume that a good part of the reason Infogrames was willing to pay such a price was Rollercoaster Tycoon, whose sales were not just holding steady but actually accelerating at the time as it spread into more and more international markets. Then, too, Chris Sawyer was already under contract to provide Rollercoaster Tycoon 2.

For Alan Hassenfeld, there was just one silver lining to his bold, would-be reputation-making initiative that had turned into a fiasco. And that was the fact that Mattel’s acquisition of The Learning Company had proven to be a disaster of a whole other order of magnitude, reflecting a failure of due diligence on a potentially criminal scale. The Learning Company began reporting huge losses almost before the ink was dry on the acquisition paperwork. Hemorrhaging cash from its ailing subsidiary and facing legal threats from its shareholders, Mattel agreed to pay — yes, pay — a “corporate turnaround firm” known as Gores Technology Group $500 million to take the albatross from around its neck only eighteen months after the purchase had been made. It would cost another $122 million to settle the shareholder lawsuits that resulted from what Funding Universe describes as “one of the biggest corporate blunders ever.” Mattel’s stock ended the year 2000 at less than $10, down from a recent peak of $45; it posted a net loss for the year of more than $400 million. Alan Hassenfeld must have felt like he had gotten off comparatively lightly. Badly shaken but far from destroyed, both Hasbro and Mattel vowed to their shareholders to put their digital fever dreams behind them and get back to doing what they did best. Now as ever, the two giants of American toys seemed doomed to walk in lockstep.

Alas, MicroProse was not so lucky. Seeing little remaining value in the brand, Infogrames decided to phase it out. Thus when Rollercoaster Tycoon 2 appeared in 2002, it bore only the name of Infogrames on the box. (The sequel sold almost as well as the original, despite complaints from reviewers that it improved on its predecessor only in fairly minimal ways.) MicroProse’s old office in Hunt Valley, Maryland, whence had once come a stream of iconic military simulations and strategy games for a generation of Tom Clancy-loving boys and young men, was kept open for a couple of years more to make the little-remembered Xbox game Dungeons & Dragons: Heroes. But it was officially shuttered in 2003, as soon as that project was complete, to bring the final curtain down on the story that had begun with Sid Meier’s Hellcat Ace back in 1982. Ah, well… just about everybody could agree that the best parts of that story were already quite some years in the past. I’ve said it before in the course of writing these histories, but it does bear repeating: whimpers are more common than bangs when it comes to endings, in business as in life.

As for Chris Sawyer, that modest man who came up with a hit game big enough to gratify an ego a hundred times the size of his own: he followed up Rollercoaster Tycoon 2 in 2004 with Locomotion, which was his long-delayed Transport Tycoon 2 in all but name. Unfortunately, his Midas touch finally deserted him at this juncture. Locomotion was savaged for looking and playing like a game from ten years ago, and flopped in the marketplace. Deciding that his preferred working methods were no longer compatible with the modern games industry, he licensed the Rollercoaster Tycoon trademark which Jacqui Lyons had so wisely secured for him to the studio Frontier Developments — helmed by David Braben of Elite fame, no less! — and ambled off the stage into a happy early retirement. “It was time to change priorities, take a break, reduce the workload, and put a bit more time and effort into my personal life and other interests rather than spending sixteen hours a day in front of the computer,” he says.

Traveling the world to ride roller coasters remains among his current interests — interests which his wealth from Rollercoaster Tycoon allows him to indulge to his heart’s content. He still surfaces from time to time on the Internet, whether to promote mobile versions of his old games or just to chat with a lucky member of his loyal fandom, but these occasions seem to be ever fewer and farther between. “I’m really not into self-promotion and not sure I can actually live up to the mythical character the online community sometimes perceive me as,” he said a little ruefully on one of them. It seems pretty clear that the game-development chapter of his life is behind him. The last of the British bedroom boffins has moved on.



Did you enjoy this article? If so, please think about pitching in to help me make many more like it. You can pledge any amount you like.


Sources: The books Games That Sell! by Mark H. Walker and Toy Wars: The Epic Struggle Between G.I. Joe, Barbie, and the Companies That Made Them by G. Wayne Miller. Computer Gaming World of August 1996, July 1999, July 2002, and January 2003; PC Zone of April 1999; Retro Gamer 138 and 198. Also the Tuck School of Business at Dartmouth case study on Hasbro Interactive, written by Professor Chris Trimble, and the Her Interactive archive held at the Strong Museum of Play, which is full of interesting information about those parts of the millennial games industry that didn’t cater exclusively to the hardcore demographic.

Online sources include Wesley Yin-Poole’s interview with Chris Sawyer for EuroGamer, Chris Sawyer’s personal website, and the Funding Universe history of Mattel. The dialog between Greg Fulton and Dustin Browder is taken from a newsletter the former sent out in association with a now-abandoned attempt to create a successor to Heroes of Might and Magic III. And thanks to Alex Smith for setting me straight on a few things in the comments after this article was published, as he so often does.

Where to Get Them: Rollercoaster Tycoon DeluxeRollercoaster Tycoon 2: Triple Thrill Pack, and Locomotion are all available as digital purchases on GOG.com.

Thursday, 31. July 2025

Choice of Games LLC

Spire, Surge, and Sea—What really happened in humanity’s last city?

We’re proud to announce that Spire, Surge, and Sea, the latest in our popular “Choice of Games” line of multiple-choice interactive-fiction games, is now available for Steam, Android, and on iOS in the “Choice of Games” app. It’s 30% off until August 7th! The King lies. The gods live. In humanity’s last city, floating in a worldwide seascape, will you tear

We’re proud to announce that Spire, Surge, and Sea, the latest in our popular “Choice of Games” line of multiple-choice interactive-fiction games, is now available for Steam, Android, and on iOS in the “Choice of Games” app. It’s 30% off until August 7th!

The King lies. The gods live. In humanity’s last city, floating in a worldwide seascape, will you tear it all down to protect your own memories?

Spire, Surge, and Sea is an interactive post-apocalyptic science fantasy novel by Nebula finalist Stewart C. Baker, where your choices control the story. It’s entirely text-based, 380,000 words and hundreds of choices, without graphics or sound effects, and fueled by the vast, unstoppable power of your imagination.

Amid the turbulent waves of the Worldsea stands Gigantea, the walled island city. It is the last haven of humanity, and the last remnant of the days before: before the gods grew jealous of humanity’s overreaching; before the king’s ancestors took up their burden of rule; before the gods sent the curse of the Rot to corrupt and destroy all of the rest of civilization. Only the king’s magic can sustain the fortifications that hold back the Rot.

(This is all a lie, as I’ve told you before. The king has the power to erase people’s memories with the power of his voice. He imprisons spirits and drains their magic to fuel his ambitions. Focus! You must remember this time!)

At the top of the city stand the lofty Spires, housing alchemy labs and bustling high-tech manufactories that can instantly produce everything from food to tools to clothing. You stand on the brink of adulthood, training for the career that will shape the rest of your life.

But now the rebellious Surge clamors against the rigid hierarchy of Gigantea’s society, striving for equality and threatening to overturn the only order you have ever known. Will you stand with the stalwart Spireguard to uphold the monarchy and maintain the integrity of Gigantea, join the anarchist rebels and bring about radical change, or speak for the spirits and taste their magic? Or, will you try to rise as high as the Spire itself to rule the city in your own right?

Explore the forbidden places: the long-abandoned Shallows, where ambient magic has transformed sea creatures into vicious beasts; the archives where secret documents record ancient injustices waiting to be set right. Or, you might even venture out into the ocean to discover whether the stories that have sustained you for generations are really true.

• Play as male, female, or nonbinary; cis- or transgender; gay, straight, bi, asexual; monogamous or polyamorous.
• Choose your path through a post-apocalyptic society: master the mystical art of spirit magic, the high-tech craft of masonry, or meld science and the supernatural with alchemical potions.
• Communicate through speech or signing; and live in a society where all body shapes, sizes, disabilities, skin tones, and identities are treated equally
• Revel in a jubilant night-market festival full of delicious food; and play entertaining mini-games.
• Dungeon-crawl through the Shallows, fighting magically transformed beasts – or try to heal them from the corruption of the Rot, and find refuge for yourself as well.
• Defend the monarchy, upholding the established order and elevating the King to a god! Or cast your lot with the rebels of the Surge, and overthrow everything.
• Venture out into the rot-cursed Worldsea to explore the world beyond Gigantea – if it still exists.

When the Surge rises up, can the Spire continue to stand?

We hope you enjoy playing Spire, Surge, and Sea. We encourage you to tell your friends about it, and recommend the game on Facebook, Twitter, Tumblr, and other sites. Don’t forget: our initial download rate determines our ranking on the App Store. The more times you download in the first week, the better our games will rank.


Renga in Blue

Journey of a Space Traveller: You Were Only Waiting for This Moment to Arise

I’ve finished the game, and my previous posts are needed for context. I finished on the Amstrad version, which runs a little faster and does seem to be nearly identical (comparing against the walkthrough by Garry Francis). Even that ancient manuscript I mentioned counted for essentially nil: there are no glasses to read it. I’m […]

I’ve finished the game, and my previous posts are needed for context.

I finished on the Amstrad version, which runs a little faster and does seem to be nearly identical (comparing against the walkthrough by Garry Francis). Even that ancient manuscript I mentioned counted for essentially nil: there are no glasses to read it. I’m not sure why the author even added it in, other than a general love of red herrings; the dog, hammer, dynamite, bulldozer, and rubbish bin all signify nothing other than the debris of the British countryside.

Cover of the magazine the game first appeared in, via eBay.

My two issues (the missing treasure, and the heavy lid I suspected hid a treasure) both had their solution nearby. The lid straightforwardly opened with the “sharp sword” at the mansion, no hammer or dynamite needed.

I don’t know what the “sorry” is about, sometimes the parser printed that randomly.

I mentioned mushrooms I was not able to pick up last time. This is an Amstrad-specific bug. The game does not let you type GET MUSHROOMS or even GET MUSHROOM (it just re-displays the room over again). You need to type GET MUSH or GET MUSHR. I assume there’s some length limit I’m hitting. (The Oric does not have this problem! I’d consequently say the Oric is less buggy but Garry may have fixed the mushroom while he was busy fixing the general can’t-pick-anything-up bug. It’s all just a mess, let’s just leave it at that.)

With the mushrooms, er, MUSH in hand, you can deliver them to the gamekeeper nearby. Again, GIVE MUSHROOMS fails, it needs to be GIVE MUSH.

This is the only place a spacesuit is mentioned. I don’t know how the kissing worked.

That puts us at a full list, now it’s just a matter of getting all the objects over in one save file. This was slightly tedious but made somewhat less so by the discovery that PRAY rotates through locations a bit at random; after making a delivery I did PRAY until I was close to my next targets. I did still have to tote a BOAT all over the map twice.

Item pile in progress.

I didn’t even get to drop my last treasure, this displayed with the camera still in my inventory. I wonder if the game is bugged so you leave one treasure behind you can still win the game.

There’s no puzzle for entering the spaceship. I suppose the power of friendship was within us all along.

This was a lot of words for a type-in (mind you, that’s the style of this blog) but it’s worth a close look for if nothing else not only did Steve Lucas publish many games, he published at least two “how to write adventure games” books, one for MSX and one for Amstrad. If his style evolves over time we need his starting point accounted for. I’m hoping over the process I can shake a few more biographical details loose (what was his past background? what happened to him during the 90s?)

But for now: our first Japanese game for 1983, one considered a landmark work.

Wednesday, 30. July 2025

My So Called Interactive Fiction Life

Scope: The Hidden Foundation of Interactive Fiction

[written by Claude Code w/Opus 4, guided by me (David Cornelson)]When players type "TAKE COIN" in an IF game, what seems like a simple command actually triggers a sophisticated chain of questions: Can the player see the coin? Can they reach it? Do they even know

[written by Claude Code w/Opus 4, guided by me (David Cornelson)]

When players type "TAKE COIN" in an IF game, what seems like a simple command actually triggers a sophisticated chain of questions: Can the player see the coin? Can they reach it? Do they even know it exists? Today, we're
implementing scope - the system that answers these fundamental questions.

What is Scope?

In traditional IF, "scope" determines what objects are available for interaction. But modern IF needs something richer. We're building a two-part system:

  1. Physical Scope: Can the actor physically perceive or interact with something?
  2. Knowledge System: What has the actor discovered and what do they remember?

This separation is crucial. Just because a coin is physically present doesn't mean the player knows about it. And just because they saw it yesterday doesn't mean it's still there.

The Physics of Perception

Our scope system models multiple senses:

  enum ScopeLevel {
    CARRIED,     // In inventory
    REACHABLE,   // Can touch
    VISIBLE,     // Can see
    AUDIBLE,     // Can hear
    DETECTABLE,  // Can smell/sense
    OUT_OF_SCOPE // Cannot perceive
  }

Each sense follows different rules:

  • Sight needs light and unblocked line of sight
  • Hearing travels through walls but diminishes with distance
  • Smell requires air paths
  • Touch requires physical proximity

Discovery and Memory

The witnessing system tracks what each actor knows:

  • Has this entity been discovered?
  • Where was it last seen?
  • Who moved it and when?
  • Did the actor witness that movement?

This enables rich game play scenarios. If an NPC moves the coin while you're gone, you'll look for it where you last saw it. If you hear something drop in the next room, you know something is there without knowing exactly what.

Real-World Examples

Consider these commands and how scope affects them:

"TAKE KEY" when the key is under a rug:

  • Physical scope: OUT_OF_SCOPE (hidden)
  • Knowledge: Unknown (never discovered)
  • Result: "You don't see any key here."

"TAKE VASE" when it's on a high shelf:

  • Physical scope: VISIBLE (can see)
  • Knowledge: Known (discovered)
  • Result: "The vase is out of reach."

"TAKE COIN" when an NPC moved it:

  • Physical scope: OUT_OF_SCOPE (not there)
  • Knowledge: Known (but outdated)
  • Result: "The coin isn't where you left it."

Implementation Architecture

We're implementing this in the stdlib package as two cooperating systems:

  1. ScopeResolver: Handles physics - visibility, reachability, barriers
  2. WitnessSystem: Tracks knowledge - discovery, memory, observations

Actions use both systems during command resolution:

  1. Filter entities to those the actor knows about
  2. Further filter to those in physical scope
  3. Execute action or provide appropriate error

Why This Matters

Good scope implementation is invisible when it works and frustrating when it doesn't. Players expect the game to understand context - that they can't take things they can't see, can't see things in darkness, and can't interact with things they've never discovered.

By separating physical possibility from knowledge state, we create opportunities for mystery and deduction. Players must explore to discover, pay attention to remember, and think about what they've observed.

Next Steps

With scope design complete, we're ready to implement:

  • Phase 1: Core visibility and reachability rules
  • Phase 2: Discovery and witnessing system
  • Phase 3: Multi-sensory perception
  • Phase 4: Integration with all actions

This foundation will make every interaction in the game feel more natural and responsive. When players type commands, the game will understand not just what they want to do, but whether they can actually do it.

Tuesday, 29. July 2025

Zarf Updates

73 stories in the engine yard

We talk about story characters who are "genre-aware" or "genre-savvy". Although it's more like trope-savvy, right? The horror movie protagonist who gets off the property rather than smooching someone in a dark cellar. The manor-house murderer ...

We talk about story characters who are "genre-aware" or "genre-savvy". Although it's more like trope-savvy, right? The horror movie protagonist who gets off the property rather than smooching someone in a dark cellar. The manor-house murderer who knows not to talk to elderly Miss Lacetatter.

I think about this while watching Doctor Who. Of course! I've noted (and I'm not remotely the first to say it) that the TARDIS is less a time-travel machine than a genre-travel machine. The Doctor can crash into a war story one week, a cozy mystery the next, flee to a haunted house on Mars, and then get chased around by dinosaurs on a spaceship. This might not have been the show's original concept but it arrived there in short order. And the modern-era show-runners (Davies and Moffat and that other one) have very consciously taken genre as their playground.

Characters on Doctor Who aren't notably genre-savvy. They're not notably genre-blind either -- except in the sense that the companions are new to the Universe whereas the Doctor has seen everything twice. The show isn't meta in that sense. But, just occasionally...

I was brought up short by two particular episodes -- perhaps my two favorite episodes of the (very strong) Ncuti Gatwa era. These were the episodes where my first reaction was "That was amazing!" and my second was "Wait, that was ridiculous." And my third reaction -- because I refuse to reject either of the first two -- was to pace furiously around my apartment, trying to figure out why that hour of ridiculous television was amazing. The story made no sense, and yet the story worked. What worked? Why can't I pin it down?

I think I've pinned something down.

Spoiler warning: all the spoilers. I will give extremely brief recaps, but I'm assuming you've watched both Gatwa seasons. If you haven't, well, you can manage your own spoiler policy, but this discussion might not mean much to you.

73 Yards

The recap, as brief as I can:

The Doctor and Ruby arrive in Wales. The Doctor steps on a circle of string and charms, breaking the thread. The Doctor is now somehow gone; the TARDIS is locked; a white-haired woman is watching Ruby from a distance. Ruby cannot approach the Watcher nor leave her behind. Anyone else who speaks to the Watcher flees Ruby in apparent terror. Alienated from her family, Ruby tries to live her life; the Watcher remains eternally present, always 73 yards away.

In 2046 (aged 40-ish), Ruby sees a man named Roger ap Gwilliam running for office. She knows (spoiler) that ap Gwilliam as Prime Minister is going to cause a nuclear crisis. She maneuvers her way into ap Gwilliam's campaign and arranges to stand 73 yards from him. ap Gwilliam speaks to the Watcher and runs away, abandoning his political career.

Ruby lives the rest of her life as a recluse. As she approaches death, the Watcher appears close enough to be seen clearly. Ruby dies and experiences her life from the Watcher's point of view. She conveys the message "don't step" to her younger self, who prevents the Doctor from breaking the charm circle in the first place.

Whew! That was surprisingly difficult to summarize. It's a dense script. It doesn't feel rushed but it shifts gears a bunch.

It also never, ever bothers to explain anything. Nor does the plot link intricately back on itself -- we are denied the usual time-loop pleasures of "oh, that's why that happened!" This leaves 73 Yards wide open to cranky why-the-hell criticism, e.g.:

  • What does the charm/fairy circle actually do?
  • Why does the Doctor disappear?
  • Why 73 yards?
  • Why does everybody become terrified of Ruby?
  • What allows Ruby to travel in time?

Not only are these questions unanswered, they're unanswerable. You can't construct a message the Watcher could impart that could cause "the fear effect". (A later episode suggests that the TARDIS has a perception filter with a range of 73 yards, which signally fails to retcon this story in any meaningful way.)

If these questions bother you, the episode doesn't work. Fine! But it worked for me. So I am honor-bound to figure out why -- thus this post. And if you didn't bail out in the middle of the episode recap, you are now honor-bound to finish reading it.

So, if 73 Yards isn't a tick-tock clockwork time-loop story, what is it? The story initially presents itself as supernatural. The Doctor explicitly calls the string circle a "fairy circle"; the pub denizens give Ruby a rural-horror ghost story about "Mad Jack". Of course they're joking. Right?

The fairy-or-ghost-story reading has one great advantage: such stories are driven by something. (Beyond their own cleverness! Not that there's anything wrong with that!) Ghost stories are revenge or justice -- the ghost's, of course, but it should be personal for the narrator as well. (In a murder ballad, it's generally revenge against the narrator.) Fairy stories are harder to pin down, but wandering into Faerie is a fault; it's inattention or greed or disobedience. Getting out is the reward for faith or generosity or out-clevering the Devil.

The emotional core of 73 Yards is Ruby's fear of abandonment. We'd really like that to be the mainspring of the plot as well. The Doctor breaks a fairy circle and is stolen away. The Watcher figure is alien, outside of human society. Everyone who speaks to it...

...This doesn't quite work. Is Ruby punished for the Doctor's trespass? Or is breaking the circle implicitly Ruby's fault? Is everyone else punished as well, Ruby's mother and Kate Stewart and all? The vanished spouse implied by old-Ruby's wedding ring?

Really it's better if Ruby is the one stolen away to fairyland. She lives in an imitation world, a glamour of normality 146 yards across. Everyone outside that circle becomes a changeling. Not always in a moment of Watcher-drive terror, but inevitably all the same. "Everyone has abandoned me my whole life."

It's worth considering Groundhog Day, which is not a fairy tale by symbolism but which follows the same logic. Phil Connors is trapped outside the world by his self-centeredness; he escapes by recreating himself. Okay, maybe it's the converse logic -- Phil stops running away from everyone else -- but you see the comparison.

But this isn't quite right either. Groundhog Day ends when Phil's story is resolved. Tam Lin is freed by Janet's devotion, cue the wedding bells (or diapers anyhow). Rose accepts her father's death and everybody (else) lives. (Davies knows how this goes.) Ruby does her thing, and...

We should talk about Ruby's thing. It is, after all, the answer to my original question. Why do I love this story? Because Ruby kicks ass. She grabs the Watcher by the inscrutables and drags her off to save the world.

(Everybody loves a companion who can Doctor it up in the Doctor's absence. "Come on," says Ruby, quoting Seven, "we've got work to do.")

But if that were the answer, saving the world would end the story. "Is that it?" Ruby asks. It's not. The Doctor doesn't step out from behind the camera. The Watcher is still there and so is the next forty barren years of Ruby's life. Of course! She hasn't erased her fear. She hasn't connected with anyone. (Not even Marti Bridges, the only actual character to enter the script since UNIT bailed.) She hasn't had a heart-warming moment of character growth. She's just... saved the world. Instead. Isn't that better?

In other words, this isn't a fairy tale any more. (Fairy tales, up to Groundhog Day, are about saving yourself -- never the world.) It's a sci-fi puzzle-box. The kind of story where the protagonist figures out the trick, applies the rules in a clever way. That means living with the rules, afterwards. A tick-tock time loop story after all -- but only in retrospect, at the end.

My diagnosis: 73 Yards is a story about choosing your genre. Ruby gets dropped into an eerie-faerie ghost story about her life-trauma, and she's just not having it. She walks out of that story into one that gives her more agency and a better goal. Of course the end of the script doesn't resolve the beginning! It's a different story. Maybe there's a waking-up-with-Rita, everybody's-back happy ending in the original script -- but Ruby walked away from that to prevent a world crisis.

That's a genre-aware character.

Well, I said, after half an hour of furious pacing. The episode does work. It's a one-off, though. You can't do that sort of trick twice.

Smash cut to:

The Story and the Engine

But first, let me say how wonderful it is to see a Doctor Who episode that visibly, joyfully emanates from an African tradition. Our show is not visiting Lagos; it is of Lagos. The storytelling rhythms of a Nigerian barbershop will prevail, out of a Nigerian-born writer by way of TARDIS translation magic. You can hear Gatwa changing up the way he speaks.

The show is amazing just for that. It requires no further explanation. But I have my own rhythm going now...

The Doctor goes off to find his old friend Omo, a barber in Lagos, Nigeria. He finds that Omo and several friends are trapped in the barbershop. The new owner, a nameless man, requires them to tell stories while he cuts their hair. A woman named Abi brings them food every day; only Abi and the Barber can leave.

The Doctor tries to unseal the door but it opens on outer space. From this side, the shop is part of a giant mechanical spider-vehicle that traverses a web towards an unknown destination.

The Barber claims to be various gods (Anansi, Sága, Dionysus) but the Doctor denies it. The Barber then claims to be a scribe who told stories of these gods and thus gave them their power. The spider, powered by the barbershop stories, is carrying him to the center of the web where he will overthrow the gods.

Abi (actually Abena, Anansi's daughter) tells a story while braiding a map into the Doctor's hair. The Doctor and Belinda follow the map to the story-engine. The Doctor overloads the engine with his own manifold life-story. He tells the Barber that if he doesn't unlock the door, they will all die. The Barber does, and everyone escapes to Lagos as the spider-vehicle explodes.

Yikes, that was even harder to compress than 73 Yards. I had to leave more out, and what's left barely makes sense.

  • Why does the TARDIS sound an alarm when the Doctor is kidnapped? (That's like twice a month in the old series.)
  • Why does it sound again when Abi merely scans the magic door for damage?
  • What happens if someone tells a story and the green bulb doesn't light?
  • How did the Barber go from unemployed scribe to hyperspatial spider captain?
  • Did the Doctor have a plan all along? Was Belinda part of it? (We get two unsupported "Took you long enough" lines.)
  • How exactly does the spider stick its head through a door bolted to its back? (From the inside, even!)

I'm bypassing the Unexpected Space Baby -- that's a season-arc hook. Also the question of why Belinda stays in the TARDIS for the first half of the show, which, I'm afraid, is mostly to disguise the fact that she has absolutely no role here beyond backstory. (I didn't notice this until my second viewing. And to be fair, the story is foregrounding six guest characters.)

But, again, it's hard to assemble a list of plot holes because the plot barely hangs together in the first place. The plot beats aren't when things happen; they alternate between people walking in the door, and people telling stories. Not just the chair stories! The Barber tells one story about himself; then he tells a different story. Apparently they're both lies, and he admits to a third story, which upsets Abi...

Maybe we should stop kicking and accept that this is a storytelling event. It's not an action-adventure script, no matter how many giant spider robots explode at the end.

Listen to that first exchange. The Doctor unrolls a story. You can see him settling into it. "They're all scared of him... he, who hides his identity like a coward." You know this one, right? The Doctor reveals the pathetic truth behind the curtain. (Or behind the mural of Jon Pertwee.)

The Barber responds in kind. "I go by many names" and a naming of gods. It's a different dramatic reveal: the mastermind unmasked. A bit early for it, mind you. The Master wouldn't spill the beans like that until act four.

...Except the Doctor isn't buying it. He laughs, Belinda laughs. Everybody laughs. The Barber mumbles defensively. The dramatic-reveal music drops out. And then the Barber takes the floor back with a new story and different dramatic music.

(Nothing signals that the music is diegetic, but it's fruitful to imagine that the characters are deliberately invoking it. Intense stare into the camera, monologue, cue the music! Really, try watching the episode this way.)

That's four story-postures in a row, each a strategic attempt to undercut the last. And we're not halfway done. Remember the hypnotism duel from 5000 Fingers of Dr T? It's that!

It's impossible to avoid the idea that the stories are stories, that we're not meant to take them as reality. When the Doctor says "We drank so much wine we caused a drought in Athens," that's not a lost Who episode, that's a brag. "I played chess with Bastet, I let her think that she let me let her win" is, yes, the most Doctor-y line in TV history, but the Doctor doesn't historically pal around with gods. The Doctor meets a god, generally the god gets sent packing. Right?

I'm not exactly saying that these stories are lies. The Doctor's comment about Anansi's daughter comes back on him from Abi; that's a real moment. When Omo, at the beginning, talks about the Doctor extinguishing a forest fire, the Doctor follows up by saying (to Belinda) "we met in a fire." (But had they always met in a fire, or only after Omo said so...?)

But the logic of the story is entirely as a series of top-this, yeah-no tales. When the Doctor gets everybody laughing at the Barber, it's real -- but it's also a move in the game.

The game continues. Abi throws down: "I'm here because of you." The Doctor rolls with it, and brings on the Fugitive Doctor to promise us, eyes to camera, that she's still got a story to tell. (Still the best Who move of recent years.)

And of course the final act is the pure-quill Doctor turnaround. (Once Abi opens the way with her final story.) Sonic the lights, out the door, run, you clever boy! Wib-wobbling the whosis engine while Bel yanks wires. It's absolute nonsense, but it's Doctor nonsense; it's exactly what we expect from the show. The Barber staggers in (he knows he's lost already), and the Doctor hits him with his finisher -- the regeneration face parade. Unbeatable.

...and then the Doctor hands it back, lets the Barber take the stage for the closing solo. "What would your six-word story be?" This is the Barber's story. It's not about defeating a monster. (The spider robot is a monster, and it goes out as a grace note.) Abena is allowed to bow out on her own terms. The barbershop quartet, well, we're tight on time but we do our best to see them off.

The Story and the Engine is two genre-conscious characters going at it with the tools of their trade.

I don't think you can do that trick again either. I can't wait to see what Davies pulls instead.


Closing notes

The maze-and-hearttree layout of the spider-engine is so very TARDIS that it invites a reading of the Barber as a Time Lord. Genre Lord? The episode doesn't go there, so I haven't either, but there's another whole essay in that. Particularly if you look at the African-fetish symbolism in that room and connect it to Faction Paradox's voodoo-loa-Rassilon worship. Anyone?

Come to think of it, 73 Yards does some TARDIS mirroring of its own. The shrine that accumulates around the locked TARDIS is made of the same charm-and-memorabilia material as the original fairy circle. I'd happily read that circle as built from that shrine material, directly. Was the TARDIS a fairy circle to begin with? In its own BBC style?

Also

This post started as a response to Elizabeth Sandifer, a Who blogger I've been reading (and Patreoning) for years. Sandifer had no time for 73 Yards: "a nothing—a trifle". She rated it the worst episode of its season. Again, I don't disagree with anything she says, but I have a different angle.

Then my post got a bit out of hand. So I still can't claim to be arguing with Sandifer, but maybe it's a better angle now. A solid angle?

I promised myself I'd finish writing this before reading Sandifer's Story Engine post. For reasons. Sandifer has described herself as a follower of Sága, so I expect some fireworks there. (It's not impossible that RTD also follows Sandifer's blog, but I haven't inquired into this!)

(That second essay I linked to, Exiting the Draugr Castle, is not a Doctor Who post. It's a tale of events at the 2024 Northeast Thing, a Norse pagan convocation. It goes pretty hard. It's a good post.)


Renga in Blue

Journey of a Space Traveller: The Words of a Sermon That No One Will Hear

(Continued from my last post.) As promised, I went through the Amstrad version of the game, with some places having expanded text. I don’t think any of the text helped me with puzzle-solving, but it did make combing over the map less repetitive since things looked slightly different. There was one genuine change in content […]

(Continued from my last post.)

From the cover of Games Magazine November 1984, with the Amstrad version of Space Traveller / Visitor from Space, although this particular illustration is meant to go with a different game, Interplanetary Miner. Mind you, I think they’re just pulling from the same stock archive of space pictures for both.

As promised, I went through the Amstrad version of the game, with some places having expanded text. I don’t think any of the text helped me with puzzle-solving, but it did make combing over the map less repetitive since things looked slightly different.

Just west of the start. The original just describes it as a field, without the extra textual hint about digging; if I hadn’t found the treasure already this would be a case where the expanded text was helpful.

No busker (or Beatles reference) in the original.

Outside the warehouse, previously with no mention of dark glass.

There was one genuine change in content (that I’ve seen so far): an ancient manuscript in the warehouse (seen above) which originally just had a box. Like the newspapers and poetry book, it can’t be read without glasses.

I guess you can also count the Oric in the computer shop changing to an Amstrad; would expect that one.

I did reach two new areas, but before describing those, two quick treasure finds, the first being right at the opening with the pebbles. EXAMINE PEBBLES reveal a zirconium nugget.

Additionally, back at the bus stop, if you WAIT at the queue you will eventually be able to get on, and while on the trip there will be a roman coin you can scoop up. (This incidentally takes you to the north part of the map without praying. The other option — adjacent to the bus — is a taxi where you can GO TAXI to do the same thing, but no coin on the way.)

So treasure count wise, that makes five so far: silver bar (dug in the field), zirconium nugget (pebbles), roman coin (bus), gold pen (teacher), and rocket fuel (hut, using key). The rocket key ends up not counting towards the ten treasures (despite it having asterisks) but I’m counting it anyway meaning we’re at 5 out of 11. I’ve got 4 more secured, plus 1 probable location, so I’m close to the end, but close isn’t all the way.

First, let’s go back to the lake by the hut, where I previously did ROW BOAT. Checking each room carefully, I realized SWIM was also a verb that could apply there, and it led me to an entirely new destination.

The landing point is a beach with sunbathers. Back at the store (in the Amstrad game it is described as a “Tesco”) there was a lighter at a store that couldn’t be grabbed because it was by the register and our alien visitor has no Earth money; however, farther away in the same store there’s some suntan lotion and baked beans that are apparently out of the eye of any watchful cashiers. GIVE LOTION to the sunbathers and you’ll get a CAMERA (treasure #6).

Just to the east there is a dead body, just because this is a gonzo adventure and tonal shift is just its thing.

Dying alone and unnamed. Searching reveals nothing. Oddly, unlike the boat trip which is one way, you can just swim back across the lake.

The cliff I’d been looking for! With the parachute (first getting chastised by the parser for trying WEAR PARACHUTE, it just assumes you have it on implicitly) I was able to land safely.

Just to the east is a crab (taking it gets you chomped: death); a few rooms away in a “dark forest” is a “gnome” that is, I quote, “the sort they sell at Woolworth’s”. GET GNOME:

In the middle of a dark forest, putting us back in On the Way to the Interview for a moment.

Between the gnome and crab is a “sandy cove” with a “driftwood” that is hiding a diamond ring (treasure #7).

To get out of the region (without PRAY) there’s a narrow ledge which requires a ROPE. The implication here is that walking through the section takes up two inventory slots already (parachute + rope) so getting the ring + the driftwood requires two separate parachute runs through (maybe the driftwood doesn’t do anything, but I don’t know that yet!) If there’s some way to handle the crab and/or gnome it requires bringing in objects to test one at a time.

Now is a good time to mention the three-item limit is an incredible pain. Either the boat (alone) or the parachute and rope (together) are needed to move from the north to south side of the map, so in a practical sense the inventory limit is either 1 or 2, and so testing any theory about bring an item X to a spot Y requires a lot of shuffling. The size of map really does influence the level of suffering involved with a small inventory limit; a good recent example of this is Mystery House II, where the two-item limit applied in all versions. In the MSX version it was irksome (the entire house was always accessible) but more workable in the versions split into multiple volumes (as they only involved a smaller portion of the house).

Moving past all that, I mentioned I found a second area. Down at the farm there’s a “pigsty” which I thought was merely a dead end, but it is possible to GO IN.

The way to get by the pig is simply to PUSH PIG knocking it over, cow-tipping style.

Past a long tunnel is a mansion. I have yet to use the sword for anything.

This is followed by a fairly dense area where I doubt everything ends up coming into play, but let’s do bullet points:

  • a garden with a gate and a “garden snake”
  • a “gamekeeper” in a clearing
  • some mushrooms in a woods (they don’t seem to be takeable)
  • a platinum bar (remember that trolley from the farmer who liked poetry? you need it to pick up the bar)
  • a lead casket (you need something to open it; dunno what yet, see inventory limit)
  • a woman in a field (trying to KISS this one results in getting slapped, I guess this isn’t Earth Girls are Easy)
  • a large monument with a radio transmitter, another treasure

Finally at the end (drumroll) there’s the spaceship! Except I don’t know how to get in. Forgot my remote and the app stopped working, I suppose.

In the end all the puzzles have been straightforward (except PUSH PIG was pretty odd) but the spread out nature of the map makes things hard to test. I still need to check: blowing things up with dynamite (and can the lighter be taken somehow?), dealing with the dog outside the store, taking various objects like the hammer over to the lead casket, seeing if the gamekeeper will take something, nudging at the mushrooms some more, and even more things I’ve lost track of. This is a lot more work than I expected from an Oric type-in.

Monday, 28. July 2025

Key & Compass Blog

New walkthroughs for July 2025

On Monday, July 28, 2025, I published new walkthroughs for the games and stories listed below! Some of these were paid for by my wonderful patrons at Patreon. Please consider supporting me to make even more new walkthroughs for works of interactive fiction at Patreon and Ko-fi. Tempus Fugit: The Past is Yet Unwritten (2025) […]

On Monday, July 28, 2025, I published new walkthroughs for the games and stories listed below! Some of these were paid for by my wonderful patrons at Patreon. Please consider supporting me to make even more new walkthroughs for works of interactive fiction at Patreon and Ko-fi.


Tempus Fugit: The Past is Yet Unwritten (2025) by Gianluca Girelli

In this sci-fi time-travel game, you play as John “Max” Walker, captain of the Koseidon, humanity’s first time ship. After you and your crew fought invaders from the stars in 2225, they created and entered a wormhole into the past. You pursued, but something forced you out of the wormhole midway. Main Base no longer answers. Stop the invaders before it’s too late.

This game was an entry in the Text Adventure Literacy Jam (TALP) of 2025, placement to be determined.

IFDB | My walkthrough and maps


A Taste of Terror (2025) by Garry Francis

In this game, you play as ten-year-old Sean MacDonald enjoying your holiday by running around Aunt Clarissa’s farm. Your aunt has aged horribly though. Uncle Bill’s death must’ve hit her hard, but perhaps something else is wrong. And, tonight, your back hurts. You hope you can find a painkiller in the kitchen.

This game was an entry in ParserComp 2025, placement to be determined.

IFDB | My walkthrough and maps


Renegade Brainwave (2010, 2023) by J. J. Guest

In this B-movie spooky comedy, you play as the crossdressing Detective Frank Douglas. You and Officer Donald McRonald are investigating a mysterious object from space that crash-landed in the swampy Bide-A-Wee Cemetery for Circus Folk. Beware the puppy imbued with the incredible power of cosmic radiation! Earth’s fate lies in your hands!

The original ADRIFT version of the game was entered in Ectocomp 2010 where it took 2nd place. It was later ported to Inform 7.

IFDB | My walkthrough and map


Monk by the Sea (2020) by Elizabeth DeCoste

In this mildly-surreal game inspired by the paintings of Caspar David Friedrich, you play as someone who meets a monk by the sea, visits an abbey in the oak wood, and explores a lighthouse by the seashore.

IFDB | My walkthrough and maps


BLACK’N’WHITE RAG – or, A Study in Something-or-Other (1996) by Jonathan Nowell

In this short one-room escape challenge, you play as a UK university student locked in the programmer’s study. By escaping without alerting Security, you’ll raise money for charity. The RAG Week Committee made sure that the objects already in the room have enough clues to help you get out.

This game was one of three runner-ups in the 1996 Acorn User Interactive Fiction competition, and it was also awarded “best CD-related puzzle”.

IFDB | My walkthrough and map


Life of A Librarian (2013) by Timewalker

In this tiny very-short one-room slice-of-life game that was probably written as a coding exercise, you play as a librarian. There’s a fiction book in the bookdrop, a book scanner, and several shelves. Process the book correctly and you’re done.

IFDB | My walkthrough and map


Not in Venice (2012) by Bahri Gordebak

In this very-short story, you aren’t in Venice. You are not looking at a narrow Venetian street from a French balcony. What you do isn’t important at this moment, but what you don’t is.

IFDB | My walkthrough and map


That Damn Remote (2009) by Jamie Phelan

In this slice-of-life game, you play as an exhausted box factory worker who just wants to relax watching his favourite TV show. But your remote control has disappeared. Find it and get this stressful day over with.

IFDB | My walkthrough and map

Sunday, 27. July 2025

Zarf Updates

Summer puzzle games

Recent puzzle fun. Cipher Zero Coupling Monument Valley 3 (See also Occlude from a couple of weeks ago.) Cipher Zero by Zapdot -- game site A Witness-like which starts out in nonogram (paint-by-number) territory and then gets more complicated. ...

Recent puzzle fun.

  • Cipher Zero
  • Coupling
  • Monument Valley 3

(See also Occlude from a couple of weeks ago.)


Cipher Zero

A Witness-like which starts out in nonogram (paint-by-number) territory and then gets more complicated. Very complicated. The glyph rules are pretty easy to grasp, but the permutations of fulfilling them on a board can be ferocious.

This has a lovely poly-painted aesthetic and an even better hand-feel. Everything slides and moves and bounces with satisfying ssh-click! noises. However, it lacks the explorable frame-world of Witness and Taiji. As far as I can tell it lacks the world-level secret goals and surprises as well. It's just a steady firehose of puzzles. I'm feeling worn down (middle of chapter 3-out-of-5) and I'm ready to put the game aside.

Coupling

Minimalist puzzler where world elements move based on your movement. That's a fairly well-explored puzzle-platformer gimmick; Coupling jazzes it up by putting you in nonlinear space (think Antichamber or Manifold Garden). Portals, looping plummets, all the fun stuff.

This is imaginative and clever, but it requires precision footwork as well as brainwork. I bogged down on one tediously fussy shuffle-dance over a pit -- I succeeded once, then screwed up the next stage and had to repeat the shuffle, and then something else went wrong and I needed to start the whole level from scratch? Maybe? I lost interest, anyhow.

If you try it, I recommend checking all the settings and control info. There's some "snap facing to grid" buttons which make the fussy parts considerably less annoying. Also you can tweak the dead zone on your controller sticks, which I found absolutely critical.

Monument Valley 3

Oy, the Monument Valley games. I always enjoy them but they seem so inconsequential once I'm finished.

No, let's talk about Netflix. Netflix leaped into the gaming arena in 2021. Quality mobile games free with your Netflix subscription! Plus they acquired studios like Night School (Oxenfree) and Spry Fox (Cozy Grove). Indie hits like Hades and Rise of the Golden Idol got hauled in as Netflix exclusives -- on mobile at least.

Great for the developers. Not great for me; I don't have a Netflix subscription. But I mostly game on PC so whatever, right? Games arrived on Steam, I played them on Steam... except for Monument Valley 3, which launched last December as a 100% Netflix exclusive.

Well, that didn't last. Surprise! Netflix seems to have decided that throwing buckets of money at talent isn't nearly as good a deal as farming a few reliably addictive titles. Pretty much the same thing that happened to Apple Arcade. Netflix was just a couple of years behind the curve. So now Netflix is closing studios and delisting games. (With little notice to developers, according to The Verge.)

And now MV3 has disappeared from mobile. It's on Steam now, though, so... no, that doesn't make it all worthwhile. Not remotely. Netflix's whiplash for developers isn't the worst game-industry news of 2025, but it sure doesn't help. What will happen to Night School, dammit?

I hope MV3 will make it back to mobile soon. Yes, it's playable with a mouse (and I did) -- but the series was born on touchscreen and lives its best life there.

Good game though. MV2 felt like a retread of the original, but MV3 expands its reach. Many new visual twists and interaction ideas. The puzzles are a bit deeper, too. It's still not a thinky puzzle game, but you have to manage more state and pay attention to more things.

As for the story -- just enough for a platformer, as usual. Geez, there was a brief rumor of an MV movie adaptation, wasn't there? Talk about starting from scratch. Instead we got a five-minute animated short, which is legit and lovely but definitely follows the tradition of "tiny wordless anecdote".

I'll keep playing Monuments as long as the series continues. The question is, are they selling well enough to justify the (long, apparently high-effort) development cycle? Ustwo's fling with Netflix, unsatisfying as it was, seems to imply the answer is "no".

Saturday, 26. July 2025

My So Called Interactive Fiction Life

Sharpee - Refactoring Standard Library Event Wiring

Sometimes you're testing code and go through the pipeline of connected code and realize something just "smells wrong".emitSuccess() - for success events with messages emitError() - for error events with messages emit() - for generic events emitMany() - for multiple events at once createEvent() -

Sometimes you're testing code and go through the pipeline of connected code and realize something just "smells wrong".

emitSuccess() - for success events with messages
emitError() - for error events with messages
emit() - for generic events
emitMany() - for multiple events at once
createEvent() - to create events without emitting
resolveMessageId() - to resolve short message IDs to full ones

Where all we needed was:

event() - append an event to the event source

We also added the turn number to the base event. We documented this in ADRs 039-042.

We're also explicitly defining all event data for each action like this:

/**
 * Event data types for the taking action
 * 
 * These interfaces define the structure of data emitted by the taking action
 */

import { EntityId } from '@sharpee/core';

/**
 * Data for the 'if.event.taken' event
 * 
 * Emitted when an item is successfully taken
 */
export interface TakenEventData {
  /** The name of the item that was taken */
  item: string;
  
  /** Where the item was taken from (entity ID) */
  fromLocation?: EntityId;
  
  /** Name of container/supporter it was taken from */
  container?: string;
  
  /** True if taken from a container */
  fromContainer?: boolean;
  
  /** True if taken from a supporter */  
  fromSupporter?: boolean;
}

/**
 * Data for 'action.error' events from taking action
 * 
 * Different error reasons have different data requirements
 */
export interface TakingErrorData {
  /** The specific error reason */
  reason: 
    | 'no_target'           // No object specified
    | 'cant_take_self'      // Trying to take yourself
    | 'already_have'        // Already carrying the item
    | 'cant_take_room'      // Trying to take a room
    | 'fixed_in_place'      // Item is scenery/fixed
    | 'container_full'      // Inventory is full
    | 'too_heavy'           // Item is too heavy
    | 'cant_reach';         // Item is not reachable
  
  /** Name of the item (when applicable) */
  item?: string;
  
  /** Additional context for the error */
  details?: Record<string, any>;
}

/**
 * Data for the 'if.event.removed' event
 * 
 * Emitted when a worn item is implicitly removed before being taken
 */
export interface RemovedEventData {
  /** Whether this removal was implicit (part of another action) */
  implicit: boolean;
  
  /** The item that was removed */
  item?: string;
}

I didn't need to implement this change, but I think it helps with making a self-documenting architecture.

I suspect this won't be the last iteration through all 40-something standard actions.


Renga in Blue

Journey of a Space Traveller (1983)

I have been sent on a difficult and rather dangerous mission to a distant planet called EARTH. My mission is to locate ten items of treasure and bring them back to my spaceship. I will, in addition, need to locate some rocket fuel for my return journey. My random roll has landed me on the […]

I have been sent on a difficult and rather dangerous mission to a distant planet called EARTH. My mission is to locate ten items of treasure and bring them back to my spaceship. I will, in addition, need to locate some rocket fuel for my return journey.

My random roll has landed me on the works of Steve W. Lucas, perhaps best thought of as Britain’s answer to Peter Kirsch. That is, a wildly prolific author who wrote reams of slightly janky BASIC code but with flashes of creativity just naturally from cranking out bucketloads of content. He has 41 hits on CASA but some of those are duplicates — when porting from one system to another he would often change his game’s title and only sometimes change his content. It’s unclear how many distinct games he wrote and it may even depend on your definition of “distinct”; there’s a long thread at CASA that tried to tame the chaos but there still seems to be some confusion. The other comparison with Kirsch of note is how he worked with a wide variety of computers: MSX, Oric, Amstrad, and BBC Micro.

With Journey of a Space Traveller, it first appeared in Oric Owner (Aug./Sept. 1983) but got changed to A Visitor From Space in a 1984 printing for Amstrad, with some expansion of the text. The intro at the top of this post is from the Amstrad version; the Oric version instead starts “I have been sent on the first flight from my planet to the planet Earth” which I think has less punch than “rather dangerous mission to a distant planet called EARTH.” However, I’ve been playing (up to where I’ve been stumped) the Oric version; as is tradition with multi-version games, I might poke at the Amstrad version to see if there’s any tweaks or textual hints to help (allegedly the walkthrough is the same, at least).

The Oric is a new system for this blog. I’m not going to do a system history right now, but I’ll say it is Tangerine’s much more successful follow-up to the Microtan 65 and was particularly well-received in France as it didn’t need an adaptor for their SECAM television format.

It is likely his first published game but I’m not 100% certain; it is his first to appear in Oric Owner, at least, but he also published some BBC Micro software through Silverlind; the first ad for that I’ve found in November, with a “call for games” back in May.

From the Oric magazine original.

The other distinctive thing about his games — specifically the Oric Owner ones but maybe some of the others as well — is how buggy they are. None of the ones printed in Oric Owner work directly as printed; Garry has a patched version that’s needed to get past even the first command. This is the sort of thing I’d normally blame on the magazine rather than the author but it’s odd for it to occur multiple times; the author has two games in the December/January issue with the same problem.

Games Computing, November 1984, with a slightly higher art budget. Well, higher art budget for printing, but given the art has nothing to do with the game I think it was “borrowed” from elsewhere.

The instructions helpfully give the verbs (this seems to be common across all the Steve Lucas games) so I’ll give them, just as they were printed:

GO IN, GO OUT, GO TAXI, OUT, N, S, E, W, WAIT, SING, SAVE, WEAR, SCORE, ROW, SAIL, THROW, LIGHT, GET, TAKE, GRAB, CLIMB, DOWN, READ, **** OFF, TIME, DIG, HELP, SEARCH, DROP, LEAVE, GIVE, OPEN, PHONE, QUIT, LOOK, KISS, PRAY, LOAD, CLOAD, PUSH, PULL, EAT, ATTACK, HIT, KILL, EXAMINE, SWIM, USE, INSERT, UNLOCK, WEAR, JUMP, INVENTORY, BUY, CRACK, COOK, SORRY, SAIL, ROW

(****, OFF not required, gets “how dare you speak to me like that? What do you have to say for yourself?” and you need to respond SORRY before proceeding on.)

It’s a traditional treasure hunt, but with the twists that a.) you are an alien and b.) you’re treasure-hunting on modern Earth. Adventure-behavior — especially without regular communication with characters — is typically a bit non-standard, so I like the idea of the mute protagonist poking and searching every room (digging random floors, hitting walls, trying to climb everything, etc.) being explained away by their alien status.

I don’t know where the spaceship is; part of the goal is to find it. This is a major pain in that the inventory limit is three (weak alien arms, I guess we’re used to lower-G) so I have no idea where to stash things so they’ll be close for their inevitable unloading into a cargo bay of some sort.

Right to the east of the starting point are some pebbles and a shovel…

The Amstrad version adds “The pebbles hurt my feet!” but I haven’t gone past this room.

…and the shovel can be used just to the west to dig up some SILVER bullion, our first treasure. Nine to go!

Heading to the east, there’s a quarry with a hammer, and nearby is some dynamite and a parachute. I have yet to blow anything up (I think it needs a lighter I’ll show off later) nor have I found the right place to apply the hammer and parachute (…presumably not at the same time). There’s additionally dead ends with a Sheer Rock Face and Bulldozer but I haven’t quite worked out yet if this is an “everything is important” style game or some parts are just scenery. I’m leaning to the latter.

A rope is at a bridge (again, haven’t used) leading to a “primary school”. The school has a secretary which you can kiss (the game says she likes it, indicating we’re an alien counterpart to Riker) and a head teacher who has a GOLD pen, another treasure. Examining the teacher reveals they like singing (alien senses, I suppose) and SING will utilize the Oric’s speaker to play a tune, after which you can get the pen. Eight more to go.

Leaving the school (swiping a book of poetry for later, we can’t read it because we need glasses) and proceeding westward we can find a locket hut at a boat. I’ll mention right now there’s a key laying out in the open later used on the hut which contains *ROCKET FUEL* (seven to go); the boat needs to be carted a short way to a lake where ROW BOAT can be applied. Note that the three-item limit applies neutrally, so a LARGE KEY is the same size as the boat in inventory.

The trip over water landing at the Footpath (see upper right of above map) is one-way; the only way so far I’ve found to return to the start area is PRAY, which warps you over for some reason. (Religious miracles: alien technology all along!) The PRAY is quite relevant insofar as just to the west you can get lost in a forest that’s an endless loop, and as far as I know PRAY is the only way to get out.

Proceeding in a direction that isn’t a trap passes through a warehouse with a box (nothing in it), and that leads to a carpark, and then a bunch of directions from there, like a bus station complete with queue…

Only in a Britgame.

…a computer store with software you can LOAD…

…a fish and chip shop…


…and a closed newsagent place with newspapers that can’t be read because you still need your glasses. (If this was logical you’d have left them on your spaceship by accident, but I can’t rule out some random passerby’s reading glasses working just as well.)

Nearby all this lurks a LARGE KEY at an intersection which goes back to that hut with the rocket fuel; as I already indicated, the only way I can find so far to head back there is to PRAY.

Moving on to the west, we can pass by a rubbish bin (seemingly containing nothing!) near a supermarket.

To the west of here is a lighter at the cashier. I can try to BUY LIGHTER but the game asks “with what?” Maybe use one of the treasures and get it back later somehow? I still need to experiment.

Lurking outside the supermarket is a dog; no idea what to do here yet…

…followed by a bunch of rooms leading to a farm complete with tractor and a farmer. The farmer wants a book, so if you hand the poetry book over he’ll give you a trolley, because this game is following gonzo logic.

To be fair, the “I’m an alien” does a lot of the work in making the narrative seem semi-normal for an out-of-control treasure hunt. However, I am up on my limit now at only three treasures.

I’m not going to list every obstacle because I don’t know which ones are “real” and which ones are for scenery. Does the forest have a different escape? What can you do at the bus station? Does making the dog happy lead to treasure? This might be the extent of the map and I’m just supposed to mop things up (akin to Invincible Island) or I may have only seen part of it. Given the parachute (and distinct lack of gaping chasms) surely there’s at least a bit more to go. Maybe the supermarket is secretly the alien spaceship.

Friday, 25. July 2025

Renga in Blue

Invincible Island: The Bones of Our Ancestors

(My previous posts are needed for context.) I’ve beaten the game, and unfortunately both puzzles involved were terrible. I still will give some latitude because the combining-message mechanic was so satisfying, but let’s get to the end first– Continuing directly from last time, I needed to get a parchment from the native without resorting to […]

(My previous posts are needed for context.)

I’ve beaten the game, and unfortunately both puzzles involved were terrible. I still will give some latitude because the combining-message mechanic was so satisfying, but let’s get to the end first–

Continuing directly from last time, I needed to get a parchment from the native without resorting to violence. I had tried to GIVE every single item I could possibly bring over. (The SKULL I could not bring, because it triggers natives attacking when it passes by the other native.)

Every GIVE gave a variation like the one above: “what?? I don’t think the native wants it”. The text here clearly implies the game is understanding, and simply rejecting this option.

Instead, no: GIVE NECKLACE was right. But it has to be typed as GIVE NECKLACE TO NATIVE in order to be understood.

I’ve never done relative ranking, but this likely would my in top 3 most deceptive parser messages of all time.

Fortunately this was near the end of the game because otherwise my mood would have significantly soured. I did not come across as “solving a puzzle” as much as “making a meta-leap based on my past experiences, given we know the character has the parchment, the verb list is minimal, and GIVE is on it”.

Knowing the GIVE syntax, I went back to the first native and tried giving an item that hadn’t a use before: the FOOD. The results in the native trading a PHRASEBOOK.

With the phrasebook I could go back and read the two messages previously untranslated, at the sign and the altar.

The first simply indicates to follow the path rather than digress, where the second one might be intended as a hint for the endgame but I’m still massively unclear about it (you’ll see in a moment).

when the page is complete look and you’ll find, west of the sun and the ancient temple,amongst the bones of our ancestors

I still hadn’t used the SPADE yet, but now was the time: I dug starting at the three pillars and going west. Just east of where the skull was I found gold.

Once the gold is revealed, natives immediately appear and start to chase. It’s a little more time than what happens with getting spotted with the skull, but not enough to do anything useful.

Trying to hide in the well. You can jump in the cave but you just get killed in the dark.

If it hadn’t been for the GIVE issue I would have spent a bit longer on the puzzle, but I was grouchy and worrying I might be running into another parser issue. It isn’t a parser issue at all, and just as an experiment, I’m going to pause before revealing the answer. Try your best guess at how to pick up the gold and survive all the way back to the boat; maybe you’ll spot something I did not.

Via eBay.

Did you come up with… be holding the skull while picking up the gold?

Despite being attacked earlier because you had the skull, now you are attacked when you don’t have the skull. I assume there is some logic about a taboo going on but I couldn’t come up with any rationale, nor any way to pull the altar’s clue into the puzzle (assuming it is relevant at all).

With the skull providing safety, you can now walk back to the boat. The boat still needs to be light enough to sail, and you’ve got a bunch of gold, so you need to drop the skull before leaving, but there’s ample time after to sail away.

The puzzles overall were essentially straightforward (coat for the cold, foot pump for an inflatable boat, key for a door) and the wide-out exploration and slowly growing parchment made for a satisfying middlegame. Just it failed to stick the landing. I surely am missing some clue on the skull, right?

I’m going to save Urban Upstart for a little bit later (but not too long, I want to have the “feel” of this game fresh in my mind) and my projected third Britgame also needs to be maneuvered a little, so after I finish writing this I’m pulling out some actual dice to see what comes next. Exciting! Then we’ll be off to one of the first Japanese adventures of 1983.

Thursday, 24. July 2025

Renga in Blue

Invincible Island: 七星聚会

(Continued from my previous post.) I have seen all seven parchments put together and even solved the puzzle, but I don’t quite have them all permanently yet. Progress was mainly a matter of getting comfortable with the game’s norms. For example: last time I mentioned the canary I hadn’t tested yet. Bringing the canary in […]

(Continued from my previous post.)

I have seen all seven parchments put together and even solved the puzzle, but I don’t quite have them all permanently yet.

Strident mentioned the prog band in the comments: The Speedy Bears. Pete Cooke on keyboard. Source.

Progress was mainly a matter of getting comfortable with the game’s norms. For example: last time I mentioned the canary I hadn’t tested yet. Bringing the canary in the “coal mine” (not actually a mine) the canary fell over dead after two steps.

This reflects the “you can’t breath” rooms, but is this letting us know about a potential timed danger, or is there a further puzzle here where we have to make it to place X with the canary surviving? With one of the “every item matters” games like from the Cambridge mainframe (Hezarin, Avon, Quondam, etc.) I would be on red alert until there was further resolution; with this game, the canary is just meant to give the information above, and then you can move on.

Similarly, there’s a part with a “native”; I found that if you pick up the skull and bring it to the same room, a group starts to gather and attack. In some games, this would indicate you’re supposed to find a sneaky way to get the skull by, or eliminate the threat; here, the norms are such that not only is the skull meant as a “trap” (like the stones over the bridge) but the native no longer needs to be considered as a puzzle element (I don’t need to sit around using GIVE on every item in the game or trying other verbs.)

In a more practical sense, I’ve discovered that while the parser is mostly two-word, there’s spots like right here you need four words: use WITH SWORD at the end is how you avoid just using your fists to fight.

Additionally, I was thinking there was going to be more map, but what I had last time was nearly all of it. I have marked the positions, and the six new rooms are in the upper right corner.

The first parchment and second parchment I had already found, in the underground area (SW) and island (NW) respectively. I had made a guess about the chest with the snake and the green potion that turned out to be correct: after drinking the green potion the snake’s bite has no effect (it doesn’t say “you feel cured”, you just don’t die); in addition to the trap the chest has the third parchment.

This is just the piece from the chest. After picking up multiple parchments, they automatically merge together, so you don’t need to visualize cutting and pasting.

The fourth parchment I was very close to having, with both a box I was not strong enough to open and an axe. I even tried BREAK BOX (“what with? your bare hands?”) and tested a follow-up WITH AXE on its own parser line. This was before I realized sometimes the parser wanted four words, so BREAK BOX WITH AXE all together does the trick.

I had mentioned the pits before, where one of them is fatal to enter. I hadn’t gotten around to testing the other two yet; both act entirely differently. One is fatal in an identical way…

…but the third reveals the fifth parchment straight off the bat.

Some games would have the norm that similar looking pits would have similar rules (see Probe One: The Transmitter for an example) but here all three pits are different.

My last bit of confusion involves the second fatal pit, two screenshots back. The game specifies you can go “down” and I somehow interpreted that as the same as entering the pit; in reality that’s just an area I missed.

With the anorak from the camp it is possible to climb a mountain and get the sixth parchment from the top without freezing from the cold.

Death soon after. I knew instantly what object I needed but I was curious what would happen if I moved on. This is a “death preview” moment and we’ll see another of its type shortly. See Burglar’s Adventure for more discussion of this idea.

Past the mountain is a pagoda; it is locked with a red key (which is just out in the open from the temple earlier).

The wild thing about the encounter in the pagoda is you can kill the native (with the sword) and get the seventh parchment. The death doesn’t happen until a few turns later, long enough to view the unified seven parchments altogether.

This is a cryptogram. Avoiding the automatic solvers on the Internet, I went to a site that has tools for playing them on a computer (I like them, but find them a pain to keep track of on paper). I swapped unused letters for symbols to get:

UFTL RFT NCET GQ AMKNJTRT JMMI CLB WMSXJJ DGLB, UTQR MD RFT QSL CLB RFT CLAGTLR RTKNJT,CKMLEQR RFT ZMLTQ MD MSP CLATQRMPQ

The puzzle fortunately falls fairly easily to “the most common letter is E” and “the second word is probably THE” as a start.

when the page is complete look and you’ll find, west of the sun and the ancient temple,amongst the bones of our ancestors

I assume this is back at the skull, but since all parchments are needed for the final area (at least according to the decipherment) I still need to figure out the legit way of getting the final parchment piece from the pagoda. I expect it will be either the last puzzle remaining (if finding the treasure is just a glorious “you win” section) or the second to last (if getting out after finding the treasure is still going to be a problem, like in Calixto Island).

Wednesday, 23. July 2025

Renga in Blue

Invincible Island (1983)

Apologies: after a bit of research I’m going to visit Invincible Island first and Urban Upstart second, as they represent the first two text adventures by Pete Cooke in the order he wrote them. (The latter was picked via random number generator to be my next game, rather than anything systematic.) Both were written for […]

Apologies: after a bit of research I’m going to visit Invincible Island first and Urban Upstart second, as they represent the first two text adventures by Pete Cooke in the order he wrote them. (The latter was picked via random number generator to be my next game, rather than anything systematic.) Both were written for the ZX Spectrum.

Pete Cooke is another one of our math-teachers turned programmers, although he started (after graduation) trying to make it work as a piano player in a progressive band; the band failed (he blames punk rock) so he ended up doing degree-work in order to teach math to 11-to-14-year-olds in Leicester.

While their department received a text-only RM 380Z…

A machine developed in 1977, targeted at schools in the UK. From vt100.

…where he really caught the computer bug was the ZX81, where he “sort of lunged at it” and got using one as soon as he could. He ended up making programs that he showed to his students, and:

Eventually I wrote a simple text adventure and showed it to some of the students who said it was seriously good and thought it was better than some of the stuff in the shops!

He sent it to Richard Shepherd Software (previously: Super Spy) and they offered 1000 pounds to buy it, twice his monthly salary as a teacher.

[Adventure games] were interesting, and it was the idea you could explore somewhere. Also, I didn’t have the skills then to design 3D or animated graphics, although I’d been reading about AI and language parsing. It could also have been the influence of games such as The Hobbit, or maybe just the freedom appealed to me. I wrote it from scratch with bits in BASIC and tiny bits in assembler, but essentially hand-coded.

Noteworthy to highlight in the quote is the emphasis on “freedom” and “exploration”. This game has one of those wide-open maps more closely aligned to Roberta Williams than Scott Adams; this was not converted from ZX81 but rather written directly for the ZX Spectrum, along with its increased resources. (There’s a 2022 backport to ZX81 which converts the 48K original into 16K but even with modern resources and cutting out all the graphics, part of the original game was omitted.)

The loading screen has a ripple effect through “Invincible Island” so I wasn’t able to get a shot where all the text showed at once.

We’re back to being on a Treasure Hunt. Sort of.

WELCOME TO INVINCIBLE ISLAND

In this adventure you are an explorer stranded on the remote island of the XARO.

Your only guide is a letter you received from a Dr Chumley several months ago in which he said that he believed that islanders had hidden a massive treasure somewhere on the island.

Unfortunately, Dr Chumley did not live long enough to find the islands secret.

You have arrived on the island in a small boat, your aim is to find the treasure and escape alive.

Hmm. Since they’re hiding a treasure, I guess we have the right to scarf it? (It has come up before, but I want to emphasize that “claim stuff in the name of the British Empire / your wallet” is not common amongst these games despite so many Treasure Hunts. I still think the best instance so far has been making the deal with the demon in Zork II.)

What makes this game unusual compared to regular Treasure Hunt plots is something mentioned on the packaging, about “seven parchments” regarding the treasure. I have found two of them and they give parts of a message intended to be mashed together, so there’s an extra dose of intrigue in a game-mechanical sense beyond finding some “BARS OF GOLD” or a suitcase full of cash under a big W. It still is also possible the final “treasure” isn’t a normal treasure but “the friends we made along the way”.

The island is, as I implied already, pretty wide-open, but before I show off the map, here’s the verb list:

This ends up erratic; notice no READ verb, and there are at least two bits with writing (not even counting the parchments), which gets looked at with EXAMINE instead. PUT is actually WEAR. There’s no way to SWIM, and no way to HIT objects; so there is an AXE early on which I have not puzzled out how to use. CROSS gets used to launch a boat over to a small island.

For the map, I’ll give the whole thing at once to start, then break it into pieces.

For the opening area, walking along to the east is a deep pit; going in is death.

There are at least three pits that look like this on the map, so I assume there’s some aspect I’m missing and this isn’t just a trap.

Further are some STONES, which are something of a trap, but they only kick in later. Yet farther is a hut with a necklace.

Headed the other direction, there’s a RUSTY KEY nearby a chest that the rusty key conveniently opens. Unfortunately, doing so is, you guessed it, a trap.

I realize as I type this there is a mysterious “green potion” nearby which might be the antidote. I only tested it alone and nothing happened.

Moving farther along, just lying about on the ground is some FOOD, an AXE, a TORCH, a SPADE, an ANORAK (that’s a polar coat, maybe the top of the island is really high) and a caged yellow CANARY.

Before anyone asks, I have tested DIG with the spade in every location accessible so far with no luck. Near the same area is a “native” — the only one I have run across so far — and anything I’ve tested so far with GIVE (the only character-action verb that isn’t just KILL) has been rebuffed (I have not tested every item in the game thus far, though).

Turning east, there’s multiple rooms that are a “dark forest” where there are the occasional eyes peeking out, and more than a few turns in the forest turn out to be deadly.

There’s a BOX at the end of a path, but my character isn’t strong enough to open it.

Swinging back over to where the canary was, you can light a torch and go west into a “maze” except it’s a 4×3 set of rooms.

There are two rooms where you have trouble breathing — I assume the canary is somehow important to these rooms, but I’ve been able to just pass on by so I haven’t tested this yet — and spread out you can find a SWORD and one of the pieces of parchment.

The only way out of the “maze” is to the north…

…where there is a small area of “barren plain” including a SKULL, but soon after there is a river and lake.

One point requires crossing a bridge, and this is where the stones from earlier are a trap: if you’re carrying them the bridge collapses. Other items seem to be safe.

You can wrangle up a FOOTPUMP and a DINGY over to where there is a visible island on the lake, and the CROSS over to find another piece of parchment.

I’m wondering if the inflatable boat is from Zork. Infocom was never huge in the UK (lack of disk drives) but we saw at least one case of clear influence from 1982 (Goblin Towers).

I’m assuming all the fragments combine to make a cryptogram that needs solving, but it’s hard to tell with just the two.

Finally, past the native (who does not block your way, despite appearances) there’s a path leading to a temple and altar. The altar has writing that you can’t read and a red key but otherwise I have found nothing else of note.

I still have things to test (like using GIVE on more objects, seeing what happens with the canary, and seeing if the potion is an antidote) so I’m not stuck yet, but I also am unclear where more rooms (which clearly are out there) are going to come from, as I don’t have any clear navigational blocks except for the pits. Maybe this is a “multi-level maze” where we go underground, then go back up again elsewhere? In any case, with only two out of seven fragments so far, this is looking to be a meatier game than I originally expected.


My So Called Interactive Fiction Life

Traits and Language

When I designed the world model, I decided to implement a pattern that separates behavior from data. These are called Traits. If you apply the Pulling Trait to an entity, it will have all the necessary logic to handle being pulled. Initially the Pulling action in standard library had logic

When I designed the world model, I decided to implement a pattern that separates behavior from data. These are called Traits. If you apply the Pulling Trait to an entity, it will have all the necessary logic to handle being pulled. Initially the Pulling action in standard library had logic to handle various types of things that might be pullable (cord, rope, chain, etc) and the logic for this was encoded within the pulling action.

But we set a core design principle where Actions are language agnostic. If we include the words cord or chain in the logic, we're breaking that principle. This is clearly a minor design flaw. In order to resolve it, we need to move the language-based logic into more Traits so the action can manage everything through behavior and not language.

We only have a few actions that fall into this category, so it's not a huge refactoring. But it's a another nice design flaw catch from testing. Every time we discover these design flaws I get excited because we have always found elegant solutions within the overall architecture and that has not changed.


The testing phase of the standard library is taking, by far, the most time. I have had to dig into the generated code and logic to make scalpel like changes, so that's been different than most of the underlying code. I shouldn't be surprised. I was always able to design and direct, but getting the standard library and the eventual Forge authoring layer will require much more of my attention.

Monday, 21. July 2025

Choice of Games LLC

Coming Next Thursday: “Spire, Surge, and Sea”—New Author Interview and Demo!

Humanity’s last haven stands in a cursed sea: will you defend or overthrow it? Be warned: vanquished gods and spirits watch your every move. Spire, Surge, and Sea is an interactive post-apocalyptic science fantasy novel by Nebula finalist Stewart C Baker. I sat down with Stewart to talk about his work and his varied experiences writing interactive fiction. Spire, Surge, and Sea releases next

Spire, Surge, and SeaHumanity’s last haven stands in a cursed sea: will you defend or overthrow it? Be warned: vanquished gods and spirits watch your every move. Spire, Surge, and Sea is an interactive post-apocalyptic science fantasy novel by Nebula finalist Stewart C Baker. I sat down with Stewart to talk about his work and his varied experiences writing interactive fiction. Spire, Surge, and Sea releases next Thursday, July 31st. You can play the first three chapters for free, today, and wishlist it on Steam!

This is your second game with COG after the incredible and hilarious The Bread Must Rise. What if anything has changed in your approach to writing interactive fiction with ChoiceScript between these two games?

The Bread Must Rise taught me a lot about writing in ChoiceScript, and I felt a lot more comfortable diving in this time around. I had a much better sense of where I was going to get myself stuck by making certain narrative choices and—although I didn’t always avoid those choices—the game felt much less overwhelming as a result.

Spire, Surge, and Sea is simpler than The Bread Must Rise in some ways (because it doesn’t have those cooking contest scenes, which were a bit of a nightmare to code). In other ways, I think it’s more complex (why did I think it was a good idea to let gameplay affect which NPCs are present in some scenes? Why?!).

These are kind of vague answers, so maybe what I’m saying is “I still have no real idea what I’m doing.”

One thing I’ve confirmed is that I’m terrible at sticking to outlines. Both games looked pretty different by the end than they did at the start!

Also, I greatly benefited by exploring the code of other Choice of Games titles, especially Harris Powell-Smith’s. Their work is always fantastic, and I saved myself a lot of time and hassle by exploring how they set up variables for stat increase amounts and test value amounts at the start of the game, rather than typing in a numeric value every single time!

Where do these two insanely different settings and worlds and tones come from in your fevered brain?

There is chiefly one person you can thank for this (or, if you’d rather, one person you can blame): Terry Pratchett.

More seriously, it may seem weird that I could go from zany comedy to atmospheric and slightly depressing science fantasy, but a lot of the books, games, anime and movies I enjoy the most also mix the sad with the surreal.

I read a lot of British SFF as a child (I was born in the UK), especially Terry Pratchett and Douglas Adams but also lesser-known (in the US) authors like Tom Holt. And, when I was slightly older, I watched classics like Monty Python and Red Dwarf. I also got into anime and manga in my teens, and that grew into a broader interest in Japanese language, culture, and history while I was in college, including Japanese literature (classical and modern) and fiction, haiku, Zen Buddhism, and so on. And then in graduate school, I focused on medieval English poetry, especially the work of Geoffrey Chaucer.

I am a bit of a nerd, in case that wasn’t clear.

Anyway, something all of these different things tend to do is mix absolutely hilarious, surreal comedy with things that are deeply messed up and upsetting. Sometimes, the upsetting things are played for laughs. Sometimes the comedy is there to make the upsetting things catch you off guard. But often the two different tonalities just coexist, side by side, serving to highlight both the absurdity of life and our ambitions, and how tenuous and transient both of those things are in the end.

Woomph. This answer started with a joke and then suddenly got dark, huh? But that mixture of darkness and light, that brevity and our desire to overcome it, is what makes life so precious. It’s what makes us human.

Terry Pratchett is perhaps the most accessible example.

One of his most memorable characters from Discworld is Death. Literally Death—cowl and scythe and everything. Death’s struggles to understand human nature are hilarious, but they’re also compelling. And Death appears in nearly every novel, because people die and it’s his job to go collect their souls and show them on to their afterlives. (As the intro to A Death in Hyperspace notes: people die all the time.)

Those scenes with Death stick with you. They may be surrounded by jokes and puns—and many times contain jokes and puns in their own right—and they may be short, but they aren’t, themselves, jokes. Even when the character who has died is minor, or really only exists in the book to have been killed, their death is treated sincerely, their afterlife given a weight and a sort of transcendent beauty. (Or, in some cases, we get grim satisfaction by seeing them get what they deserve.)

Murderbot is another great example of this. Although people talk up how relatable Murderbot is as a character, it’s not solely its obsession with media and desire to be left alone that makes the series work. It’s the mix of tragedy and comedy, and how they both play an important part in Murderbot’s struggles to understand what it means to be human—and its difficulty accepting itself as a person.

Anyway, TLDR: I don’t think it’s weird to mix things that are hilarious with things that are sad. I can’t really understand how not to do it, most of the time!

What do you think our readers will find most surprising about Spire, Surge, and Sea?

The mix of fantasy tropes (gods, spirits, magic) with science fiction elements (nanotechnology) is probably the game’s most unusual thing.

Science fantasy is uncommon, but I do enjoy it! If you enjoy Studio Ghibli movies like Nausicaä of the Valley of the Wind and Laputa: Castle in the Sky, you might find some familiar notes in this one. My working title, for instance, was Gigantea: Age of Rot. Those movies, as well as Ursula K. LeGuin’s Hainish stories and novels, are the game’s main influences in terms of tone and tenor.

And maybe it’s not surprising after my previous answer, but despite the overall serious tone of Spire, Surge, and Sea, I still managed to fit in a few zany comedy bits.

This is a solo effort, but you’ve written with a writing partner and as part of a group. I’m fascinated to hear how the writing process differed for you in these different projects.

The development and writing process for The Bread Must Rise, A Death in Hyperspace, and Spire, Surge, and Sea was drastically different in each case.

In The Bread Must Rise, James and I set up weekly video meetings, pretty much from the outlining process all the way through to the day we turned in the final game. We spent a lot of time in those brainstorming, bouncing jokes and ideas off each other, working through bugs and code problems, and generally figuring out what in the hells we were doing.

All that talking made the game a lot stronger and more successful, I think, than if either of us had gone it alone. It was really a collaboration in the purest sense of the word, in that I don’t think there’s much of that game that only a single one of us wrote. We each tweaked and changed and planned pretty much all of it together!

A Death in Hyperspace, which has ten(!) co-authors, was a very different beast. I came up with the frame and concept of the piece myself, and most of the writing was done in a question-and-answer kind of format. I guided the other writers through a character creation process, with a few parameters in place, and then had them describe their character’s backstory and answer a series of questions from the point of view of Pearl, the game’s player character, who is an intelligent spaceship trying to solve a murder mystery. The other writers also wrote some of the ship’s rooms, though, and provided great insights into its mechanics and narrative throughout.

Again, what makes the game so special and interesting is the way all those different people’s perspectives have shaped it. It was a blast to work on, even though I should have been working on Spire, Surge, and Sea when I wrote it. Considering people liked it well enough for it to win a Nebula, I guess I’m not sorry about that constructive slacking off. (But don’t tell Jason I said that! 😉 )

When I’m writing by myself, I’m also a lot more self-indulgent! Usually I try to keep that tamped down, but for Spire, Surge, and Sea, I let myself lean into it a bit. Probably the place that is most obvious is in the prose, which tends to be a bit more flowery and elaborate. Plus I made some minigames, which was fun!

I sometimes struggle to stay motivated and finish solo projects properly, as well. The fact that Choice of Games contracts have deadlines are a big help, but with collaborations I know other people are also invested in a project before it’s completed, so I’m more likely to follow through.

I will say that, with a game the size of a Choice of Games title, there really is no such thing as a completely solo effort. Spire, Surge, and Sea was a giant mess before beta testing. It’s really only thanks to the work of the many folks who tested it that it’s any good. So THANK YOU, beta testers! All the commentary and testing you provided, whether big or small, was immeasurably helpful.

I’d like to give a special shout out to Aletheia Knights, beta tester extraordinaire, without whom chapter 2—and the tension and clarity it brings to the world—would literally not exist. As always, her feedback made this game much, much better! I’d also like to to recognize Choice of Games forum member Mr_DeBlob for finding many bugs and making many excellent suggestions over the course of a number of playthroughs spread across about a month and a half.

You’re a heavy hitter in IF with The Bread Must Rise being a Nebula finalist for games in 2023 and your multi-authored A Death in Hyperspace winning this year’s award just a few weeks ago! Have you realized all your game-writing ambitions yet or what new styles and genres do you think you’ll be taking on next?

I’m proud of the recognition those games have received, but struggle to conceive of myself as any kind of hitter!

To be honest, I think the collaborative aspect of both those games is what makes them shine. I’d love to work on more multi-author games in the future—it’s always exciting to see multiple perspectives combine and shift, and what comes out in the end is always the better for it.

Outside of that, I’ve been interested in trying out games that aren’t just completely text. A Death in Hyperspace takes the first tentative steps towards that, with music and a few very small graphical elements. I’d love to learn Unity or Godot or some other game engine that mixes writing with graphical assets, but I’m not sure I have the time!

One thing I’d really like to do is write a game that makes it to game consoles one way or the other. Maybe some day. 🙂

What non-game writing work would you like our readers to know about?

If you enjoy Spire, Surge, and Sea, you might enjoy my short story collection The Butterfly Disjunct. It’s a collection of science fiction stories, and while some of them are funny and some of them are sad, the emphasis in all of them is really on the characters. That’s available in print and ebook from various retailers and directly from the publisher, Interstellar Flight Press.

If you’d like to keep up with what I’m doing next and what I’ve been reading or playing lately, you can also sign up for my monthly newsletter. I try to keep the self-promotion to a minimum, so usually it’s me sharing things I’ve enjoyed or diving into interesting topics.

In terms of other people’s work, I’ve been tearing through Victoria Goddard’s Lays of the Hearth Fire series. They’re lovely and engrossing, if quite long! And if you’re into space opera, you’ll enjoy The Splinter in the Sky by Kemi Ashing-Giwa and The Stardust Grail by Yume Kitasei. Both have memorable settings, tense plots, and great characters.

Do you have a favorite IF you want to encourage folks to play?

Generally speaking, I find myself drawn to games that take chances or do something unusual as well as having solid writing.

On the book-length Choice of Games front, I really enjoyed Natalia Theodoridou’s meta horror game Restore, Reflect, Retry. It’s got a wonderfully creepy voice and plays with one of my favourite tropes: the dissonance between the player and the player character. Plus, it’s got lots of fantastic storytelling even without that.

Slay the Princess is another game I’ve played recently that explores that trope. It’s a visual novel, so maybe not IF strictly speaking, but I think anyone who enjoys strange and twisty games will love it.

(Both of these games were also Nebula finalists this year, by the way!)

Naca Rat’s Teahouse of the Gods is another of my COG favourites. I was really impressed by how it takes the “design your character” mechanic common in a lot of COG titles and turns it into something that genuinely impacts how the characters of the game interact with you—and vice versa. Plus, anyone who enjoyed The Bread Must Rise will appreciate its somewhat unconventional approach to romantic interests!

On the shorter front, I tend to enjoy weird Twine games rather than parser based pieces. Again, it’s probably that preference for the unusual and experimental! (Also, to be honest, I am awful at solving puzzles…)

Queers in Love at the End of the World by Anna Anthropy takes ten seconds to play but sticks with you much longer.

Zoinks! by Elizabeth Smyth is less experimental, but it’s a lot of fun.

I do enjoy Ryan Veeder’s hilarious Castle Balderstone games. They’re parser-based, but super weird, hilarious (worth saying twice), and not too difficult.

That said, I have a soft spot for great characterization as well.

Brendan Patrick Hennessy’s series of IF about Bell Parks (child detective and, eventually, grown-up detective) is charming through and through—and also often hilarious.