GLIMMR Tutorial

Those interested in using Erik Temple’s new GLIMMR extensions may be interested in this tutorial, which takes the author step-by-step through creating a custom graphical map that will reveal itself as the player moves around the game.

Creating Interactive Fiction with Inform 7

Aaron Reed’s book Creating Interactive Fiction with Inform 7 (http://inform7.textories.com/) has just been released. Something of a spiritual successor to The Inform Beginner’s Guide for I6, Aaron’s
book takes new users through the design, construction, and testing of a single large example story called Sand-dancer. Rather than endeavoring to be a feature-complete reference manual, the focus is on quickly learning how to tell stories using core I7 concepts like relations and activities. Exercises invite readers to test their knowledge by building optional parts of the example story.

The book is up to date with Inform: both technically (it’s compatible with release 6E72 and uses no deprecated features) and in spirit, mirroring the shift in nomenclature from “game” to “story” that took place in recent updates. Focusing on contemporary IF design, the book spends little time on traditional adventure game tropes like locked doors, score, and mapmaking, and uses examples mostly from works created in the last few years.

The 448-page book contains a full glossary and index, a foreword by Don Woods (co-author of Adventure) and a closing thought by Richard Bartle (creator of the MUD). It’s available now from Cengage Learning and major online retailers.

Glimmr Release

image-map

Erik Temple announces the release of his Glimmr project (GLulx Image and MultiMedia Resources). Glimmr is a modular system of extensions that can be used to build dynamic graphical content, such as maps that are revealed as the player move through them, graphical user interfaces and status indicators that respond to the game state, visual puzzles or minigames, and so on.

The centerpiece of the Glimmr family of extensions is Glimmr Canvas-Based Drawing, which provides an object-oriented and largely automated system for defining even quite complex graphical layouts in Glulx graphics windows with only a few lines of code. Glimmr also includes the Glimmr Canvas Editor, a GUI graphics editor that allows authors to create a composition from multiple images or other graphic elements. Once created, the composition can be exported as I7 source code to be pasted into your project.

basic-floorplan-toolkit-glimmr-canvas-editor

The system provides support for a number of different kinds of graphic element, including sprites, image-maps, arbitrary bitmap images–that is, images that are created procedurally in-game rather than from external files–and painted text (text that appears in graphics windows). Authors can design their own fonts for use in text-painting. Future releases in the Glimmr family will provide plug-and-play automapping, as well as HTML-style form input in graphics windows.

Glimmr works on top of Jon Ingold’s Flexible Windows extension, and can be used for multi-windowed layouts. The built-in debugging log can be directed to the main window, a second window, or even to the transcript.

Glimmr extensions can be downloaded individually at inform7.com/extensions, or all at once at http://code.google.com/p/glimmr-i7x/downloads/list. If you’d rather just see the kinds of things Glimmr can do, you can also download the compiled demo story files from http://code.google.com/p/glimmr-i7x/downloads/list.

6E72 now for Windows, Linux CLI

6E72 for Windows and Linux CLI are now available from the download page.

6E72 on Mac OS 10.4 and 10.5

Unfortunately, there appears to be an issue in the IDE under pre-10.6 versions of the Mac OS, such that Inform refuses to run the compiled game in the IDE or to release it properly. This appears to be intermittent and has a workaround (closing a newly-made project and opening it again) under 10.5; in one case on a PPC for 10.4, the workaround does not work.

For more background on this issue, see these Mantis reports: 1 2. When an updated version of the Mac OS IDE becomes available, we will announce the replacement here.

6E72 Maintenance Release

The Mac OS X version of Inform release 6E72 is now available, to be followed by versions for other platforms. This version offers no new features, but fixes a number of bugs from the 6E59 release that were deemed critical or serious. (Some bugs considered mild or cosmetic remain.)

The change log lists the bugs fixed, and more detail about them can be found at the bug tracking site.

Quixe Glulx interpreter

Quixe, a Glulx interpreter for browsers, now comes in a form that can be used to release a website with playable Glulx content. The package and instructions can be found here. Please note that Quixe is still in development, and in particular that it does not yet feature save and restore abilities.

6E59: Phrasebook Index

screen-shot-2010-06-16-at-111153-pm

One substantial change to Inform release 6E59 is the improvement to the Phrasebook tab of the index. The new version has been substantially redesigned so that each phrase expands to a detailed description of syntax, linked to an equivalent portion of the manual.

This is a partial attempt to address the ongoing desire for better reference documentation in Inform 7.

For the time being, we have not updated the plain text “syntax document” that accompanies Inform to account for the syntax of 6E59. One reason for that is time — it would need some hours of work to be brought in line with the new build, and the document maintainer is over-extended — but the other reason is that we are hoping to discover whether the Phrasebook can usefully take over some of the work that the syntax document has done in the past. Obviously, it won’t handle everything — the syntax document addresses assertions as well as phrases, and assertion formats are not discussed in the Phrasebook. On the other hand, the Phrasebook is automatically generated, reliably thorough, and directly linked into the documentation — features the syntax document can’t copy. So we are hoping to move towards improving Inform’s indexing and documentation, rather than continuing to produce syntax documents indefinitely.

Suggestions concerning this — the usefulness of the Phrasebook, and any other elements that might be needed — can helpfully go on the uservoice forum.

6E59: Generalized scene rulebooks

The change log mentions very briefly:

Up to now, every scene has had a “when S begins” and “when S ends” rulebook,
but there has been no way to express rules generalising about scenes. We
can now write, e.g.:

A scene can be bright or dim. A scene is usually dim. Dawn is a bright scene.

When a scene which is bright ends: say “So passes the bright [scene being changed].”

When a recurring scene begins: say “Groundhog Day!”

In addition, text defined in quotes after a scene definition becomes part of the scene description, and is printed automatically when the scene begins.

The new example Entrevaux shows how these features might be used for a scene-centric rather than location-centric kind of programming.

6E59: “end the game” vs. “end the story”

The new build discourages the use of several old phrases; of these, perhaps the most common is the set “end the game in victory”, “end the game in death”, and “end the game saying…”. Almost every project will have contained at least one of these phrases.

Instead, Inform now prefers

end the story
end the story finally
end the story saying (text)
end the story finally saying (text)

There are two reasons behind this change.

One is to move away from the terminology of “game”: not everything produced by Inform these days is a game.

The other is to deal with an inconsistency in the old system. The previous phrasing structure meant “end the game saying ‘…’” could only be used to describe what Inform thought of as “losing” endings. This corresponds to a structure from Inform 6, where there could be only one victory message, but any number of exotic death messages.

The distinction between winning and losing has been replaced by a distinction between “final” and “non-final” endings. This makes a difference only to what is printed by the “Table of Final Question Options”: it is possible to specify some options to be printed only if we have reached a final ending — for instance if there is spoilery information we would like to show the player only after we know he has seen everything the story has to offer.

For more about the options at the end of the story, see the Recipe Book on Out of World Actions and Effects > Ending the story.