1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4
<title>DM4 §23: ‘Ruins’ revisited</title>
5
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6
<link rel="stylesheet" type="text/css" href="dm4.css">
10
<a href="index.html">home</a> /
11
<a href="contents.html">contents</a> /
12
<a href="ch3.html" title="Chapter III: The Model World">chapter III</a> /
13
<a href="s22.html" title="§22: Miscellaneous constants, scoring, quotations">prev</a> /
14
<a href="s24.html" title="§24: The world model described">next</a> /
15
<a href="dm4index.html">index</a>
18
<a id="p176" name="p176"></a>
19
<h2>§23 ‘Ruins’ revisited</h2>
21
<blockquote>These fragments I have shored against my ruins<br>
22
— T. S. Eliot (1888–1965), <i>The Waste Land</i></blockquote>
24
<p class="normal"><span class="atleft"><img src="dm4-176_1.jpg" alt=""></span>
25
Though ‘Ruins’ is a small world, and distorted in shape by
26
the needto have “one example of everything”, it seems worth
27
a few pages to gather together the fragments scattered through the book
28
so far and complete the game.</p>
30
<p class="indent">To begin with, the stage set back in
31
<a href="s4.html">§4</a> was too generic, too plain. Chosen
32
at random, it may as well become La Milpa, a site rediscovered in dense
33
rainforest by Eric Thompson in 1938, towards the end of the glory days
34
of archaeological exploration. (La Milpa has been sadly looted since.)
35
Though this is something of a cliché of interactive fiction,
36
‘Ruins’ contains two objects whose purpose is to anchor
37
the player in time and place. Lining the packing case, we find:</p>
39
<p class="lynxonly"></p>
41
Object -> -> newspaper "month-old newspaper"
42
with name 'times' 'newspaper' 'paper' 'month-old' 'old',
44
"~The Times~ for 26 February, 1938, at once damp and brittle
45
after a month's exposure to the climate, which is much the
46
way you feel yourself. Perhaps there is fog in London.
47
Perhaps there are bombs.";
50
<p class="normal">And among the player's initial possessions:</p>
52
<p class="lynxonly"></p>
54
Object map "sketch-map of Quintana Roo"
55
with name 'map' 'sketch' 'sketch-map' 'quintana' 'roo',
57
"This map marks little more than the creek which brought you
58
here, off the south-east edge of Mexico and into deepest
59
rainforest, broken only by this raised plateau.";
62
<p class="normal">To turn from the setting to the prologue, it is a
63
little too easy to enter the structure in the rainforest. And if the
64
steps were always open, surely the rain would sluice in? Recall that
65
the <code>Forest</code> includes inward map connections to the <code>steps</code>,
66
which are a door, instead of to the <code>Square_Chamber</code> directly:</p>
68
<p class="lynxonly"></p>
69
<pre class="code">d_to steps, in_to steps,</pre>
71
<a id="p177" name="p177"></a>
72
<p class="normal">The steps are, however, intentionally blocked by
73
rubble, as happened in thecase of the hidden staircase found by Alberto
74
Ruz beneath the Temple of theInscriptions at another site, Palenque:</p>
76
<p class="lynxonly"></p>
78
Object -> steps "stone-cut steps"
79
with name 'steps' 'stone' 'stairs' 'stone-cut' 'pyramid' 'burial'
80
'structure' 'ten' '10',
83
if (self.rubble_filled)
84
"Rubble blocks the way after only a few steps.";
85
print "The cracked and worn steps descend into a dim
86
chamber. Yours might ";
87
if (Square_Chamber hasnt visited)
88
print "be the first feet to tread";
89
else print "have been the first feet to have trodden";
90
" them for five hundred years. On the top step is
91
inscribed the glyph Q1.";
94
if (self.rubble_filled)
95
"Rubble blocks the way after only a few steps.";
96
return Square_Chamber;
99
has scenery door open;
102
<p class="indent">Next we must face the delicate issue of how to get from
103
the mundane 1930s to a semi-magical Maya world. The stock device of
104
Miguel Angel Asturias's <i>Leyendas de Guatemala</i> and other founding
105
works of magic realism (indeed, of <i>Wuthering Heights</i> come to
106
think of it) is for the arriving, European rationalist to become
107
fascinated by a long tale told by local peasants. This would take too
108
much code to get right in so small a game, though, and there also
109
remains the unresolved question of what the mushroom is for.
110
So we delete the original <code>before</code> rule for the mushroom,
111
which made eating it potentially fatal, and instead give it an <code>after</code>:</p>
113
<p class="lynxonly"></p>
115
Eat: steps.rubble_filled = false;
116
"You nibble at one corner, unable to trace the source of an
117
acrid taste, distracted by the flight of a macaw overhead
118
which seems to burst out of the sun, the sound of the beating
119
of its wings almost deafening, stone falling against stone.";
122
<a id="p178" name="p178"></a>
123
<img src="dm4-178_1.jpg" longdesc="colophon.html#ld_map"
124
title="Map of ‘Ruins’"
125
alt="This is a typical map of `Ruins'; which names all eleven
126
"rooms" (such as Great Plaza*), uses lines to mark the
127
connections between them, and lists the items of interest in each room
128
under the room's name. Some connections are also labelled to indicate
129
if a connection is one-way or requires puzzle-solving.">
131
<p class="aside">* The player begins at the Great Plaza, carrying
132
the map, the sodium lamp and Waldeck's Mayan dictionary.
133
[<a href="colophon.html#ld_map">description</a>]</p>
135
<a id="p179" name="p179"></a>
136
<p class="normal">This is fairly authentic, as a cult of hallucinogenic
137
mushrooms seems to have existed. Anyway, the player is getting off
138
pretty lightly considering that Maya lords also went in for narcotic
139
enemas and ritual blood-letting from the tongue and penis, an interactive
140
fiction for which the world is not yet ready.</p>
142
<p class="indent">Descending underground, <a href="s8.html">§8</a>
143
alluded to an eggsac which burst on contact with natural light. Naturally,
144
this repellent object belongs in the Wormcast, and here is its definition:</p>
146
<p class="lynxonly"></p>
148
Object -> eggsac "glistening white eggsac",
149
with name 'egg' 'sac' 'eggs' 'eggsac',
150
initial "A glistening white eggsac, like a clump of frogspawn
151
the size of a beach ball, has adhered itself to something
152
in a crevice in one wall.",
154
Take: "Oh my.";
157
Go: if (location == Square_Chamber && noun == u_obj) {
159
"The moment that natural light falls upon the
160
eggsac, it bubbles obscenely and distends. Before
161
you can throw it away, it bursts into a hundred
162
tiny, birth-hungry insects...";
167
<p class="normal">Note the clue that some object is within the egg sac:
168
as it turned out in <a href="s8.html">§8</a>, a stone key, released
169
by putting the egg sac into the shaft of sunlight. The key itself has
170
a very short definition:</p>
172
<p class="lynxonly"></p>
174
Object stone_key "stone key"
175
with name 'stone' 'key';
178
<p class="normal">This is not an easy puzzle, but a further clue is
179
provided by the carvings onthe Stone Chamber wall, which can be translated
180
with Waldeck's dictionary to read “becoming the Sun/life”.</p>
182
<p class="indent">Given the key, the player must next solve the problem
183
of bringing light to the Stooped Corridor, by pushing the burning sodium
184
lamp south. This means, as promised in <a href="s14.html">§14</a>,
185
adding a <code>before</code> rule to the lamp:</p>
187
<p class="lynxonly"></p>
190
if (location == Shrine && second == sw_obj)
191
"The nearest you can do is to push the sodium lamp to
192
the very lip of the Shrine, where the cave floor falls<a id="p180" name="p180"></a>
194
AllowPushDir(); rtrue;
197
<p class="normal"><a href="s14.html">§14</a> also promised to
198
run down the battery power: although since 100 turns is plenty, this
199
rule doesn't play any real part in the game and is just window-dressing.
200
We need to <code>StartDaemon(sodium_lamp)</code> in the <code>Initialise</code>
201
routine, and define the lamp's daemon along the following lines:</p>
203
<p class="lynxonly"></p>
206
if (self hasnt on) return;
207
if (--self.battery_power == 0)
208
give self ~light ~on;
209
if (self in location) {
210
switch (self.battery_power) {
211
10: "^The sodium lamp is getting dimmer!";
212
5: "^The sodium lamp can't last much longer.";
213
0: "^The sodium lamp fades and suddenly dies.";
219
<p class="normal">With the obligatory light puzzle solved, the Shrine
220
can at last be opened:</p>
222
<p class="lynxonly"></p>
224
Object Shrine "Shrine"
226
"This magnificent Shrine shows signs of being hollowed out
227
from already-existing limestone caves, especially in the
228
western of the two long eaves to the south.",
229
n_to StoneDoor, se_to Antechamber,
231
"The eaves taper out into a crevice which would wind
232
further if it weren't jammed tight with icicles. The glyph
233
of the Crescent is not quite obscured by ice.";
236
<p class="normal">Looking up the Crescent glyph in the dictionary
237
(<a href="s16.html">§16</a>) reveals that it stands for the word
238
“xibalbá”: asking the Priest
239
(<a href="s17.html">§17</a>) brought into existence by wearing
240
the jade mosaic mask (<a href="s11.html">§11</a>) melts the icicles
241
and makes the southwest connection to Xibalbá, of which more
242
later. No Maya game would be complete without their religiously-observed
243
cyclical countings of time:</p>
245
<p class="lynxonly"></p>
247
Object -> paintings "paintings"
248
with name 'painting' 'paintings' 'lord' 'captive',
249
initial "Vividly busy paintings, of the armoured Lord trampling
250
on a captive, are almost too bright to look at, the
251
graffiti of an organised mob.",<a id="p181" name="p181"></a>
252
description "The flesh on the bodies is blood-red. The markers
253
of the Long Count date the event to 10 baktun 4 katun 0 tun
254
0 uinal 0 kin, the sort of anniversary when one Lord would
255
finally decapitate a captured rival who had been ritually
256
tortured over a period of some years, in the Balkanised
257
insanity of the Maya city states.",
261
<p class="normal">Having called the priest “calendrical”,
262
here's another topic to <code>Ask</code> the priest about:</p>
264
<p class="lynxonly"></p>
266
'paintings': "The calendrical priest frowns.
267
~10 baktun, 4 katun, that makes 1,468,800 days
268
since the beginning of time: in your calendar
269
19 January 909.~";
272
<p class="normal">And also, to make the point once more, and remind
273
the player once again ofdistant Europe:</p>
275
<p class="lynxonly"></p>
278
if (noun == newspaper)
279
"He looks at the date. ~12 baktun 16 katun 4 tun
280
1 uinal 12 kin~, he declares before browsing the
281
front page. ~Ah. Progress, I see.~";
284
<p class="normal">Perhaps the player will never see either calculation:
285
if so, it doesn't matter, as dates and calendars turn out to be this
286
game's red herring. (Every game should have one.) The Antechamber of
287
the Shrine is an undistinguished room…</p>
289
<p class="lynxonly"></p>
291
Object Antechamber "Antechamber"
293
"The southeastern eaves of the Shrine make a curious
298
<p class="normal">… except that this is where the iron cage
299
(<a href="s15.html">§15</a> and <a href="s21.html">§21</a>)
300
is located, so that the Burial Shaft lies below, with its complex
301
puzzle in which the player is transformed to a warthog and back again,
302
opening the shaft. Lastly, then, in the southwest eaves of the Shrine
303
is a natural cave entrance, which in Mayan mythology leads to the
304
Underworld. There is supposed to be a crossroads here, but in this
305
modest game a three-way junction is all we have space for:</p>
307
<p class="lynxonly"></p>
309
Object Junction "Xibalb@'a"
311
"Fifty metres beneath rainforest, and the sound of water
312
is everywhere: these deep, eroded limestone caves<a id="p182" name="p182"></a>
313
extend like tap roots. A slither northeast by a broad
314
collapsed column of ice-covered rock leads back to the
315
Shrine, while a kind of canyon floor extends uphill to
316
the north and downwards to south, pale white like shark's
317
teeth in the diffused light from the sodium lamp above.",
318
ne_to Shrine, n_to Canyon_N, u_to Canyon_N,
319
s_to Canyon_S, d_to Canyon_S,
321
Treasure -> stela "stela"
322
with name 'stela' 'boundary' 'stone' 'marker',
324
"A modest-sized stela, or boundary stone, rests on a
325
ledge at head height.",
327
"The carvings appear to warn that the boundary of
328
Xibalb@'a, Place of Fright, is near. The Bird glyph is
332
<p class="normal">This canyon houses the eight-foot pumice stone ball
333
(see <a href="s15.html">§15</a>) at the north end, and the
334
chasm (<a href="s2.html">§12</a>, <a href="s21.html">§21</a>)
337
<p class="lynxonly"></p>
339
Object Canyon_N "Upper End of Canyon"
340
with s_to Junction, d_to Junction,
342
"The higher, broader northern end of the canyon rises only
343
to an uneven wall of volcanic karst.",
345
Object Canyon_S "Lower End of Canyon"
346
with n_to Junction, u_to Junction,
347
s_to "Into the chasm?", d_to nothing,
349
"At the lower, and narrower, southern end, the canyon stops
350
dead at a chasm of vertiginous blackness. Nothing can be
351
seen or heard from below.",
355
<p class="normal">As promised in <a href="s12.html">§12</a>,
356
the chasm must react to having the stone ball pushed into it, which
357
means adding this to the chasm's definition:</p>
359
<p class="lynxonly"></p>
362
if (huge_ball in parent(self)) {
363
remove huge_ball; Canyon_S.s_to = On_Ball;
364
Canyon_S.description = "The southern end of the canyon
365
now continues onto the pumice-stone ball, wedged into
366
the chasm.";<a id="p183" name="p183"></a>
367
"^The pumice-stone ball rolls out of control down the
368
last few feet of the canyon before shuddering into the
369
jaws of the chasm, bouncing back a little and catching
370
you a blow on the side of the forehead. You slump
371
forward, bleeding, and... the pumice-stone shrinks,
372
or else your hand grows, because you seem now to be
373
holding it, staring at Alligator, son of seven-Macaw,
374
across the ball-court of the Plaza, the heads of his
375
last opponents impaled on spikes, a congregation baying
376
for your blood, and there is nothing to do but to throw
377
anyway, and... but this is all nonsense, and you have
378
a splitting headache.";
383
<p class="normal">(Horribly violent, semi-religious ball-game rituals
384
are common in early central America, though nobody knows why: all substantial
385
Maya cities have prominent ball-courts.) A fat paragraph of text in which
386
fairly interesting thingshappen, beyond the player's control, is sometimes
387
called a “cut-scene”. Most critics dislike the casual use
388
of cut-scenes, and ‘Ruins’ would be a better game if the
389
confrontation with Alligator were an interactive scene. But this manual
390
hasn't the space. Instead, here is the final location, which represents
391
“standing on the wedged ball”:</p>
393
<p class="lynxonly"></p>
395
Object On_Ball "Pumice-Stone Ledge"
396
with n_to Canyon_S, d_to Canyon_S, u_to Canyon_S,
398
"An impromptu ledge formed by the pumice-stone ball,
399
wedged into place in the chasm. The canyon nevertheless
402
Treasure -> "incised bone"
403
with name 'incised' 'carved' 'bone',
405
"Of all the sacrificial goods thrown into the chasm, perhaps
406
nothing will be reclaimed: nothing but an incised bone,
407
lighter than it looks, which projects from a pocket of wet
408
silt in the canyon wall.",
410
"A hand holding a brush pen appears from the jaws of
411
Itzamn@'a, inventor of writing, in his serpent form.";
414
<a id="p184" name="p184"></a>
415
<p class="normal">And this is where Itzamná lays down his brush,
416
for this is the fifth and last of the cultural artifacts to collect.
417
The game ends when they are all deposited in the packing case, a rule
418
which means a slight expansion of the definition of <code>Treasure</code>:</p>
420
<p class="lynxonly"></p>
425
if (score == MAX_SCORE) {
427
"As you carefully pack away ", (the) second,
428
" a red-tailed macaw flutters down from the tree-tops,
429
feathers heavy in the recent rain, the sound of its
430
beating wings almost deafening, stone falling against
431
stone... As the skies clear, a crescent moon rises above
432
a peaceful jungle. It is the end of March, 1938, and it
433
is time to go home.";
437
<p class="aside"><span class="warning">▲</span>
438
The following sequence of 111 moves tests ‘Ruins’ from
439
beginning to end: “examine case / read newspaper / get newspaper
440
/ get camera / down / examine steps / east / up / enter structure 10 /
441
eat mushroom / eat mushroom / down / examine inscriptions / look up arrow
442
in dictionary / east / get eggsac / west / put eggsac in sunlight /
443
get key / drop lamp / light lamp / look / push lamp s / get statuette /
444
drop all except camera / photograph statuette / get key / open door /
445
unlock door with key / open door / drop key / get pygmy / north / up /
446
put pygmy in case / down / south / get dictionary / get newspaper / south
447
/ north / push lamp south / examine paintings / drop all but camera /
448
photograph mask / get mask / get dictionary / get newspaper / wear mask /
449
show dictionary to priest / show newspaper to priest / drop newspaper /
450
ask priest about ruins / ask priest about paintings / se / nw / push lamp se
451
/ push lamp nw / sw / look up crescent in dictionary / ask priest about
452
xibalba / sw / north / push ball south / push ball south / south / drop
453
all but camera / remove mask / drop mask / photograph bone / get all /
454
north / north / drop all but camera / photograph stela / get all / ne /
455
north / north / up / put bone in case / put stela in case / put mask in
456
case / down / east / nw / west / south / south / push lamp se / examine
457
cage / enter cage / open cage / nw / north / north / east / down / east
458
/ up / drop all but camera / photograph honeycomb / get all / up / open
459
cage / out / push lamp nw / north / north / up / put honeycomb in case”.</p>
461
<p class="aside"><span class="warning"><b>•</b> <b>REFERENCES</b></span><br>
462
I am indebted to, which is to say I have roundly travestied, the following:
463
“Mapping La Milpa: a Maya city in northwestern Belize” (Tourtellot,
464
Clarke and Hammond, <i>Antiquity</i> 67 (1993), 96–108). All the
465
same ‘Ruins’ favours old-fashioned ideas of Maya, a good example
466
being the “calendrical priests” fondly imagined by early
467
archaeologists before Maya writing was deciphered.
468
<span class="warning"><b>•</b></span>The standard all-in-one-book book
470
<a id="p185" name="p185"></a>
471
D. Coe's <i>The Maya</i> (fourth edition).
472
<span class="warning"><b>•</b></span>The same author's history of
473
<i>Breaking the Maya Code</i> offers pungently vivid portraits of Sir
474
Eric Thompson and Maximilien Waldeck. The British Museum guide <i>Maya
475
Glyphs</i>, by S. D. Houston, is a trifle more reliable than Waldeck's
477
<span class="warning"><b>•</b></span>Numerous colour-postcard photographs
478
by F. Monfort are collected in <i>Yucatan and the Maya Civilization</i>
479
(Crescent Books, 1978).</p>
483
<a href="index.html">home</a> /
484
<a href="contents.html">contents</a> /
485
<a href="ch3.html" title="Chapter III: The Model World">chapter III</a> /
486
<a href="s22.html" title="§22: Miscellaneous constants, scoring, quotations">prev</a> /
487
<a href="s24.html" title="§24: The world model described">next</a> /
488
<a href="dm4index.html">index</a>