Distributed task solving for human non-player game characters

Burdon, Dariusz (2008) Distributed task solving for human non-player game characters. (MSc(R) thesis), Kingston University, .

Abstract

The aim of the project presented here is to develop a conceptual architecture for task solving in non-player, human game characters. The objectives are: to develop task solving algorithm for constructing sequences of purposeful human actions based on distributed finite state machines, - to investigate synthetic non-player characters structure for generating human-like behaviour and appearance based on multi-layered agents architecture, - to investigate virtual environment structure for enabling interaction between synthetic actor and objects based on finite state machines, - to develop a method for enhancing the process of matching the accurate motion with such features of a character as size, age, gender and emotions. An original architecture of Distributed Finite-State Machines, proposed as the primary contribution of this project, controls behaviour of characters and objects in a multi-dimensional state space that represents the game 3D virtual world. Decomposition of a multi-dimensional finite state machine is proposed so that each character and object is controlled by a much simpler automaton. Still, complex mutual relationship between objects and their states are preserved in this approach. Control and intelligence is therefore in the 3D world distributed, and objects, not only characters, are smart. On top of the proposed architecture an effective task solving algorithm has been developed. It considers principles of making virtual character believable and its performance human-like. Techniques of problem solving and task planning are considered as a core of avatars purposeful behaviour. To achieve naturally-looking motion, motion capture technology is considered. Research investigates various types of virtual environments and agent architectures that can be applied to control a synthetic embodied agent. The proposed solution is built around a number of components, objects and characters being the most important. The discrete and deterministic 3D environment contains both objects and characters and is built of one or more 3D scenes among which characters can relocate. Several categories of objects are introduced (containers, boundary objects and functional objects). Presented layered character architecture consists of two independent layers. The first layer combines information regarding the style of characters motions. Second layer contains information relevant for the task solving process. Most components contain a fini state machine that utilises a number of states and actions. All objects can be eventually considered as one multidimensional finite-state machine. The task solving process uses these FSMs distributed among objects to generate a path leading form the initial state to the fmal (goal) state. Each task requires a set of initial conditions to be met. It results in a number of changes of objects states. Dijkstra's algorithm is applied to find the shortest transition sequence, The task solving process decides upon the order of fulfilling initial conditions by eliminating those that does not lead to achieving the goal and by investigating complexity at every state change. The task solving process generates a sequence of actions for the character to perform. At the end of the report six simulations of character's behaviour are presented, in which various goals are achieved in various environments.

Actions (Repository Editors)

Item Control Page Item Control Page