Quixe: a Glulx VM interpreter written in Javascript

Quixe is a pure-Javascript interpreter for the Glulx IF virtual machine. It can play any Glulx game file (.ulx or .gblorb) in a web browser. It does not require a server component; it runs entirely in the browser.

Quixe currently supports text buffer and grid windows, character and line input, timers, and hyperlinks. It does not (yet) support graphics, sound, or style hints.

You can save and restore games. If your browser supports the HTML5 local-storage feature, the save files will be available from one browser session to the next.

Quixe has been tested on Safari 4 through 5, Firefox 3, MSIE 7 through 8, Opera 10, and Chrome 5. It is not currently usable on Mobile WebKit (iPhone, iPad, and Android) browsers.

Quixe is open-source software.


Try Quixe

You can try some Glulx games right here: You can play any Glulx game on the web through this interpreter. Enter the URL (an .ulx or .gblorb file):


Put Quixe on your own web site

The easiest way to release a game with Quixe is to have Inform 7 build a web site for you. You will need to download this template package:

Download this zip file and unzip it. Move the resulting Quixe directory to the appropriate Inform template directory for your computer. (On a Mac, this is the Library/Inform/Templates folder in your home directory. On Windows, it is My Documents\Inform\Templates. See the "Website Templates" chapter of the Inform 7 manual.)

Then add the line:

Release along with the "Quixe" interpreter.
...to your Inform 7 game.

(This will only work if you have the "Story File Format" set to Glulx in the "Settings" tab, of course. If you are building Z-code, you don't want Quixe at all -- you want Parchment.)

When you select the "Release" option in I7, it will build a complete Quixe installation for your game, in your project's Materials folder. Upload all of these files to your web server, and the game will be playable.


If you aren't using Inform 7, you can still use this facility. Write a one-line Inform 7 game called "Game". Set the "Story File Format" to Glulx, and release it.

Now replace the Game.gblorb file in the release directory with your own game file. Also adjust the game title and author references in the release directory.

Finally, use the game2js.py script to replace the encoded game file:

python game2js.py --giload Game.gblorb > interpreter/Game.gblorb.js

Last updated August 17, 2010.

Glulx home page

GlkOte (the display library included in Quixe)

Zarfhome (map) (down)