Standalone Glulx Apps

When distributing a Glulx game (or a Z-code game for that matter), one may reasonably want to offer a Mac or Windows native app, rather than a game file with some instructions on downloading an interpreter.

(You should always make the portable game file available too, of course.)

On this page I will note what I learned when releasing Hadean Lands on various platforms.

iOS

I used my IosGlulxe interpreter. Here are instructions for building an IosGlulxe app, and similarly for IosFizmo (for Z-machine games).

MacOS

I offered a zip file containing the game file and Mac Gargoyle. This is not ideal -- the player has to launch Gargoyle and then select the game file manually.

I know that you can launch Gargoyle with a given game from the command line:

So this might be rigged up with a shell script. But it would be better to wrap everything, Gargoyle and game file and all, as a Mac application bundle. I have not looked into this.

Windows

I built a Windows installer using NSIS. This installs Gargoyle, the game file, and shortcuts to tie them together.

(NSIS is particularly convenient for me in that it can be run on Mac or Linux, creating a Windows-ready install.exe.)

The setup is a directory with these files:

Most of these files are in the Windows Gargoyle distribution. I dropped all the interpreters I'm not using. (For a Z-machine game, keep frotz.exe instead of git.exe.)

I condensed all the license files into one Licenses.txt. The play-if-card.pdf is available from the PR-IF web site. I also wrote a READ-ME.html and created a cover.ico (cover art icon). You get to do these things for yourself.

You then create a file wininstaller.nsi. This is the config file that NSIS uses to build the installer. Feel free to snarf my wininstaller.nsi template and modify it to your needs.

When customizing this, be sure to distinguish between "GAMETITLE" -- a software key, no spaces -- and "GAME TITLE", the human-readable title of the game.


Last updated January 25, 2015.

Glk home page

Zarfhome (map) (down)