Hadean Lands is on sale as part of the Boston-Based Indies bundle on Steam. That's a 15% discount for five titles:

Not on Steam? I've set up a one-week sale on Itch.IO as well. (No bundle there, just Hadean Lands.)

Enjoy! And thanks for supporting Boston local game developers.


Occlude: design ruminations

Sunday, July 13, 2025

Comments: 2   (latest 6 hours later)

Tagged: occlude, reviews, ruminations, tributary games

It's unfair to describe Occlude as "Solitaire... but eeevil!" But it's also funny so I will.

No, no, let's start over. Someone has constructed a ritual which allows you to change the past. One could use it to, oh, for example, obviate the sin of murder. Is that a good idea? Will there be repercussions? Take a guess -- but don't worry, you can UNDO any wrong guesses...

Mechanically, this leads with the solitaire. It's an interesting solitaire variant: you can stack both up and down on the tableau, and build both up and down on the foundation. (No spoilers, the tutorial screen explains this stuff.) Not too difficult once you've played a couple of hands -- but! There's a secret rule. Seven secret rules, in fact: Occlude presents seven scenarios, each with its own secret. Your clues are a set of four coins which shift and flip as you play the game. To complete a scenario, you must win the card game and satisfy its secret rule.

On the narrative side, well, no spoilers, but each scenario is a different person in a different year. You will see how they fit together.


Discoggin: an IF bot for Discord

Friday, July 4, 2025   (updated 1 day later)

Comments: 2   (latest 1 day later)

Tagged: discoggin, discord, bots, if, interactive fiction, terps, interpreters, inform, ink, yarnspinner

Here's a new toy: a Discord bot that plays IF games.

Say you've got a group of people who want to play an IF game together. You'd log into the IFTF Discord and go to the #zarfbot-9000 channel. (That's where the bot is currently running.)

Type /games to see a list of available games, then /select GAME to select one. Or if you want to install one off the IF Archive, say, you could type a command like

/install https://ifarchive.org/if-archive/games/zcode/huntdark.z5

