Zifmia - A Client/Server Multi-Platform System

This assumes the author of the game is aware of Channel IO. I thought this was about running existing (and feature) games, that don’t know anything about Channel IO, on the web. Maybe I misunderstood the whole concept.

Well, that’s a trick. We’d have to implement a way to convert Glk calls to Channel IO for “standard” games. Games that use the windowing feature heavily wouldn’t make it through zifmia.

Here’s a sample XML Schema of what is in the output package after every “turn”.

We don’t actually use XML, the output package is tightly coupled to the consuming interface in the standard FyreVM c# code. But I think for Zifmia we would move to a soft interface using XML.

I approve of this goal whole heartedly! I plan to develop a new IO system myself, so eventually you’ll have some competition.

But my point is that this project could have a beta release far quicker if you started with Glk, as we wouldn’t need to write the JS client, nor would the backend VMs need patching. You could complete the stateless AJAX system and get people finally playing TADS3 games on the net, while working on the Channel IO implementation after that.

Okay, I see.

Thanks for the detailed explanation and good luck with your project.

Emilian K.

As mentioned on the Textfyre blog at chicagodave.wordpress.com, I now have a functional client/server implementation of FyreVM, including emittng hyperlinks in Inform 7 and being able to click them on a web page.

Check out the sample game at zifmia.plover.net.

David C.

When I type “look” and hit return, the page refreshes (anyway, I get the banner text and kitchen description). This may be something to do with Firefox (3.0.5) – there’s this horrible, horrible setting I’ve been unable to turn off where if you hit delete when focus isn’t in a text box, it treats it as a back button, and I think return might do something similar – but anyway, I thought you should know.

Hi David,

how about printing the hyperlinks with an (empty) href and a descriptive title ? You’d get a changing mouse pointer and a tool tip automatically from most browsers.


This is just a test page implementatin. The default button is the start game button.

Properly implemented, there would be one button, but underneath it will handle whether it’s a start game or send command.

I’m going to work the demo of Shadow into Zifmia with AJAX and hopefully some nice styling.

David C.

Well done! Obviously needs a lot of work, but this is very encouraging!

It should be easily possible to make a segmented text substitution to neaten that up for client code, so you could use something like:

Wiki style links would make even more sense:

The Bedroom is east of the Kitchen. “You are in the bedroom. The kitchen is [west] and the bathroom is [nearby to the north|north].”

There are some wiki processors in JS already, so the job would be half done.

I notice you used the namespace “FyreVM” … and not “Textfyre.VM” Probably because they are different?

Also that FyreVM.OutputChannel does not exist…

I am looking to replace some codes use of extfyreVM.dlls with this … will I be able to?