One of the discussions that came out of PAX was with Iain Merrick. He asked me off-hand, “What sort of projects are there on the side that I could help out with?” and we talked a bit and he was very interested in the idea of a hosted IF platform. Something where people could upload a game file to a server and through a browser, the game could be played.
Interactive Fiction is moving in this direction from a number of angles, so from the discussion with Iain, I came up with Zifmia. Zifmia is a project that will be open source and hopefully have the ability to execute Z-Machine, Glulx, and TADS 2/3 games server-side, with the input and output happening within a standard browser.
The infrastructure is intended to be deployable on any system (Windows, Linux, OS X, Solaris) given the appropriate implementation layers.
I’m in the process of porting FyreVM to a client/server implementation. Since we developed FyreVM with Channel IO, this will likely be a relatively easy process.
I’ve also talked to Mike Greger about using his z-machine implementation for Zifmia and he’s tweaking a current version to allow Z5 and Z8 game play, but probably leaving out some corner cases. Any games that do “video graphics” aren’t going to work in a client/server model. Games that do layout might be adapted later, but we want to try to make the larger portion of “standard” output games work first.
Ironically, the TADS 3 Live Journal crew chatted about a similar solution and it sounds like Mike Roberts is working on something. Mike is looking at what Zifmia is trying to do and we may be able to incorporate a TADS 3 engine.
In order for this to move forward, I’m contemplating moving FyreVM to a standard open source license. Not GPL, since I don’t feel comfortable with it, but probably a Creative Commons license that allows free use and derivative works.
The goal is to give IF a shot in the arm as far as author platform choice and wide open web play on all devices.
I know Parchment is a different approach and Zarf is working on a similar implementation of Glulx. Zifmia is just trying to separate execution from I/O completely.
By turning the story execution into a stateless web service process, the user interface has to be connected, but it can be anything (Flash, HTML and AJAX, Silverlight, Java, Windows or Mac program).