Gary L. Simmons  rev 02/23/06  http://battlecatslitterbox.com/Forge/Harper/Clock.html
Litterbox  Forge Tips  Jason Harper's Tutorials

The Battle Cat's Litterbox



Forge Tips | Harper's Tutorials | Stacked Walkways | Heartbeat | Combination Lock | Clock | Pedestal Problem | Zig Zag Stairs | Illusory Bridges | Fake Elevators | Texture Flexing | Untextured Walls | Stacked Windows | Multi-Message Terms | Counters | Level Detector

The Missed Island clock tower

The Clock Tower


The Clock Tower
By Jason Harper, JasonHarper@pobox.com
From the "Missed Island" map

If you think about it, the Missed Island clock tower puzzle is just another version of the combination lock. This time, there are two "digits", each with 12 possible settings: one with hours from 1 to 12, the other with minutes from 00 to 55 in increments of 5.

The clock tower in Myst is an analog clock, and in fact I could have done an analog version in a manner very similar to the existing combination lock puzzle. The hours indicator would be textured with a strip of 12 clock faces, with the hour hand in different positions. The minutes indicator would be a transparent strip of minute hands in different positions, overlaying the hours indicator. The only problem is the 128 pixel height of textures: each clock image could be no more than 10 pixels high. This would have been more of a wristwatch than a clock tower...

So, I decided to implement a digital clock instead, since that could be made as large as needed. (Not to mention the laugh value of a digital clock tower. It would have been even funnier if an idea of mine had proved practical: have the clock initially be flashing 12:00, like a VCR whose owner doesn't know how to set its clock.)

Clock tower shooting galleries


The mechanism driving the clock is still a pair of Enforcer/Tick shooting galleries, basically the same as the combination lock digits. There are a few changes:

  • There are no indicators, the control and target platforms are directly connected.
  • The target platforms have 12 stops in an 11 WU height, rather than 8 stops in 7 WU.
  • There is a switch in front of EACH of the target platform stops, which light up the appropriate segments of the digital display (actually, one switch is missing in each gallery: this will be explained later).

The clock display itself contains no moving parts: it's all done with lights. I used a custom texture (actually, parts of the same texture containing the combination lock digits) for a very realistic-looking digital display. It would also be possible to build digits out of existing textures: Mike Trinder's Gemini Station map for Marathon 2 has a good example of this, using the lava texture. However:

  • Digits built this way require more polygons, since you have to blank out the spaces between segments rather than simply having blank space in the texture. My clock tower wouldn't work with any more polygons, it's on the border of exceeding the transparent side limit as it is (in fact it exceeds the limit if you look out from the inside of the tower). This problem is due to the fact that my clock overhangs a door: a display set into a solid wall would have no transparent side problems since each digit would be separated by negative space.
  • There is no really suitable texture in the Water texture set, which was the only practical choice I had for Missed Island.

clock digit texture

Here is a sample clock digit for you to examine (Editors Note: in the demo map it is " just prior to this terminal" - gls). It is in a slightly incomplete state, so that you can see it better: the polygon floors and ceilings have not been blanked out, and the digit still has a lot of depth to it (the polygons are easier to select in this state, but should be "flattened" before release).

Clock tower light assignmentsSome thought is needed in assigning lights to the digit segments, to avoid wasting any lights. The diagram shows the assignments I used on Missed Island.

It's obvious that the two segments composing the tens-of-hours digit can use the same light. But would you have guessed that the top and bottom segments of the tens-of-minutes digit can also be wired together (light 31)? That digit only displays numbers from 0 to 5, which coincidentally all have the top and bottom segments in the same state: only the number 7 has them different. The ones-of-minutes digit is the simplest of all, since it never displays anything other than 0 or 5.

Now we consider the task of lighting the proper digit segments corresponding to the currently enabled switches in the hours and minutes shooting galleries. Tag switches won't work: there aren't nearly enough tags, and there's no way to have a light that is enabled by more than one tag. There are basically two ways in which lights can be controlled other than by some direct action of the player:

  1. Locating a light switch so that a creature's shots hit it. This is fine for limited use, but if we tried to create a separate shooting gallery for each of the digit segment lights, we'd quickly exceed the limit of 32 active creatures (we'd also run out of platforms or liquids to control the creatures' firing).
  2. Using the Activate and Deactivate Polygon Lights flags on a platform. This allows a platform (controlled by whatever method) to activate and/or deactivate up to two lights (its floor and ceiling lights) in sync with its own activation and deactivation. (Polygons also specify a liquid light, but it is not affected by these flags.) This idea has great promise, but as you'll see, it will require a lot of work to turn it into a practical implementation.


shooting gallery switchThe basic idea is to have each shooting gallery switch activate a platform, which in turn activates lights. Platform settings include Deactivates At Each Level, Can't Deactivate Externally, Activates Polygon Lights, and Deactivates Polygon Lights. Note that the controlled lights are periodically deactivated: in the duration between the platform's self-deactivation and the next activation from the shooting gallery. To avoid flicker, the digit segment lights all have a Becoming Inactive phase of constant 100% for 2 seconds: therefore the segments don't immediately appear to turn off when deactivated.

Obviously, most of the individual hour and minute numbers require more lights to be turned on than the two that can be controlled by a single platform. This is not a problem...



light activated platforms...since the platform can control another platform (via the Activate Adjacent On Activating flag), which can control two more lights. Either platform can control yet another platform, so an arbitrary number of lights can be activated by a single platform activation.

The ideas developed so far would be sufficient to make a working clock, but it would be horribly inefficient. Consider the implementation of hour 8: the digit 8 has seven lit segments, so four platforms would be needed to activate all the necessary lights (one platform would have the same light for both floor and ceiling, to avoid affecting an unrelated light). It would take about 32 platforms (half the number available!) just to implement all twelve hours, never mind the minutes. So back to the drawing board...



2 common lightsThe design can be simplified by a process best described as "factoring out common terms". It is possible to identify individual lights, or pairs of lights, that are activated by many different hour/minute settings. Instead of independently activating these lights for each setting, have a single platform that activates each common light or pair of lights. Each setting that uses common lights would have its own platform adjacent to the appropriate common platforms. Note that the common platforms cannot control any further platforms, since they would also activate ALL of the platforms adjacent to them.

This scheme requires extensive (possibly illegal) use of 5D space in order to have everything adjacent to the proper platforms. Not a problem, since the player has no access to the area.
Using the factoring technique, I was able to implement the first working version of the clock tower with about 40 platforms. Along with the 13 platforms of the combination lock puzzle, and a few doors, that pretty much used up all of Marathon's platform limit, long before the level was complete. So back to the drawing board again...

The final optimization of the clock was based on the following observation: most of the digit segments are lit most of the time (in fact, only the digits 1 and 7 have less than half of their segments lit). Therefore, it is better to have those lights ON by default, and only turn them OFF in the few situations that need to. Since platforms don't have a Deactivate Polygon Lights On Activating flag, this requires lights wired backwards (0% intensity when active, 100% when inactive).

clock tower light assignmentsAfter months of research and extensive simulation done on a Cray XMP supercomputer (well, I might be exaggerating just a bit), I came up with the following set of segments that should be lit by default: 9:30. This is what you'd see on the tower in Forge, where the shooting galleries are inoperative: in the actual game, the Enforcers in the galleries will be triggered well before your first sight of the clock tower. (The Visible Trigger polygon that starts the clock is between the library and fountain: the trigger message travels down to the clock tower, through a 5D space polygon behind the tower, to the galleries north of the island. There are a LOT of Zone Border polygons used to define this path. You can't see the connecting 5D polygon on your automap because the entrance to it is sealed off by a solid, nontransparent line.)
The default value of 9 for the hours has the following consequences:

  • No hour needs more than one platform directly associated with it. Four of the hours change no more than two lights from the default state, and therefore can be implemented by a single platform. The rest can be factored into 1-2 lights specific to that hour, plus triggering one or two of those four simple hours.
  • The 9 o'clock setting doesn't have to do anything: no platforms, not even a switch in the hours shooting gallery.
  • There is at least one hour that isn't triggered by anything else, and only controls one light (actually, both 5 and 6 o'clock have this property). The additional light control can be used to trigger the puzzle's solution, without requiring an additional platform. (On the minutes side, 00 and 05 had this property. 6:05 was an arbitrary 1-out-of-4 choice.)


