There’s a deep part of me incredibly fond of text adventures. I remember waiting for my Uncle’s TRS-80 to load (it took so long — I remember it as hours — to read that tape) and then to play for just a bit. To open the mailbox and see the house on the hill. To have the whole thing crash and have to be reloaded. I spent several days with them that year and made no progress in the game. Later, I got Diplomacy for my Apple ][c, and played Hitchhiker’s Guide on a friend’s Commodore. I wasn’t really a gamer back then, games didn’t fascinate me the way they do now, but there was something about text adventures I liked.
In the past few years, I’ve played a few. I’ve watched the AIF community grow and wane and grow again with different types of “adult interactive fiction” games. I’ve played more point and click adventures in their renaissance than I ever played in their heyday. But while I like them, I don’t really play them. On the other hand I yearn to make them. This seems contradictory to me, but there’s something about the possibility space of IF that fascinates and challenges me as a story teller.
Inform does have a web-based exporter, IIRC, and it will be simple to find an interpreter for Inform that will run on just about anything. That’s pretty cool of Inform, and is certainly worth anyone’s time.
So it’s hubris to think that this is needed; it’s hubris to just think I can do it and be successful at it. But then, hubris is for this very reason one of the traits of a great programmer.
The project will be split into two pieces, much like TADS. One will be the parser/disambiguator (which figures out what verb/command you are giving, and which objects you are referring to. It figures out you are taking or putting and that it’s the red ball not the blue pencil that you are taking. I’m calling it Mydas because it touches every other part of the project, and because it’s the species name for the Green Turtle (Chelonia mydas). The other part of the project is the library of objects which the parser uses and which authors will instantiate or override as part of their game creation. It will be called Chelonia, for obvious reasons.
I’ve already started and had some missteps, which will be the subject of future posts.