Building and Releasing Your Project
Building turns your source into a story file a player can run: a .zblorb, a bare .z8, or an
AAmachine .aastory. Dialog IDE organises this around named export configurations stored in
dialog.json, plus a separate command that wraps a build into a complete downloadable web page.
Export configurations
Run Dialog IDE: Configure Exports…. It is a small wizard that maintains the exports array in
dialog.json. Each configuration has:
name-
What you call it in the picker.
format-
zblorb,z8, oraa. The resulting files are.zblorb,.z8, and.aastoryrespectively. includeDebug-
Whether to compile the
debugsources in. Usually no for a release build. output-
The path to write the story file to, relative to the project root.
dialogcOptions-
Optional. Extra
dialogcflags for this configuration alone.
The same wizard also sets a project-wide default set of dialogc options, stored as the
top-level dialogcOptions key. Any configuration without its own options uses these, and so does
Export Web Page. A common use is raising limits — --heap 2000 --aux 1000 — for a project that
has outgrown the defaults.
The wizard cannot yet edit an existing configuration in place; to change one, remove it and add it again.
|
Export configurations are just data in |
Building a story file
Run Dialog IDE: Export Dialog Project…, pick a configuration, and it compiles with dialogc.
On success it offers to reveal the output file in Finder or File Explorer. A compilation error is
reported with its file:line, so you can jump straight to it.
The sources handed to the compiler are expanded using that configuration’s includeDebug setting
and its format, so a file named something.zblorb.dg is included in a zblorb build and left
out of the others (see Organizing Your Sources).
Cover image
If a file named cover.png exists at the project root, a zblorb build embeds it automatically —
there is nothing to configure. Initialize Dialog Project seeds a placeholder cover.png; replace
it with your own artwork. Unlike a feelie, a missing cover.png is simply skipped rather than
treated as an error.
The downloadable web page
Run Dialog IDE: Export Web Page…. It asks which export configuration should build the story
file, then assembles a complete web page in out/web/, with a matching .zip in out/. The page
includes:
-
the story file, compiled fresh with the chosen configuration’s settings;
-
an in-browser player powered by AAmachine;
-
the cover image, plus a generated thumbnail;
-
the project’s feelies (below);
-
if
default.skeincontains a knot labelledWALKTHROUGH, a walkthrough transcript running from the root to that knot, with any command beginning with*omitted.
The title, author, blurb, release number, and IFID shown on the page are read live from your
project’s own (story $) directives via dgdebug.
This command needs aambundle, from AAmachine, in addition to dgdebug and dialogc — see
Installing the Dialog IDE Extension.
Feelies
A feelie is any file linked from the exported web page. The tradition is a "how to play
interactive fiction" PDF for newcomers, but it can be anything — a map, a manual, an in-world
document. Feelies appear only in the web export; they are not part of a .zblorb.
Feelies are stored in dialog.json as a feelies array, each entry a path (relative to the
project root) and a name (the link text on the page). Initialize Dialog Project seeds two PDFs
and wires them in.
To add one, run Dialog IDE: Add Feelie… and choose a file, or right-click a file in the
Explorer and choose Dialog IDE: Add Feelie; either way you are then asked for a display name.
Dialog IDE: Remove Feelie… takes one out again. A configured feelie whose file is missing is a
hard error when you export — fix the path in dialog.json, or remove the entry.
Story metadata
The project’s bibliographic details live in your source as (story $) directives — (story title
$), (story author $), (story blurb $), (story noun $), (story release $), and (story ifid
$). Initialize Dialog Project writes a starter set into main/meta.dg, including a generated
IFID, which the zblorb format requires.
This metadata surfaces in the compiled story file’s bibliographic record and, for the web export, in the page’s title, author line, description, and its closing "created with Dialog, IFID …" note.
What’s next
Command-Line Testing with dgbuild — running tests and skein checks from a terminal or CI.