天行健 君子当自强而不息

Putting Together a Full Game(6)

 

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.

 

posted on 2007-12-28 19:45 lovedday 阅读(297) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论