Sunday, 16 November 2008

Worksheet 3

Introduction

The aim of this project will be to determine whether or not it is possible to incorporate cognitively modeled, self animating non player characters (NPC's) on a mass scale within a games environment. This will allow for communities of game characters that can think for themselves and act somewhat realistically.

Motivation

Many games today rely heavily on NPC's to further the story of the game and to add realism to a certain environment (an empty city would hardly capture a players imagination) and with better technology becoming more readily available it should be possible to improve on the techniques already used to create these characters.

Cognitive modeling is used to give the impression that the NPC is “thinking” for themselves and allows them to take appropriate action based on their own domain knowledge about the situation of their world. It is an area of AI that has been used for many years, and yet to my knowledge no one has implemented this technique into a game on a mass scale. With this as the basis of my motivation it is my aim to try and determine whether or not this is an achievable goal on the current generation of hardware.

Research question

"Is it possible to implement cognitively modeled, self animating non-player characters into a computer game on a mass scale and if so what is the best method for achieving this?"

Addressing the Question

I will need to create a basic 3D game engine as an environment for the NPC's. This will most likely be created using the OGRE graphics rendering engine to try and save time, as it would require minimum work to set up fully. For it to be a realistic interpretation of a game, collision detection, accurate lighting, multiple environmental models and audio will need to be included in this, again OGRE allows for all of these. Once this has been completed I will create the systems which will animate the NPC's. Based on current research it is the plan to try and implement at least 2 and possibly 3 techniques to do this. The first technique will be a fuzzy logic based system, and the second will be an implementation of a technique known as “Situation Calculus”. If time allows the third technique that will be implemented will be a decision tree system. These will integrated into the game engine and NPC's will be added until the frame rate drops below an acceptable level. The number of NPC's the environment can hold will be the initial bases for my results (the more NPC's that can be contained in the environment, the better) and the secondary criteria of the accuracy of the NPC's actions will be tested after this.

Resource Requirements

To achieve this goal, a computer with the OGRE sdk installed will be needed. It may also be required to set up a focus group to try and establish what players who have had no other input with the making of the application think of the believability of the NPC's actions.

References and Bibliography

Funge, J, D (1999). AI for Games and Animation. Natick, Massachusetts: A K Peters.

Baillie-De Byl, P (2004). Programming Believeable Characters for Computer Games. Hingham, Massachusetts: Charles River Media, INC.

Champandard, A, J (2004). AI Game Development Synthetic Creatures with Learning and Reactive Behaviours. Indianapolis, Indiana: New Riders.



No comments: