1. Greedy and Agressive - Both players and NPCs have no social need and will try to pursue
the closest player or monster in order to kill it (Killer and Monster in figure 5).
2. Action selection using Markov Chain - The next action is dependent on the previous action
and on the possible actions at the current time. E.g. if there are no enemies in sight the
'fight' action in the Markov matrix is pruned and the probabilies for the available actions
are normalized. (MarkovPlayer in figure 5)
3. Action selection from hierarchical plan - The next action is selected from a predefined
hierarchical plan (predefined in XML). It also has a long term memory and is able to
reason about past experiences, and it is able to use the pathfinding mechanism for deter-
mining where to move next. This reasoning mechanism is inspired by the Hap reactive
and adaptive architecture used in the Oz project [14]. Plans have so-far been developed
for the player types killer and explorer. (PlanAgent in figure 5)
2.8
Scalability of the Zereal Platform
We have used factorial experimental design and identified five (six) factors that have effect on
the scalability of the simulator. These are: number of players and NPCs, number of CPUs,
the vision-radius and size of the world. In addition we have the reasoning factor which is
likely to be highly dependent on the reasoning algorithm [22]. By reasoning factor we mean
the amount of computational resources spent on AI algorithms for reasoning in the sense-
reason-act cycle for each agent.
2.9
Logging of Player Behavior
The main output of Zereal is the log files that are written to disk. The contain player data
that can be an important source for data mining in order to find player patterns in MMOGs.
Examples of interesting data mining problems in MMOGs are:
· How to detect bored or frustrated players?
· How to detect unbalanced features of the game? (E.g. weapons that beat all other weapons)
· Which features and data need to be logged to solve the above 2 questions?
The current logging of game events are of 5 types:
1. DEBUG - internal debug messages
2. GAME - game specific events like moves and attacks
3. EVENT - game events regarding receiving and sending agents between subworlds (i.e.
CPUs), agent killing and logon/logoff.
4. WARNING - non-critical errors
5. ERROR - severe errors
Paper C
85