Posts Tagged ‘glulx’

Overheard on ifMUD last week was an observation-only comment about Zifmia being vaporware. I was amused by the comment, since I have made great progress on the entire project in the last few months. I just haven’t been talking about it all that much. Since there has been no demonstration of Zifmia and no public discussion, the vaporware comment was accurate.

However, that is all about to change. I have a working system and although I’m slightly side-tracked with a potential investor meeting on the 16th, a beta of Zifmia is coming this month. The beta will be a replacement of the entire website into a game portal for Interactive Fiction developed with Inform 7, FyreVM and Zifmia extensions, images, js, css, and html.

A version of Cloak of Darkness will be present in the beta along with a demo version of Shadow in the Cathedral. A full version of Shadow will be added when the payment system is ready. Other features will be added over time, including the ability to upload your own games and web provisioning. I intend the beta of the new Textfyre website to be an extended period of time, to let the kinks iron out.

One of the first tasks will be to adapt extensions for the “standard” Zifmia design, which will be very simple. You can see a functional sample of the latest standard design at The opening page is a templated “prologue” and following a press of any key, the main template is displayed. Currently there is a column of main text, some spot art, fly out text windows on the left and right, a command line text box, along with map and hint buttons.

Templates are based on straight HTML5/CSS3 using jQuery and various jQuery plugins. I’ve tested this design with IE9, FF 5, and Chrome. It does not work on mobile devices as I see that as a separate template entirely. I plan to investigate jQuery Mobile to help with that work.

I plan to move forward with this design and implement an Inform 7 extension to implement the various pieces. It shouldn’t be too hard to create simple Inform 7 markup that translates to html with known classes.

Feel free to test it out and leave comments.



On the way to our mobile platform I discovered that some of the games people want to publish are Inform 6 games. I’d like to maintain a consistent platform using FyreVM and so we’re left with a somewhat non-trivial task. That is, the conversion of the Inform 7 extension “FyreVM Support” to a Glulx Inform 6 library include file.

I may take a crack at this over the coming days, but if anyone else feels up to the challenge, there might be a reward of some sort in exchange for your valiant and much appreciated efforts.

There are a couple of versions of FyreVM Support, one for 5Z71 and one for 6E__. If you’re interested, check out the project source at SourceForge.

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).

Textfyre is still in the process of business development. This means that the business plan is fluid. We have to adapt to new ideas, new market pressures, and of course, we need to generate revenue, even if it’s small.

Secret Letter’s sales have been slow and that’s probably because we need to get it into the target market’s hands. Getting a text game in the hands of a middle-school student is very difficult, but we’re inching closer to seeing that happen. In the meantime, we need to diversify our plans and try to market to the indy/casual/hobbyist gaming communities. So we’ve made some dramatic changes…

All future releases of Textfyre games will have a Hobbyist Edition, which will come with the same End User License Agreement, an Introduction, Hints, and the raw Glulx file that can be played on any existing Glulx interpreter. The raw Glulx file will also be included in all other editions, except for the Classroom Edition, which is a different delivery model anyway.

We still expect to get the games into classrooms on a per-student seat licensing basis, but we need to build the business however it comes to us. We’re going to try to market to casual gamers interested in IF and see where that leads. It looks like The Shadow in the Cathedral is going to do well in this area where Secret Letter has not. I believe the next game, The Empath’s Gift, will also do well in this manner.

I’ve also realized that aiming a little higher with game content is probably a wise move. Secret Letter may be a little too simple in its story-telling. Blame me. I have four daughters and was really basing my instincts on their interests. My two eldest daughters are now reading tween books that are well beyond Secret Letter’s story-telling.

The pricing has come down and we’re okay with that. The gaming market is competitive and online prices aren’t the same as brick and mortar prices. If we ever box up the games and get a chance to sell them in Borders or BN, the price will most likely increase.

The price of the Deluxe version of Secret Letter is likely to come down too. I’m weighing what price point makes sense.

There will be a Deluxe version of Shadow, but probably not until next year.

Version 2 of Secret Letter is due out any day.

I’m glad to see the reviews by Emily Short at IFDB and PlayThisThing. It’s gratifying to see we’re doing good works.

One of the reasons I started Textfyre was that I had and have a firm belief that paid programming was a considerable missing component of the development and improvement of Interactive Fiction as an artform and medium. The “IF community”, depending on your definition of such a thing, generally focuses on the academic and hobbyist participatory aspects of the medium. We’ve had a few people sell games within the community and they’ve shared some of their processes and thoughts, but no one has recycled any profits into the community at large.

Although I don’t have any profits (let’s not talk about the increasing debt I’ve incurred) to speak of, I do have a sincere interest in sharing the fruits of our internal workings as much as possible without crossing swords with my attorney.

So with that in mind, we’ve put together a “shared source” version of our Glulx VM implementation named FyreVM which can be reviewed and downloaded from the FyreVM website. By shared source we mean that there is a non-commercial aspect to the source code and we also want to restrict branched versions of the VM itself. Any code you write that uses the FyreVM is of course all yours. We’re going to put up samples and those will all be public domain. We will entertain friendly requests for a limited (individual) royalty-free commercial license.

FyreVM is the culmination of a lot of thought on my part and a frustrated review of the Glk specification. I’m not saying Glk is bad or wrong. I just think its limited in its usability by the average developer. There has been a sizable effort by several people to make Glulx and Glk as friendly as possible and yet we still aren’t seeing any increase in games developed with higher quality user interfaces.

So I’m sharing FyreVM because of how we implemented I/O, which is differently from how Glk implements I/O. FyreVM uses channels to convey all information between the virtual machine (game engine) and the user interface. We’ve completely abstracted away any detailed knowledge of pointers and memory and low level programming hacks to access the I/O interface. The developer has to simply retrieve the text that comes out of each channel on each “turn” in a game and do with it as they may.

To aid in this process, we’ve also created a very friendly set of Inform 7 extensions to give developers the tools they need to create channel based games.

Of course we’re still working on sample games to show off the potential of FyreVM and Channel I/O and we will report updates on the website. We invite anyone and everyone to help create samples for the website.

Textfyre is dedicated to being involved in the interactive fiction community and will continue to share our tools and processes as time, money, and lawyers permit.