(These are regular Discord slash commands. Hit / in the #zarfbot-9000 channel to see a list of bot commands. You'll have to scroll down to "Discoggin-IF", mind you. The IFTF Discord has a couple of different bots installed.)

After selecting or installing a game, type /start to start it up. Or maybe the game is already running! If someone else installed it, they might have been in the middle of a session. This is meant for social play, so you can jump back in and continue seamlessly where the last player left off. Type /recap to see the last few commands.

What are commands? Simple: type >GET LAMP. No slash; that's a regular channel message starting with the > character. The bot will accept the command and respond. It ignores non-> messages, so you can freely discuss the game with your friends in the channel.

A a couple of commands from a session of Lost Pig by Admiral Jota. From Lost Pig by Admiral Jota.


Hybrid is hard

Wednesday, July 2, 2025

Tagged: narrascope, hybrid, conferences

We have wrapped NarraScope 2025! It went great. Everybody loved it, on-site attendees and remote folks.

Hybrid conferences are hard, my friend.

This is our third hybrid conference -- but really this is the first time we got a grip on the problem. I think we got it right this time... at a cost. We spent way more effort on tech/AV than in any previous year.

(I say "I think we got it right" because we have not yet posted the videos to Youtube. That's the final step, and it's where we stumbled hard in 2024. More on this below. But we should be on track this year.)

I get no credit for any of this, to be clear. I was not on tech. Our success was due to (a) the planning and foresight of Logan Clare, who made the long voyage down from NYU to be our on-site tech lead; and (b) a cadre of volunteers who ran themselves ragged setting up, testing, and debugging every single talk session.

So I don't have every detail. But I want to write up The Way Things Went, for the benefit of future hybrid conferences everywhere.


Home from NarraScope! Here's what I've played this month.

  • The Operator
  • Dungeons of Hinterburg
  • TRON: Catalyst

Predictions in the Apple-sphere

Tuesday, June 10, 2025

Comments: 22   (latest 4 hours later)

Tagged: apple, ios, macos, ipad, apple vision pro, backwards compatibility, ui, swift, ai, llms

A couple of months ago, I wrote:

[...] It may become impossible to launch a new programming language. No corpus of training data in the coding AI assistant; new developers don't want to use it because their assistant can't offer help; no critical mass of new users; language dies on the vine. --@zarfeblong, March 28

I was replying to a comment by Charlie Stross, who noted that LLMs are trained on existing data and therefore are biased against recognizing new phenomena. My point was that in tech, we look forward to learning about new inventions -- new phenomena by definition. Are AI coding tools going to roadblock that?

Already happening! Here's Kyle Hughes last week:

At work I’m developing a new iOS app on a small team alongside a small Android team doing the same. We are getting lapped to an unfathomable degree because of how productive they are with Kotlin, Compose, and Cursor. They are able to support all the way back to Android 10 (2019) with the latest features; we are targeting iOS 16 (2022) and have to make huge sacrifices (e.g Observable, parameter packs in generics on types). Swift 6 makes a mockery of LLMs. It is almost untenable.

[...] To be clear, I’m not part of the Anti Swift 6 brigade, nor aligned with the Swift Is Getting Too Complicated party. I can embed my intent into the code I write more than ever and I look forward to it becoming even more expressive.

I am just struck by the unfortunate timing with the rise of LLMs. There has never been a worse time in the history of computers to launch, and require, fundamental and sweeping changes to languages and frameworks. --@kyle, June 1 (thread)

That's not even a new language, it's just a new major version. Is C++26 going to run into the same problem?

Hat tip to John Gruber, who quotes more dev comments as we swing into WWDC week.


AI web scrapers: a data point

Wednesday, June 4, 2025

Comments: 9   (latest 7 hours later)

Tagged: ai, llms, web, ifarchive

We all know that the Web is currently under attack by AI companies trying to turn scraped data into venture capital. I'd link to the early article I saw sounding the alarm, but I can't find it because there are hundreds of search hits on "ai bot scraper problems". I guess this article (arstechnica, March) was a big one.

This hit home for me when IFWiki started to show intermittent errors from server load. The server admins for IFTF and IFWiki are currently looking into solutions for that, so I will say no more about it. (I'm not the IFTF tech guy any more!)

However, I am still the IF Archive guy, so I took a look at its logs. Turns out the Archive is getting hammered in the same way. It's just not causing any problems. The IF Archive is entirely static files (except for the search widget). Cloudflare over Apache on static files can handle this load without breaking a sweat.

But I spent a bit of time analyzing the log data. Here's 15 hours of user-agent strings from yesterday:


A quick reminder: today is is the last day to register for NarraScope 2025 if you want to attend in person. (Remote attendance will be open until June 18th.) If you want the conference rate at the University City Study hotel, you need to grab that today also.

Friday workshops are up on the schedule, too. As always, workshops are free, but you must be registered for the conference (remote or in person) to sign up for the workshops.

See you in Philadelphia in, yikes, four weeks!


Counting the wreckage

Thursday, May 22, 2025

Comments: 3   (latest 1 hour later)

Tagged: promotion, web, search, history

It happened that I was looking back on my old game reviews, and I hit a link to a game web site, and the site was gone.

Not a shock. Web sites vanish. It made me sad, though. I like those single-game, single-message web sites!

I doubt anybody loves building them. There's this sense of capitalist obligation. If you're shipping a game, you need to grab a vaguely suited domain name and put up (a) screenshots and (b) links to all the store platforms and (d) a press kit in case a journalist notices. Once the game ships, you go back and fill in (c) adulatory press quotes. That's how you get any google juice there is to get.

I did this for Hadean Lands, and now every time I mention Hadean Lands on my blog I can link to hadeanlands.com. That's great. Search engines dig it.

But of course I am on board with keeping my web site alive over decades. I registered eblong.com in 1997, I believe. It will run as long as I pay the bills. When I registered hadeanlands.com in 2010, I put it on the same hosting service and the same bill. No extra effort.

(Yes, my will allows my beneficiaries to keep my web sites running. I said decades, I meant decades.)

Not everyone can; not everyone does. How many sites have we lost?


Spring narrative games

Saturday, May 17, 2025

Comments: 2   (latest 20 hours later)

Tagged: reviews, south of midnight, old skies, the horror at highrook, lab rat

Here's a bunch of reviews that have accumulated! Gotta push them out before the stack falls over.

There's no common theme here except I played them all since GDC.

  • South of Midnight
  • Old Skies
  • The Horror at Highrook
  • Lab Rat