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


7 responses so far ↓
Nicola // April 30, 2009 at 11:58 am |
That’s an awesome story!!!! Funny
IF + Silverlight + Linux … Almost! « Chris Cavanagh’s Blog // May 19, 2009 at 12:04 am |
[...] 19, 2009 · No Comments Using the latest preview of Moonlight 2.0, SilverGlulxe (Interactive Fiction interpreter) is [almost] running on [...]
Ovidiu Carstea // January 11, 2010 at 11:52 am |
Hi Chris,
I like your online demo. I tried the source from Codplex but the project has some missing files and do not compile.
Can we get a working project?
Thanks,
Ovidiu Carstea
Chris Cavanagh // January 11, 2010 at 12:05 pm |
Ovidiu – Which files are missing? I’ll get them added right away. Fyi it’s likely I’ll post an update soon to resolve the Linux/Moonlight font issue.
Ovidiu Carstea // January 12, 2010 at 3:48 pm |
Hi Chris,
The files on codplex is: silverglulxe-29544.zip
The missing files are:
BigEndian.cs
Blorb.cs
ExtensionMethods.cs
IFF.cs
and the referenced file: FyreVMSS_SL.dll
Regards,
Ovidiu
Chris Cavanagh // January 12, 2010 at 3:56 pm |
Ovidiu – I’ve added the missing files on CodePlex (changeset 36861). I’ve also added the missing DLL to the main project folder; you may need to re-add the reference in your project. Let me know how it goes
Matt Wigdahl // January 19, 2010 at 4:30 pm |
Is there any way to control what font is used for display, either from the author’s side or the player’s side?
Impressive work!
Matt