There are a lot of people making new languages!

Hi all,

So, I’m testing out a new site I made for people to quickly write and play CYOA-like stories. I posted it a little earlier for comments, and a lot of people were nice enough to offer feedback.

The discussion got sidetracked to CYOA development languages, and I was fascinated by what happened next. I found a huge list of development environments, and on top of that at least three people mentioned that they were working on their own!

I’m not a believer in there being “one right language” for doing interactive stories, whether IF, CYOA, or otherwise, but the sheer multiplicity of them…it makes me wonder if there’s a hole that’s not filled by anything satisfactory, standardized, and open enough out there.

I’m quite curious about this and would love to hear what you all think.

For those making story languages: Why did you choose to work on a new one? Was it something missing from previous options or did you have other motivations?

For those who currently use them: Do you find that what you use at present works well? What’s good/bad in the world of crafting IF/CYOA? Something get under your collar about your favorite language?

I chose to make my own CYOA-like choice-tree-matching tool (I hesitate to call it a ‘new language’, though it could form the core of a language, I just haven’t developed a programming environment for it, besides in LambdaMOO where I do pretty much all my skunkworks projects) because I had ideas about how to absorb and feedback player choices that have never been done before, based on theories about interactivity I had never seen expressed before. (What I said about Space Invaders in the other thread is an important clue to how I see interactivity – I have looked at early arcade history pretty in depth looking for the turn physics engines made that narrative engines never did, and I believe that turn occurred in Space Invaders, and is also strongly in evidence in Pac-Man.) And I still really haven’t seen a lot of those ideas expressed. So it was for my own edification, to test out my own ideas and see if they would work. They solved the things I thought they did but they were not the magical solution to explosion of narrative complexity in interactive work that I thought they would be, as I discovered in trying to use my own tools. However, they are still good tools and they’ve been coming in handy the more I work in IF.

Basically, I had a dream ‘vehicle’ for interactive video and I built the engine for it — I still don’t really have a chassis though: it was to be just interactive video but now it is something much weirder and it may eventually involve using Parchment as just one element of a larger web design. The important thing is, the new hypothesis solves many problems I had with the first hypothesis, and it’s interesting to me and is leading me forward artistically. It’s one of those ‘I have to chase this’ things.

I started working on the concepts around 1999/2000. Took a break from employment etc. to build something big in earnest during 2002-2003. Tried my video project in late '03/'04, then that failed and I was rather destitute so the next 3 or 4 years were basically used up trying to get back on my feet and ‘make it again in the city’.

Anyway, circumstances have brought me full circle and now I am in building mode again, so now is the time when another huge piece is getting added to my code monstrosity.

I wouldn’t portray it as ‘I am dedicated to designing a general-purpose CYOA scripting language’. More accurate would be ‘A targeted CYOA scripting language is one of the tools I’ve created for my ongoing hobby/passion of coming up with interactive fiction design theories and attempting to implement them.’ (Before I discovered Inform I had already written my own parser system and text adventure design language – you would design it in HyperCard and then it would spit out C+±compilable code — this was in around '95, but it died with HyperCard unfortunately. Besides, Inform quickly won me over from my own system as soon as I read the manual.) There are other tools in the same position: there is a whole web page design/blogging platform system I’ve built out of LambdaMOO; tools for auto-tracing linear narratives visually based on simple question-answer inputs (see here and here) and really all sorts of stuff all relating to tracing choice, that piqued my fancy, and that I have plans to release. Some of the tools have been duplicated though by others in the interim, which is also cool because it confirms I’m in touch with the zeitgeist of people who can glimpse all the artistic possibilities that don’t quite exist yet in this medium, and thus I am not actually insane and/or driven by imaginary entities. 87

Because thinking about art and interactivity IS what drives almost everything about me – there is incredible untapped juice there and I am (we are) one of the few people on the planet who really perceive it. That’s an extraordinary thing for we few who are moved to systematising by the crossover between stories and games.

In one sense, I am one of these people with a ton of half finished projects. In another sense, few of them are abandoned (an important distinction, e.g. Tolkien’s process, has anyone read up on it? Fascinating) and some of the projects have been coming together lately into things greater than the sum of the parts. It’s an exciting time for me! Actually more than a decade of work is coming into play lately in my art.

I’ll find out what the universe has in store for my little collection of polished stones eventually. Good luck with your own codepile. If you are very focused about it you will probably advance it much quicker than I do any individual thing. 8)

There are a lot of different reasons and motivations why someone might want to do this kind of stuff.


P.S. Thanks for asking! XD

While I completely dig where Laraquod is coming from, especially given my background in design and my own dabbles with ‘art’, the ‘Plug-and-Play Gamebook’ template derived from a much more pragmatic set of events.

