Monday, July 1, 2013

Zarfplan: Seltani, or what I did in June

Up front, here: what I did in June was not work on Hadean Lands. The secret project ate my soul and my life.

This will happen sometimes. I spent a bunch of 2011 working on Meanwhile and other early iOS projects. In 2012 and 2013 I have made steady progress on HL but not daily steady progress, and this is because I am balancing the usual large number of things. In June I got obsessed and the balance went sideways. In July I will drag it back.

(I could make myself look better by pointing out that this idea clobbered me in February, and I managed to put off starting it until May. Okay, that doesn't make me look good, exactly...)

Shall I leave the post with that? No, that would be tacky. If I'm going to foist you off with this "secret project" excuse, I should pull back the curtain and give you a look. Behold -- (shwoooosshh) Project Seltani.

Seltani is interactive fiction -- but not traditional, parser-based IF like HL. It's... sort of the love child of a text MUD and a CYOA engine, conceived in the stairwell at a Myst fan convention...

This metaphor, it has failed. Let me start over.

I'm not a hardcore MUD person, but I've been on a few, starting with the classic TinyMUD at CMU. The TinyMUD family are social text environments. They were supposed to be like interactive fiction, but multi-player and real-time.

It never exactly worked that way. I've never been on a MUD that had a real, Infocom-quality (or Inform-quality) parser. It's not a technical problem -- zog knows all these parser libraries were cobbled together by the same sort of hacker geeks. It's a design problem. In good parser IF, everything the parser tells you is tuned to the particular game -- that's how you learn how to play the game. Even though most of the IF commands are pretty standardized, there's always some give-and-take. You type "WEIGH ANCHOR", and the game responds "I don't know that command," or (in a pirate game) "You're not on a boat!" So you learn. Even a simple response like "What do you want to unscrew the screw with?" points at a potential puzzle -- and if the game doesn't ask that, you probably aren't looking for a screwdriver.

This whole model falls down in MUDs, because MUDs are (in general) extensible by multiple authors. Every area in a MUD could have different potential actions. So there's no way to learn them. TinyMUD's model was to have different actions for every object. Even a simple command like "push" wouldn't be recognized if it was applied to a random bit of scenery.

That was frustrating. I did a little bit of MUD building, but it wasn't really up to what I wanted. And that stayed in the back of my head for twenty years.

Second angle: Twine. This is a hypertext-style game system -- that is, choose-your-own-adventure -- which has gotten a lot of attention recently. (Credit to indie designer Anna Anthropy for getting that ball rolling, and old-time IF guy Chris Klimas for the Twine engine.) It's got a really smooth learning curve. Twine isn't a programming language optimized for text games (like Inform); rather, Twine is a wiki optimized for text games. You write passages of text, and link them together. It's a very simple model that gets the job done.

I'm a programmer and code doesn't scare me, but I can see how a wiki is way more approachable than a compiler. So I started thinking: does it make sense to build a multi-person, wiki-style text world?

Third angle: Myst Online. I don't post much about it here, but I used to be active in Cyan's abortive attempt at a Myst MMO. It sorta-launched several times from 2003 to 2007, and now hangs on as a free service kept alive for the fans.

Fans being fans, there's an ongoing effort to mod in new content. It's a very slow effort, because 3D modelling is an infinite abyss, and (obviously) the codebase is getting antiquated. People have built some cool stuff, but it's still a trickle, and there are way more ideas than there are finished areas.

So now I start thinking: does it make sense to built a multi-person, wiki-style, easily-extensible, all-text Myst fan MUD? Project? Thing? I know that people want to build worlds, and some of them are programmers but some aren't. And there are plenty of MUDs out there, but they all seem to be bogged down in this half-baked command-line model; they're hard to play and they're really awkward to build in. And there are plenty of Twine games out there, but only a few of them have any notion of multi-player, and those aren't the sort of hang-out-with-your-friends social environment that MUDs provide.

There must be something at the intersection, I thought. I could see it; and nobody was doing it.

Reader, I had to do it.

Seltani is not yet public. (Although you'll see the teaser page at, and you can find the source code on my Github page if you really want.)

The engine, and my first few worlds, have had some very limited testing. I struggled to finish the world-building interface by the end of June, so that I could push it out the door... and I did, but I haven't finished writing the documentation yet. Hopefully this week I can invite in a few alpha world-builders, and then the server will crash a lot and I will rend my garments and howl at Jupiter's moons. After that...

I think this is important. It's a new style of MUD, it's never been seriously tried -- as far as I know -- and I think it could turn big very quickly. Or not! If I were reliably right about things turning big on the Internet, I'd have a gold-plated sofa. But I need to try it.

In the meantime, July will be back to HL progress, as well as the April secret project (which has not advanced beyond its last milestone, argh). I will certainly lose some time to fixing Seltani bugs; this is inevitable. But life will go on.

Comments imported from Gameshelf

vaporware (Jul 2, 2013 at 2:40 AM):

If you'd like to see what a MUD with a real, Inform-quality parser and world model looks like, visit :)

Festus McGee (Jul 2, 2013 at 2:44 AM):

Whaddya want for $31+ thousand?

Aren't you embarrassed at all? Just tell me you're a little bit embarrassed, and it'll be all better.

Andrew Plotkin (Jul 2, 2013 at 10:50 AM):

I'm embarrassed. But only marginally more embarrassed than I've been for the past year, because, when it comes down to it, the game is still not done. You donated money for a game, not exciting progress reports.

vaporware: You're totally right. Guncho does keep flying out of my head (and I'm embarrassed about that too).

James Wilson (Jul 20, 2013 at 12:43 PM):

I'm pretty sure you can't add/modify manmade constructs in a descriptive book, you have to build them yourself once in the age. Saying this cause the teaser site mentioned doing that

Andrew Plotkin (Jul 20, 2013 at 1:37 PM):

You're right -- I am deliberately modifying canon in some places.

The design is guided by what works best for the online environment, not necessarily what fits (the various iterations of) Myst canon. These are text worlds, and the creator can update them at any time, in any way -- even when other players are present. That's by far the easiest way to model things, and it makes debugging and typo-fixing easy as well. Trying to distinguish between "artificial features" and "natural features" in the text would be a pointless battle, so I don't try.

Similarly, there's no prohibition in Seltani about linking between locations in the same Age. Simplicity and a consistent world model are more important.

No comments:

Post a Comment