天行健 君子当自强而不息

Putting Together a Full Game

Putting Together a Full Game(16)      摘要: Script processing controls the entire game's content. The content includes adding
characters to the maps, displaying dialogue, and other functions not hard-coded
into the game engine.  
 
 
Putting Together a Full Game(15)      摘要: Previously you read about how the barter_frame state is used to render the bartering
scene in which the player can buy items from a character.  
 
Putting Together a Full Game(14)      摘要: The characters are the heart and soul of your game.

You derive the character controller in order to
control the player of the game and to collision-check a character's movements
against the maps. For The Tower, you can use a derived character controller,
to manage all your game's characters. The first step to
using the character controller in a game is to derive your own class from cCharController:  
 
Putting Together a Full Game(13)      摘要: The sample game is divided into five maps (scenes). Each scene uses six bitmaps,
each of which is loaded as textures that are drawn to the display for each frame.
The game also uses an underlying simplified mesh for each scene. These simplified
meshes aid in properly drawing the 3D characters that inhabit each scene.  
 
Putting Together a Full Game(12)      摘要: You use the status_frame function to display the player's statistics (health points,
mana points, known spells, and so on) when the player's status window is displayed.
This function handles equipping items and checking on the player's statistics. 
 
Putting Together a Full Game(11)      摘要: Because this is a frame state, you can call the game_frame function for one of three
purposes—the state being initialized, the frame being processed, and the state
being shut down. The game_frame function uses only the update-frame purpose, so
processing is returned if any other calling purpose is used. 
 
Putting Together a Full Game(10)      摘要: I developed the sample game to use state-based processing in order to effectively
use the application class's processing structure. The game uses these four states:  
 
Putting Together a Full Game(9)      摘要: As the starting point of the game, the init function initializes the system (including
the graphics, sound, and input systems), sets up the character and spell controllers,
loads the master item list, pushes the main menu state, and carries out a few miscellaneous
functions. Take a look at the Init function piece by piece to see what’s
going on:  
 
Putting Together a Full Game(8)      摘要: The main application is relatively small (if you can call just under 1,500 lines of
code small). It has the job of initializing all the required components and tracking
the game state (that’s right, state-based processing is even used here).
 
Putting Together a Full Game(7)      摘要: The game design is relatively simple. The majority of the work is assembling all the
pieces so that they work together. Imagine a game split into its major components,
much as illustrated in Figure 20.7. Now, you just need to amass those components into a useable form. 
 
Putting Together a Full Game(6)      摘要: 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: 
 
Putting Together a Full Game(5)      摘要: You control all The Tower’s game content, such as dialogue, through the use of scripts.
The Mad Lib Script system is in use here. A single action template, Game.mla,
contains a number of actions that will be useful in your project. More than 200 lines
in length, the game’s action template is a little too long to list here, so I highly suggest
that you open the action template while reading through this section.  
 
Putting Together a Full Game(4)      摘要: During the design of the sample game, it is necessary to assign each character a
unique identification number. For example, the player is assigned the identification
#0, whereas the village elder uses the identification #1. By assigning these
identification numbers, the script engine knows which characters to use for performing
certain actions, such as displaying dialogue or tracking flags in order to
alter in–game-play. These pre-assigned identification numbers are as follow  
 
Putting Together a Full Game(3)      摘要: Including the player of the game, a total of eight types of characters are in The Tower
(with the game using multiple instances of those types of characters). Table 20.1
defines those eight types of characters. To understand those definitions, use the
following legend:  
 
Putting Together a Full Game(2)      摘要: The story in the preceding section helps to set the mood for "The rooad of warrior" and provides
a way for the player to be in a small village located by a dark, ominous tower. The
purpose of the player of "The rooad of warrior" is to free a cursed village from the evil demons
that inhabit the nearby tower. It turns out that the inhabitants of the village are forever
trapped, only to be sacrificed one by one to the tower’s evil demon lord. It is the
job of the player to go in  
 
Putting Together a Full Game(1)      摘要: Now comes the time to commence creating the book’s sample game—"The rooad of warrior".
The game does put together all the gaming
pieces you need to complete a game. The purpose of "The rooad of warrior" is to show every
component in its proper place, including tech engines, map and level management,
character control, and scripting.  

posted on 2007-12-30 15:10 lovedday 阅读(625) 评论(0)  编辑 收藏 引用 所属分类: ■ RPG Program


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


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论