When I first (re)discovered interactive fiction almost a year ago, I wanted to jump in and write something with Inform 7. But from everything I’d seen, writing an IF game is a big undertaking. So, instead, I thought I would get used to the language by creating a CYOA-style gamebook using one of the two extensions that appear on the Inform 7 site ( I figured if anything was going to be simple for a complete beginner to achieve in Inform 7, then this would be it.

As it turned out, both Mark Tilford’s “Simple CYOA” extension and Edward Griffiths’ “Adventure Book” extension baffled me no end. I eventually cobbled together a working version of Admiral Jota’s Grunk and Cheese, but it didn’t work the way I wanted it to.

For some time I left any notion behind of being able to code using Inform 7, then I picked up Aaron Reed’s book. The book is not designed for beginners (few would make it through chapter four without being moderately confused, and I confess to giving up on the book by the half-way mark), but reading about Tables inspired me to reconsider my gamebook idea.

As a community, we’ve been talking about how we can best teach people to play interactive fiction. We’ve also discussed the idea of being able to entice writers (who aren’t coders) to collaborate and bring their creative skills to the genre.

The gamebook template was an attempt to provide a tool that can do both. (And also my first attempt at writing anything substantial in Inform 7!)

Because the gamebooks use z code, they can be played using IF interpreters. This means they can be played across a huge number of platforms, including the iPhone, desktop, online, etc. And this should get people downloading and experimenting with IF terps some more, becoming familiar with the way they work. To this end, the restore, save and restart commands, and use of the keyboard, all work the same way as standard IF. The game examples I put out with the beta also use a lot of conventional IF commands as the links between pages. Hopefully, quite subliminally, players will get used to command conventions such as “enter barn” or “get wumplet”. The better the link between the IF command and what they’re being used to do in a gamebook, the more the IF convention becomes second nature to the gamebook player.

Then there’s the coding side of things. By providing an option to either collaborate with a coder (and directing said authors towards the site) or, better yet, installing and dabbling with Inform 7 themselves, people who may not have considered writing interactive fiction using authoring software are suddenly familiarizing themselves with the program and some of the features.

Add to all of that what I wrote in my blog post ( and my belief that the gamebook form still has plenty of untapped potential, and hopefully that answers at least a few of your questions…


Oh, and I totally agree with Paul… I don’t think I’d call what I’m doing a “language”. Maybe a “system” or a “tool”?

So, Chris… How about you? What was your background/intent? What’s your ultimate goal? You mentioned that you’re new to the scene…

Well, I’m a novice in this space. I’ve played maybe one thing by emshort, Lost Pig (which was a great deal of fun), possibly some third thing, and the rest of my experience with interactive fiction has been with computer games, and RPGs in particular. If you’re familiar with, say, Planescape: Torment or Deus Ex (or heck, even Chrono Trigger somewhat), then you’ll recognize my gaming lineage. :slight_smile:

I did, however, play CYOAs when I was a kid. Fast forward to the present day; I’m in a darkened room in Hotel Pennsylvania, watching an advance screening of GET LAMP. Prior to this, I:

  • Had basically played no interactive fiction (I knew there was a grue out there, but that was it).
  • Didn’t really think about its place in games history, figuring it was replaced by graphic adventures like King’s Quest (gasp!)

After GET LAMP, I thought about CYOAs and something clicked in my head, and that’s where Adventure Cow came from. My goal is not to create a new story language or express some new innovation; I’m just hoping to get more people playing with interactive stories, and more people writing them.

That is an awesome goal, and I wish you all success with it! I hope I can find time to start participating in some of these contests, soon…


Thanks, Laroquod! Speaking of finding time, do you think the summer is a good time? That’s my current plan, which I think works well for schools but probably doesn’t have as much of an effect with working people…

Sounds like as good as a time as any. Personally, I am not really seasonal. I just get gluts of projects sometimes. Right now I am in a huge glut and most of my spare time is going into learning Inform 7 on a test adventure (and learning i7 has been way more time-intensive than I expected it to be, but I’m finding it worth it and interesting, worth it and intersting enough that it’s sucking up larger and larger swaths of my motivation, that’s going into understanding it better). Plus, working on my comic book.

So, there is no best time for me – there are just those times that are freed up by circumstance. Once I feel I ‘know’ i7 enough to write code basically off the cuff with it, it will be one of those wow-i’m-freer-now times, but not sure how soon that will be…


People will (often) find time if the motivation is right. If you really get into something, you’ll start finding that it becomes a priority.

As to how that works with a competition, I think there’s a lot of factors that come into play. Motivation comes in all shapes and forms. A good question to ask yourself, though, is this: what would motivate me to use someone else’s tool to write a CYOA (particularly with the investment easily being in the tens of hours for something decent)?

All the best! :slight_smile: