Wednesday, 13 April 2011

Outline and Abstract


 
Believable Characters that influence
a games storyline.

Alan Hepburn 0701628

Computer Games Technology


Institute of Arts, Media and Computer Games
University of Abertay Dundee
 
Abstract
As computer game characters become more realistic in appearance the need for their actions to become more realistic increases. Modern role playing games(RPG) have made great advancements with the amount of options a player has to drive a storyline forward, however they are still having trouble with giving that same freedom, or at least the appearance of freedom to the non player characters(NPC) that often surround the player in RPGs. The player currently has the ability to manipulate the choices a NPC has, so that the player makes a choice and the NPC reacts, but what if the player did not have to make a choice before the NPC reacts, what if the NPC had the ability to react to the player's choices and the environment around it by making its own decisions.
This study has many different areas that could be explored and as a result this study should be focused on one of them.
  • Character Personality
  • Character Emotions
  • Decision Making
  • Dialogue
  • Character Relationships
  • Character Reputation
However this study's focus is on decision making with reference to multiple areas. To narrow down the scope of this study the multiple areas delved into were defined as a believable character. Believable characters are NPCs with personality and emotion that have aspects of character relationships and reputations. These believable characters are then applied to a storyline, the decision making aspect of this study, culminating in a decision making system that can be influenced by believable characters.
"insert generalized results"

Outline

Introduction
A generalized introduction describing, why AI is important, what AI techniques are used and how they are important, why creating a believable character is important and how that relates to personality and emotions and a generalized relation between personality and emotion, finally and most importantly how a believable character relates to a story and the effects these characters can have on a story.
Literary Review:
AI
A review of how AI is used in games, a review of games that use a similar method that I am implementing and a review of the methods I am using, Finite State Machines, decision trees and fuzzy logic and other AI Techniques that I have still to determine.
Story
A review of the story making process of computer games, an analysis of the different methods employed to control a story and a reference to decision making methods used to implement the story control methods.
Personality
A review of personalities in psychology, how personalities relate to non player characters and a review of the personality factors used in the projects.
Emotions
A review of emotions in psychology, how emotion relates to non player characters, the good and bad points of using emotion in games and  a review of the emotional factors used in the project
Methodology:
Finite State Machine
A review of finite state machines, how finite state machines relate to the project and how finite state machines are used in the project.
Decision Trees
A review of decision trees, how decision trees relates to the project and how decision trees are used in the project.
Personality Class
A review of how the personality factors are changed into a class to be used by the project.
Emotion Class
A review of how the emotion factors are changed into a class to be used by the project and how the personality factors influence emotions.
Analysis:
Analysis
An analysis of the different stages of the project. The initial player controlled program, the program with non player character influences, the different AI techniques and communication methods used to improve the non player character influences and the final  program with a believable characters.
Results
Going through three different scenarios and compare and contrast the differences with each stage and how the improvement succeeded or failed.
Problems/Solutions
A discussion of the problems and solutions of the project and a discussion of the effectiveness of the project.
Conclusion
A generalized conclusion for how well each section of the project turned out and how the overall project turned out.

Update Gantt Chart

Decision Making

Decision making is a key point in this project, it is what allows for the manipulation of the characters emotions and skills. The ability to make decisions is what defines a believable character however the player needs to be able to make decisions as well. The way the player makes decisions are determined by a decision tree. A decision tree works by having one event with different branches, these branches are different choices made by the player that result in different events happening, in turn these events have different branches that lead to more events and so on... The system implemented in the project does not use any formula to determine the choices as its being done by the player, the actions of the other characters are done with and around this system to influence the choices of the player and the actions of the non player characters(NPC).

In this project the decision tree is built on three classes, the story class, the event class and the choices class. The story class holds the master event list and adds all the events to the list and determines which event is the active event by the players choice which is managed by the choices class. The event class manages the choices, event information for the action that was taken and the result of that action and the personality factors which are used by the characters for determining emotion. The event class has a master choices list that adds the choices to the screen for the player. The choices class hold the information needed to by the story class to switch events and holds a description of the choice for the player.

For example:

The event is you are talking to a person, your choices are to stop talking to convince him to let you through a door, or to gather information. Choosing one of these option leads to a new event. Choosing the first option stop talking gives the action result, you dismissing the guy your talking to and look around, then continuing it gives you the background information, that you now stand in the court yard with the guy near you and the door in front of you. This produces more choices for this new event. The second option convincing him results in either success or failure, however to control the flow of the story it will always be failure and the action result will be that he will not help you and stop talking giving the background and options the same as the first choice however this gives the illusion that the player had control of the situation. The final option gather information will give you an action result of him giving you information but will lead to the same background information as you started minus the choice to gather information which will result in all three choices ending at the same point. This is an example of using a decision tree and game story making methods to control the story but give the player the illusion of choice.

What still needs to be implemented is the ability for the NPC's to give information to add more choices, for example, if an NPC is angry at the response he could attack the guy which could add the option to take his keys to get through the door while they may be in a normal mood and have the skill to steal the keys so they may steal it or tell the player he can steal them so the player can choose to have them stolen or not.