How to read this document

Gull's three big sections are all fairly independent. If you don't plan to do any Inform programming in the future but are curious as to what this Glk thing you've heard people talking about might be, for instance, you can just read the first section. If you already know exactly what Glulx Inform is and just want to know how to play music with it, you can start with section two. And if all you want is to see some of the things Glulx Inform can do, you can go right to the sample games if you'd like. It's up to you.

However, within each numbered section, it's a good idea to start at the beginning and read the lettered sections in order. Some of the later sections assume you're familiar with earlier sections, so if you skip straight to the part about mouse input, say, you may be confused by the mentions of the routine HandleGlkEvent() -- which is explained several sections earlier, in the part about graphics window handling. To this extent, Gull can be viewed primarily as a tutorial. It's also a cache of code for you to use and customize: feel free to copy and paste the IdentifyGlkObject() code and tinker with it, for instance, rather than trying to memorize it and reconstruct it on your own, line by line.

One thing Gull isn't, however, is a complete reference. Though a big part of Gull's raison d'etre is to provide a friendlier source of information about this stuff than the Glk spec, it most certainly does not supplant that document. Gull makes no attempt to be comprehensive or authoritative, or even especially well-organized. Eventually, you will probably find yourself more often turning to the Glk spec, the Glulx spec, and the Game Author's Guide to Glulx Inform than to Gull. But those documents aren't especially comprehensible to the hobbyist programmer without at least a basic grounding in the material they cover. The purpose of Gull is to provide that grounding.

Return to the table of contents