Update: I got the box open! I’m not going to tell you how though…
My son recently started working on an interactive fiction project. Obviously I jumped at the chance to see what we could achieve with Silverlight 🙂 …
Interactive Fiction has come a long way since the text adventures I played in the 80’s (H2G2 and Leather Goddessses of Phobos 🙂 ). The original Infocom games used their own virtual machine (developed in 1979! – see Z-machine) so could be ported to many platforms with minimal effort. Over the years the bytecode format was enhanced, eventually supporting graphics. Other virtual machines were developed too, including Glulx (by Andrew Plotkin) which aimed to overcome limitations of the Z-machine formats.
In 2007 Graham Nelson released Inform 7, a design tool that allows you to write interactive stories with natural language, then compile them as Z-Code (Z-machine) and Glulx programs. You can find Z-machine and Glulx interpreters for most platforms, but typically they’re written in C and bring their own baggage to the party (such as the Glk API).
In 2008 TextFyre released a shared source version of their FyreVM engine. It’s written in C# and exposes a simple “channels” mechanism in place of the Glk API, which allows you to do anything you like with the input and output. Here’s what we ended up with (currently running a story called Lowell’s Paradise by Jesse McGrew, who also wrote FyreVM – click image or here to run):
When you’re done with that, here’s another fun story called “Chocolate Freak” by Zapman: 🙂
One last thing… Source code is available! You can get it right here on CodePlex 🙂