hours display mechanismA total of 11 platforms were required to implement the hours portion of the clock, which I believe is the theoretical smallest number that could do the job. Here's the final version.

Gaze in stunned disbelief at the implementation of the most complicated Marathon mechanism ever built...

The minutes portion is similar in design, although it didn't work out quite as efficiently (it required 12 platforms, one more than the theoretical minimum).

The final piece of the puzzle is a 3-input AND gate, using the liquid-controlled version, that triggers the bridge and clock tower door. The 3 inputs are the proper hours setting, the proper minutes setting, and the rightmost switch on the clock setting panel.

 

Clock tower

CLOCK TOWER PUZZLE - SUMMARY:

Resources used:

  • 4 platforms + 2 Enforcers + 2 Ticks in the shooting galleries
  • 11 platforms in the hours mechanism
  • 12 platforms in the minutes mechanism
  • 16 lights in the display
  • Half of a texture, for the digit segments
  • 3 lights + 3 liquids + 1 Enforcer + 1 Tick in the AND gate
  • 2 purely decorative lights (the slow and fast flashing lights that distinguish the hour and minute setting switches)
  • 1 tag + 2 platforms as the final action

Totals:

  • 29 platforms (45% of the per-level limit)
  • 21 lights (33%)
  • 3 liquids (19%)
  • 1 tag (7%)
  • 6 active creatures (19%)


Skully can't tell time

Missed Island

Download Jason Harper's prize winning map, "Missed Island". This is not only a playable puzzle map, it is also an example map and tutorial. This tutorial was taken from that map. The tutorial on this page can be reached by "warping" to level 3. You must use the provided shapes file to make any sense of this map.


Forge Tips | Harper's Tutorials | Stacked Walkways | Heartbeat | Combination Lock | Clock | Pedestal Problem | Zig Zag Stairs | Illusory Bridges | Fake Elevators | Texture Flexing | Untextured Walls | Stacked Windows | Multi-Message Terms | Counters | Level Detector

Top of Page

Back to the Litterbox