Inform6 Quickstart
==================

An Inform6 game that uses the Standard Library follows this basic pattern:

--------------------------------------------------------------------------

Constant Story "INFORM 6 TEST";
Constant Headline "^A demonstration of the Standard Library^";

Include "parser";
Include "verblib";

Object Room "A Room"
	with description "You're in a boring room.",
	has light;

Object Rock "rock" Room
	with name 'rock' 'lump' 'granite',
	description "A fist-sized lump of granite.";

[ Initialise;
	location = Room;
	"^^The story begins...^^";
];

Include "grammar";

--------------------------------------------------------------------------

A game that uses the PunyInform library goes similarly, but has this
structure:

--------------------------------------------------------------------------

!% -~S
!% $OMIT_UNUSED_ROUTINES=1

Constant Story "PunyInform TEST";
Constant Headline "^A demonstration of the PunyInform Library^";

Constant STATUSLINE_SCORE; Statusline score;

Constant INITIAL_LOCATION_VALUE = Room;

Include "globals.h";

Include "puny.h";

Object Room "A Room"
	with description "You're in a boring room.",
	has light;

Object Rock "rock" Room
	with name 'rock' 'lump' 'granite',
	description "A fist-sized lump of granite.";

[ Initialise;
	"^^The story begins...^^";
];

--------------------------------------------------------------------------

PunyInform games often make use of a newer feature in the Inform6
compiler that allows the author to add compile-time options to the
source code instead of relying on options fed to the compiler at the
command line.

For greater detail, see the PDF documents in punyinform/documentation/.