|
|
|
|
All use of my digital work is covered by this
Creative Commons Deed.
Please do not use any of my work for commercial purposes, thank you. |
|
|
|
Example Puzzle 2 (Page 4 of 7)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Taken from the map - Edge of Forever |
|
The room consists of two electric generators that are connected
via several large cables across the floor. These cables merge together and finally
end with the battery in the middle.
The puzzle starts when the player switches on the battery in the
middle of the room. The player has to charge up the battery by
maintaining a current from either generator. Getting the timing right
for the generators is the key, otherwise the battery will keep resetting.
|
|
|
Click on the above image for a larger version |
|
|
|
|
|
|
|
All entities used for the puzzle logic |
|
What the entities look like |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The timing of events is critical to the player and if that is not understood,
the puzzle will reset. The generators are active for 5 seconds only and they
cannot be re-used again until they are finished, which means they need
to overlap each other to keep the battery constantly alive.
The order in which each generator is used does not matter; the core logic of
the puzzle is the battery cells (lights) which decide the progress. Luckily
no variables are needed because the puzzle resets after a certain time limit.
|
|
|
|
|
All of the battery cells are tested together when either generator is used
and the progress is decided by func_door blocker entities. As each
cell is completed the previous cell is temporarily locked and the next
one is revealed.
Progress through the puzzle is finely tuned to the time of the
generators, and the layout of the blockers is important. For example, the first cell
blocks itself for a fixed amount of time and if the second cell is used then
more time is needed, so another blocker is added to the first cell.
|
|
|
|
|
The final part of the puzzle logic is the reset function which is called
several times by different cells. The first cell starts the reset process
on a timer and if nothing happens the puzzle resets, nice and simple.
When the second cell is used the previous timer needs to be stopped and
a blocker entity is used to extend the time limit. A second timer is created
just in case the final cell is not triggered, but if the puzzle is completed
one final blocker entity is added to stop the reset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The puzzle logic could be optimized further by merging the generator
switch triggers down to one as both do the same thing by triggering all cells.
The reason for the extra logic is because unique visual
effects on each generator need to be controlled by the puzzle.
The final layout had all the info_notnull entities removed
because of problems with Q3 limits. The angle key was used
instead which unfortunately makes the editor layout of the puzzle
harder to read.
|
|
|
|
|
The flow of the puzzle is controlled by blocking entities which
stop the target_shooter entities. The Start Blocker prevents
the generators from being used until the battery
is active. The two Finish Blockers stop
the battery cells, reset and generator logic from running
once the puzzle is complete.
There are three switches to interact with and only one
starts the puzzle. If the player uses any of the other switches
before the battery, a message is displayed. Once the
Start Blocker is activated the player hint is disabled.
|
|
|
|
|
|
|
|
|
|