Defining the Controls
The player interacts with The
Tower by using the keyboard and mouse. When working
in the main menu (see following snap), the player uses the mouse to select an
option. The options available on the main menu are as follows:
■ New Game. Select this option
to begin a new game.
■ Back to Game. Return to a game already in progress.
■ Load Game. Load and continue a previously saved game.
■ Save Game. Save a game that’s in progress.
■ Quit. Quit the game.
|
The main
menu enables the player to begin a new game, return to a game in
progress, load a saved game, and quit the current game. |
To select an option, the player
positions the mouse over one of the displayed
options and presses the left mouse button to select that option. When playing
the
game, the controls are a little trickier.
The player uses the arrow keys
to move a character and the mouse to home in on
a character that will be the target of a spell or an attack. Pressing the up
arrow key
moves the player forward, whereas the left and right arrow keys rotate him.
Position
the mouse cursor over a nearby monster and left-click in order to attack. Note
that
the player must be close enough to a monster in order to attack the
monster. Left-clicking an NPC effectively “talks” to that character. The player
doesn’t
have to be close to talk to a character—simply clicking the character from
anywhere
on the screen does the job.
Pressing a number key from 1 to
5 while the cursor is over a character (other
than NPCs) casts a spell with that character as the target. Pressing the number
1
casts the Fireball spell, 2 casts Ice, 3 casts Heal Self, 4 casts Teleport, and
5 casts
Groundball. Spells 3 and 4 target only the player, so no matter which character
you
cast it on, it will always affect the player. Note that only known spells can be
cast,
and to determine which spells the player knows, enter the character status
window.
During game-play, you can
right-click to bring up the character status window. To
use, equip, or unequip an item, left-click it. Right-clicking again closes the
status
window. On the lower-right side of the status window, you see the numbers 1
through 5, each representing a known spell.
To exit the game and return to
the main menu, press the Esc key during game-play.
If you’re speaking to a character, left-click or press the space bar to continue
the
conversation; if you’re bartering with the shopkeeper, left-click an item to buy
it or
right-click to exit the window.
Laying Out the Flow
With all the design aspects in
place, it’s time to piece them into the whole game.
The game is fairly linear—everything that will happen in the game is already
laid
out. The player has a straightforward path from the beginning to the end of the
game, mainly because of the game’s small size.
The game begins with the player
walking into the village. With a few words to himself,
the player catches glimpses of a demon walking through the town. A sacrifice
appears
to be in order this night, and the demon is in the village to escort the poor
soul to his
doom. Confused and curious, the player speaks up, only to be attacked by the
monster.
After the player dispatches the
vile demon, the villagers feel safe enough to come
out and congratulate him for his heroic deed. It seems that the villagers
believe the
player is the savior of an old legend—a legend in which a liberator sets them
free
from the curse that traps all inhabitants within the neighboring lands (mainly
the
village and the nearby tower).
Not to let the good people
down, the player heads off to the tower in the East.
Along the way, the village’s guard blocks the player’s access across the only
bridge
to the tower. Only doing his duty, the guard refuses to grant the player passage
across the bridge until the player returns to the village and obtains permission
to
cross the bridge from the village elder. The guard returns to town, leaving the
bridge unguarded and accessible. If the player returns to town and speaks with
the guard, the guard will give the player a piece of armor and a shield.
Back on track, the player
continues back across the bridge and into the tower,
where he encounters a few demons. This area’s head demon orders another one
to run and inform their master (the Evil Lord) of the player’s arrival. Their
master
is not very happy with this news and apparently kills the messenger. Whenever
the
player enters this area, monsters are sure to attack.
The player moves up the ramp
and through the second-level door, which leads to
the tower’s ledge where a seemingly unmovable stone creature (Granite) is
waiting.
Once spoken to, this creature attacks the player. Upon the creature’s death, the
way to the Evil Lord’s chamber is open.
Entering the next chamber, the
player finds the root of all the villager’s troubles—
the Evil Lord. After spitting out a few angry words, the Evil Lord attacks the
player.
This is the final battle, and once the Lord is destroyed, the game ends.
To create the preceding flow in
the game, you must carefully lay out scripts that
take control whenever the player speaks to certain characters, enters a specific
area
on the map, or enters a level. (Aspects that trigger the script are described in
the
earlier section “Developing the Scripts.”)
Most of the scripts are easy to
understand. There are the map triggers that transport
the player to another map whenever the player tries to exit the current map.
Clicking a character triggers another script. The more ingenious uses of scripts
are
those for checking whether a route point has been reached.
For example, at the start of
the game, the scene1.mls script is executed. The
player’s type changes to an NPC and a route is assigned. This forces the player
to
walk into the village, and once he reaches the end of the assigned route, a new
script takes over that adds the monster to the level. The monster then follows a
route. When the monster finishes, another script takes over, displaying dialogue
between the player and the monster. When the dialogue is over, the player once
again changes into a PC character and combat begins.
At the end of combat in the
village, the player walks to the center of town, triggering
a script that teleports the player back into the town—at which time, another
portion of the scene1.mls script runs adding the villagers to the town. The same
style
of scripting that processes scripts based on characters’ routes is used in the
ground
level of the tower, where the demon runs to inform his master of the player’s
arrival.
The remaining scripts randomly
add monsters to the maps, sometimes based on
certain script flags. If the player kills Granite, for example, a flag is set
that informs
further scripts not to add Granite back in the level when the character enters
the
tower ledge map.
Using flags is perfectly
demonstrated in The Tower—be sure to check out every
script file in use to get an understanding of the flags in use.