Our sole competitor was The Traffic Light by Eric Schmidt.
After careful deliberation, the panel of judges has selected a winner. It's
him!
For his triumph, Eric will receive a clever and symbolic trophy. Eventually.
When we find time to make it.
Below are the review comments of the judges. (This page contains spoilers for
The Traffic Light. If you want to play it fresh, play it before reading!)
SPOILERS
* The Judgement of Goob
First of all, I should disclaim: I am not a logic wonk. Rather, I am a word
wonk (case in point; note the giddy pleasure with which I pen doggerel like
'word wonk'). My interest in this contest was not primarily with the logic
puzzles. I am very bad at logic puzzles: they usually make me say many bad
things over embarrassingly long periods of time. Rather, I was looking
forward to the ways authors might cleverly adapt Andrew's stark framework
into something of a story, or integrate it into an environment, or both.
'The Traffic Light' works admirably, I think. The premise is simple, but
compact, and fits the puzzle of the logic framework well. It has a
compelling element to it and the task at hand makes some amount of sense
(nicely consistent with the rules of a world only a little stranger than our
own, at any rate). A small game of simple purpose, to be sure, but it tells
a small story, and the struggle of it becomes important from strange and
unexpected corners. It tells a story! I am impressed.
I tried some things. I tried turning the transparent sheet red and holding
it in front of the traffic light. I briefly considered what color I'd need
to get green out of red light (ha!). I have not won the game; I have changed
various things about, and I believe I know the shape of the thing (see above
point about bad things said). I will keep at it, but I am slow at these
things, and contest deadlines slip ever further...
It made me laugh. It made me laugh out loud! I say it wins.
* The Judgement of Zarf
The Traffic Light
by Eric Schmidt
The traffic light is red. You can't cross the street until it's green. You
have a rock... I mean a printer.
This is a truly evil idea. I don't think I would have had the guts to tackle
it. What a mess to implement!
On the other hand, the implementation wimps out in some places. I can't
blame the author, but it would be nice to see a *complete* and rigorous
working-out of the principle.
(Here follow *SPOILERS* for the gimmick:)
In addition to your sheets of paper, you have a transparent sheet protector.
This can be printed on, so it can turn colors just like the paper. You can
then put a piece of paper *inside* the transparent folder. The paper takes
on the color of the transparency, and this forces the statement written on
it -- on the paper, I mean -- to change its truth value.
You can therefore force objects to change color! The solution, of course, is
to write "The traffic light is green" and then force that to be true.
(The game only implements color predicates. It could be extended to handle
"is on" and "is under" -- but you'd be ducking flying spheres and cubes...)
The mechanism lets you force *negative* truth values: you can also win by
writing "The traffic light is red" and forcing this to be false.
Conveniently, such negatively-constrained objects turn green by default. (I
was sort of hoping for octarine, or some Lovecraftian unnameable
color-out-of-space, but I suppose green gets you across the street.)
Some things you can't do. You can't force paradoxical or tautological truth
values. (That is, you can't force any statement to be grey or brown.) And
you can't force logical conclusions to a different truth value -- you can
only affect *contingent* statements to be true or false, not *necessary*
statements.
If you try either of those things, the world seems to break. *Every*
statement turns grey -- even unrelated ones! I think this is too broad. Only
dependent statements should break.
And it should be possible to resolve *some* loops, even when they include
logic-forcing. If you write "The transparent sheet is brown" on the sheet,
it will turn green (as per the usual rules). Putting "The traffic light is
red" inside that should force the light to turn red. There's no reason to
break the world.
But, of course, I can't offer a logical model to handle these cases. :)
Anyone?
Nitpicks:
There really should be another couple of objects to play with. The only
non-dynamic objects you can write about are the traffic light and the
printer -- it's very easy to cause a loop without noticing it.
The "about" text says "First, you'll have to FEED the paper, (no 'put X in
printer') and then WRITE on it." Why not support "put X in printer"?
>feed mysterious paper
You're friend wouldn't be happy if you printed all over his directions.
[This should be "Yor frend...", of course.]
>write i am blue
Writing about yourself would be dangerous.
[As long as the predicates are limited to color, this would actually be
pretty easy to implement.]