Controlling Players and Characters(17)
Resource Management
Resource management plays a major role in your game. For characters to really get
anywhere or achieve anything, they may need the aid of the items, spells, and other
objects you’ve constructed for your game.
In 游戏中物件的定义与使用 you see how to design your game’s
items and place those items into a master item list. Now is the time to see what you
can do with those items.
Resources also include spells that your game’s characters can learn through the
course of the game. You read more about spells later in this chapter in the section
“Magic and Spells,” but for now, here is a glimpse of what resources can do for you.
Using Items
You’ve already seen how to control items in your game using a character inventory
control system. If you have played with the CharICS demo, you have noticed the lack
of function for the Equip and Use buttons. Now is the time to understand just what
will happen when the functionality is put into place in that demo.
A character can keep track of whatever armor, weapons, and accessories they can
equip. Because those equipped items are contained within an sItem structure, you
can query for the associated modified value (stored as sItem::Value) that is used to
modify a character’s abilities.
Say that item 1 is a sword. That sword is defined as a weapon and has a modified
value of 10. If a character is allowed to equip the weapon (as determined by the
class flags), the appropriate modified value is added to the character’s attack ability
value. Tracking which item is equipped can be as simple as storing the item number
in the character definition. Also, because you want to visually display the
weapon that a character is holding, you might also load a weapon mesh to attach to
the character.
As for using items, that’s just as easy as equipping items. Remember that you predetermined
what each item can be and what it can do. Say that you have a healing
potion and your player decides to drink it. Once you have checked the usage
restriction, you can determine that the healing potion is a healing item, and as
such, adds the item modifier value to the player’s health points.
Using Magic
Magic spells, much like items, are an essential resource for a player’s survival.
Magic aids the users in some way; stronger attacks, adding better defenses, and the
ability to heal are typical magic spell fare. Although spells are not needed, they
sure do help.
Magic spells are defined just like items. They have an assigned feature. Some spells
alter the character’s health, although other spells cause certain status ailments
(such as Poison). Any character can harness magic; they just need to “know” the
spell and have the matching mana points to cast it.
In order for characters to know a spell, they must learn it by working through experience
levels. You can track learned spells by using the bit flags. You can use a 32-bit
variable to store known spells, with each bit in the variable representing a specific
spell. By setting a bit in the variable, the spell is learned. Once a spell is learned, it
is typically known forever.
Managing spell usage is just like managing items; by displaying a list of spells known
by a character, the player can determine which spells to cast when and where.