4.3 Structure of Game Player Model
4.3.2 Game Decision Making
The brain of our player model is the decision-making module. For a strategy game, it analyzes the current situation in the game (possibly with the help of memory to recall the pass events), synthesizes all feasible efforts, and build the best strategy to win the game.
There are various techniques in decision making. The techniques in game decision vary from simple methods, e.g. a decision tree or state machine, to complicated ones, e.g. Markov system or rule-based system . They are applicable to both intra-character and inter-character decisions.
For a player model, it is typical to choose a decision-making method of which its complexity matches the complication of the game characters’ behaviors. A state machine suits a game character with few strict behaviors. The rule-based system, on the other hand, matches a larger number of flexible behaviors.
As for our framework, we select a fuzzy logic rule-based system as our decision making. The fuzzy logic rule-based system for decision (FS decision making) uses
fuzzy logic in describing the controlling rules to make decisions.
In this approach, an expert player creates an FS decision-making system by expressing their decision-making knowledge linguistically with fuzzy logic rules (FS rules). The technique requires less effort for a non-technical professional to present his/her expertise in the domain. It fits our main objective to use the insights of the game developer to create the player model. In addition, thanks to its human-like terms used to describe the logic of the rules, FS rules are easy to create, understand, and maintain. This characteristic is appealingly used in a production period under a team development, where changes from team members are common.
A player model with FS decision-making system may not establish the strongest player model for TBS games, when compared with other sophisticated algorithms, e.g. neural networks or Monte Carlo search tree. Our goal to create a player model is to produce a simulated game player which is suitable for game parameter tuning.
The model is not, however, expected to be too powerful to outdo human players’ per-formance. To meet this purpose, the FS decision-making system is efficient enough to produce just fine decisions for TBS games. With an optimization process intro-duced in Chapter 5, we can make the stronger player model that is capable to play the games more proficiently. In addition, due to its high level of interpretability, FS rules could provide the game developers opportunities to discover new findings from the optimized player model as extra advantages.
Based on the organization of a fuzzy rule-based system in Fig. 2.2 from subsec-tion 184.108.40.206, our FS decision-making system consists of three major components as illustrated in Fig. 4.4:
membership functions decision
Figure 4.4: The decision-making module in our player model.
220.127.116.11 Fuzzy Logic System Rule (FS Rule)
FS rules specify relationship between game states, in the form of FS input variables and Boolean input variables, as well as their consequent game decision(s). A game
developer or an expert game player creates FS rules from his or her expertise in game playing. The rules are their logical knowledge for the playing character’s decisions.
It is easy to view the rules in a form of a table. We combine several rules sharing the same objective into a table, called an FS table, of which the size exponentially grows according to the increment of additional input variables. Appendix B and C show FS tables used in our player model for Star Trek game. Notice the relationship between the input variables and the size of the table in those sections.
18.104.22.168 Fuzzy Logic System’s Membership Function (FS Membership Function)
FS membership function is an interpretation of an FS input variable used in an FS rule. The interpretation is dictated by the shape of the function which we control with function parameters. By altering the interpretation of FS inputs via these parameters, the output decisions change accordingly.
In a conventional practice, a game developer or an expert game player manually adjusts membership function parameters to tweak the given FS rules for the required outputs.
Alternatively, this FS membership function parameter is the subject of an EC optimization process to automatically improve the FS decision-making system. We present the technique in Chapter 5 along with the experiments to confirm the state-ment.
22.214.171.124 Fuzzy Logic System’s Reasoning Engine (FS Reasoning Engine) FS reasoning engine examines current values of game states according to the given FS rules and membership functions, then calculates the player’s decisions accord-ingly. The reasoning engine performs the fuzzification, inference, and defuzzification processes of the fuzzy rule-based system to obtain the output decisions.
The game data parser module supplies the parsed game states to FS reasoning engine. With the given game states, the engine interprets the corresponding FS input variables into a degree of membership (DOM), following the matching membership function. According to the operators working on these input variables, a weight for each rule is calculated and assigned to its output. Then each output accumulates its weight from the rule to which it belongs to in the table. Eventually, the decision with the maximum weight is the output decision for the table. This decision is sent to the next module, the game command generator.