Iron ChIF: Pilot Episode (Pacian vs. Draconis, using Dialog)

Step one:

Open my “short projects” notebook and take some time on what really matters for a timed competition like this!

Step two:

Panic!

Left Page

Trying to figure out what the “device” should be. Radio telescope receiving alien signals? A scanner of some sort? A diary or audio log? A mine detector (cleaning up after an alien war)?! A time capsule or a warning from the future?

I throw away the idea of the PC being non-human, since the message is supposed to be mysterious. But what if it was an NPC, learning facts that the PC needs to know? An arrow points from this idea to the word “shenanigans”.

Right page

On this page I worried about how to structure a game that I could finish in a week. Start at the end and then work backwards? Iterate with more details?

Puzzling over the main challenge or conflict, I hit on

Adventurers on a quest

  • they don’t realise one of them is an interdimensional spider

After a few further tangents I decide that the spider thing is the only part of the page that’s worth anything. “ONE ROOM” is written in all caps and a box is drawn around it.

Step three:

Verbs? I don’t have time for verbs!

%% allow interacting with just nouns
(default actions enabled)

%% all items just use the default handling for showing up in descriptions etc.
($Obj is handled)		*(item $Obj)

%% you get one verb and you'll like it!!!
(grammar [investigate/examine/x/watch/describe/check/look/l/i/fly/flutter [single]] for [fly to $])
(grammar [look/l at [object]] for [fly to $])
(grammar [go/g/fly/flutter to [object]] for [fly to $])
(default action $Obj [fly to $Obj]) %% means you can just type the noun to trigger this verb

(perform [fly to $obj])
    (animate $obj)
    (descr $obj)
    %% assume stranger has already scanned everyone prior to start of game

(perform [fly to $obj])
    %% something held by stranger - no scanning, but mention that he's holding it
    ($obj is #heldby #Stranger)
    (descr $obj) %% need to be careful with descriptions to not contradict Stranger holding things...
    (if)~($obj = #StrangerGadget)(then)
        (par)
        The stranger is holding (the $obj).
    (endif)

(perform [fly to $obj])
    ($obj is $ $someone)
    (animate $someone)
    (descr $obj)
    %% assume stranger has already scanned everything his companions are wearing/holding prior to start of game

(perform [fly to $obj])
    ($obj is $ $something)
    ($something is $ $someone)
    (animate $someone)
    (descr $obj)
    %% Things that are parts of things that are held/worn by companions
    %% bet there's a more Dialog way to do this :/

(perform [fly to $obj])
    %% our main action!
    %% use descr to hold what the fairy does
    (descr $obj)
    %% list anything in or on the object:
    (whats in $obj)
    %% now have the stranger act:
    (par)
    %% he scans it
    (scan $obj)
    (now)($obj is scanned) %% record that in case we need to know
    %% if he can pick it up he does
    (if)(item $obj)(then)
        The stranger
        %% first put down anything already held
        (if)($item is #heldby #Stranger)(item $item)(then)
            puts down (the $item) and
        (endif)
        picks up (the $obj).
        (now)($obj is #heldby #Stranger)
    (endif)
    %% don't make anything he's holding at the start an item, so he doesn't put it down...

%% list what's in or on an object
(whats in $obj)
	(if) (supporter $obj) (then)
        (par)
        (list objects #on $obj)
	(endif)
	(if) (container $obj) ~{ (opaque $obj) ($obj is closed) } (then)
        (par)
        (list objects #in $obj)
	(endif)

%% give a flag to just shut the stranger up
(scan $obj)
    (dont scan $obj)

%% three clicks = not useful
(scan $obj)
    The stranger points his gadget at (the $obj). It just makes a series of three curt clicks.

Step four:

Who needs a complete plan?! Let’s write!

> desk
You land on the desk amidst yellowed papers and mildewed books.

Peering over the edge, you see some kind of indented panel in the front of the desk.

The stranger points his gadget at the crooked desk. It just makes a series of three curt clicks.

> panel
You try to land on the thin rim of the panel, but there’s not really enough room even for your dainty feet.

The stranger points his gadget at the indented panel and it chirps melodiously. At that he walks over and pulls the panel forward.

Ah, the panel was a drawer! But, really, you had figured out all the most important points on your own.

In the drawer are a thingy, a button, and a feather.

> thingy
A long silver shape about the same size as you. And you know exactly what it is: a thingy. Perhaps the finest example of a thingy that you have ever laid eyes on.

The stranger points his gadget at the thingy. It makes a short, cheerful noise like “chu”. The stranger picks up the thingy.

17 Likes