Tuesday, 16 November 2010

Worksheet No.4

Introduction
For this project I intend to create a believable character that can influence the consequences of a game's storyline. The idea is for not only the PC but also the NPC's to be able to move a storyline forward.
 
Motivation
My motivation for this project is current games. Graphics have come a huge way in the games industry however when you look at your very detailed, realistic companion they stair lifelessly back at you. Characters in games are seen as collectible or interchangeable for example Mass Effect 2 built collecting characters into the game but then that's all they were, collectibles, tools to be used. In Dragon Age Origins the characters are also collectible but they did put characters into the story however they are still just tools this time to be used by the story. Finally Fallout New Vegas, these characters are interchangeable, so you don't get the feeling that you need them as they can be swapped they also try and put them into the game but just into situations that build a relationship, they have no actually effect on the game.

Issues
The main issue I want to address is making a believable character. A character that can actually effect the games story by independently making decisions relevant to the story such as having a lever in a room that needs pulling instead of the player always having to do it a NPC can do it, depending on there personality. Or on a bigger scale if the player were to decide to not kill a character that another NPC thinks should be dead, that NPC might decide to kill him them self maybe angering another character.

Research question

"Can a believable character, with personality and emotions be created that can actively and realistically effect consequences in a game's story?"


Addressing the Question
For the practical application I plan on creating a simple storyline and four different characters. The storyline will have four points a beginning, a middle, a climax and an end, between these points it will be possible for the characters to move the story forward using multiple variables they will be able to access, like the player.
The first system will be created using finite state machines as a standard and will be the base for comparison with the hybrid system. The hybrid system will be built upon the finite state machine using different AI techniques to improve it and hopfully create a more believable character. I am hoping the game will be similar to a table top game having five characters that can make independent decisions about where the story line is heading. 

Progress
To conclude I am hoping the FSM will produce predictable results, so that when the same scenario is done through the hybrid system, the emergent behavior produced should be able to be analyzed to hopefully show a more realistic reaction to a situation.

Friday, 12 November 2010

Worksheet No.3

Honours Project Worksheet 3

Introduction
The aim of the project is to evaluate a believable character created by using a hybrid of different AI techniques.As graphic improvement has been a focus in recent years AI has been neglected as a result the now realistic graphics have cause games to need more than just graphic, and many think AI is the answer. As a result this project focuses on the populating these games with better AI for the companion non-player characters that accompany the player. As many people believe that a good AI character would use many of the AI techniques currently available today, as each refers to a way in which the human mind tackles a problem in reality, a believable character must use multiple techniques to show its realism.The believable character in this project will be tested against a character created with a standard finite state machine, used widely in the industry. A simple story will be created and different scenarios will be played out by both the believable character and the standard character and the emergent behavior will be assessed and analyzed to give a result.

Motivation
The motivation for this research is that games nowadays have impressive graphics built up over decades of research however when you look at your very detailed, realistic companion they stair lifelessly back at you. Even more so in games now the companions you collect to assist you on your quest/journey/adventure have nothing to do with it, they are just collectible or interchangeable. 


Many games out at the moment have begun to put your companions into the game but usually there actions are mechanical and game driven rather than from the characters own personality and feelings. For example Dragon Age: Origins places your first companion into the story as a key character, however the things he does or says such as telling you to go somewhere or giving you information still feels mechanical. It feels rather than being his idea based on his feelings, its just another way to move the plot along. Also the "choices" that it appears he has, can always be easily manipulated by the player such as finding a ruler for the kingdom after the final battle, you can convince him to marry his brothers wife for the good of the kingdom or make him king, both ideas of which he detests right up until you "convince him" and even afterward but he accepts it based solely on you being the main character.

Although games have taken a step forward there still is a long way to go before believable characters are at your side in a game. That is why I would like to look into creating believable characters and to see if there is a better way for them to interact with the game. AI is an ever increasing area of study and is becoming the focus of a lot of attention in the industry today and I would like to be apart of it.
 
Research question
"Can a believable character, with personality and emotions be created that can actively and realistically effect consequences in a game's story?"

Addressing the Question
To address the research question I plan on first creating a story where there are four main point, a beginning, a middle, a climax and the ending. Between these points the story will be driven by the character's personality and emotions. While creating the story I will create a personality and emotion program for different characters. 

The first standard experiment will use finite state machines as the primary AI algorithm so the choices in the story will be based on the finite state machine and allow for minimal emergent behavior.The second experiment will use the same personality and emotion model as the first but will be created using a hybrid of AI techniques all based on the best algorithm for the specific situation. 
The two will then be compared and analyzed for any emergent behavior and the differences the story takes. To test as accurately as possible the same scenarios will be used, which will try and fully utilize the different personalitys and emotions. 

Through experimentation with the different AI algorithms and the different personality and emotion bases I hope to show that a believable character can be created that can be fully integrated into a story giving a much more realistic atmosphere to a game and taking the moment of the story somewhat out of the hands of the player to make it more like real life.

Resource Requirements
Going to hand code the majority of the project I will just need a computer with visual studios. I may use a graphics engine if I have time to create a 3D world but for the moment I intent to make the GUI text based story with simple images and faces.

References and Bibliography

Game Programming, 2010. Amit’s Game Programming Information. Avaliable at:<http://www-cs-students.stanford.edu/~amitp/gameprog.html> [Accessed 09 November 2010]


Bringing emotions to video games, 2010. msnbc.com. Avaliable at:<http://www.msnbc.msn.com/id/4038606/>[Accessed 09 November 2010]


Adapting the Tools of Drama, 2001, Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/3037/adapting_the_tools_of_drama.php>[Accessed 30 September 2010] 


Alexander Nareyek, 2007,Game AI is Dead. Long Live Game AI. Intelligent Systems. Avaliable at:<http://www.ai-center.com/publications/nareyek-07-ieee.pdf>[Accessed 12 November 2010]


John Laird's Artificial Intelligence & Computer Games Research, 2009. John Laird's Web page. Avaliable at:<http://ai.eecs.umich.edu/people/laird/gamesresearch.html>[Accessed 12 November 2010]


John E. Laird and Michael van Lent, 2000. Human-level AI's Killer Application: Interactive Computer Games. University of Michigan. Avaliable at:<http://ai.eecs.umich.edu/people/laird/papers/AAAI-00.pdf>[Accessed 12 November 2010]


The Dust of Everyday Life: The Art of Building Characters, 2010, Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/4283/the_dust_of_everyday_life_the_art_.php>[Accessed 12 November 2010]


Peter Molyneux: The Essence of Interaction, 2009, Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/4011/peter_molyneux_the_essence_of_.php>[Accessed 12 November 2010] 


Constructing Artificial Emotions: A Design Experiment, 2007, Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/1992/constructing_artificial_emotions_.php>[Accessed 12 November 2010] 


Anticipatory AI and Compelling Characters by Bruce Blumberg, 2006, Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/2563/anticipatory_ai_and_compelling_.php>[Accessed 12 November 2010] 


AI Middleware: Getting Into Character, Part 2: DirectIA, 2003 Gamasutra.com. Avaliable as:<http://www.gamasutra.com/view/feature/2824/ai_middleware_getting_into_.php>[Accessed 12 November 2010] 


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


Dickheiser,M ed., 2006. Game Programming Gems 6. Hingham, Massachusetts: Charles River Media, INC.

Jacobs, S ed., 2008. Game Programming Gems 7. Boston, Massachusetts: Course Technology.

Rabin, S ed., 2002. AI Game Programming Wisdom. Hingham, Massachusetts: Charles River Media, INC.

Rabin, S ed., 2004. AI Game Programming Wisdom 2. Hingham, Massachusetts: Charles River Media, INC.


Rabin, S ed., 2006. AI Game Programming Wisdom 3. Hingham, Massachusetts: Charles River Media, INC.

Rabin, S ed., 2008. AI Game Programming Wisdom 4. Boston, Massachusetts:Course Technology.

Monday, 25 October 2010

Worksheet No.2

Being able to narrow down a focus for my dissertation has been quite difficult as what I want to focus on isn't very easy to pinpoint. In the first worksheet I vaguely go over issues I'm interested in trying to make it sound like I have an idea and looking back its clear I really don't. However i was able to formulate my thought in an email to my 'possible' supervisor which I found helped me more than it probably help him to help me. 

" My blog entry for worksheet one was rather difficult to produce as I thought I had a well thought out idea but as I wrote it it fell apart. The idea I want to investigate is creating an NPC that has a greater influence on a game's story, for example an NPC being able to confront a player on an action that the NPC disagrees with. The topics I have looked into are, NPC personality, Emotional components and different decision making processes but am not sure how I would narrow this down to a question or even if I could take aspects from each but I assume that would be to broad an area to study for this dissertation.

Practically I was looking to create a short text based story with the player making different decisions and the NPCs reacting to the decisions and attitude of the player in a way the would influence the story however how to go about making this a test I could draw a conclusion from has to this point eluded me."[
07 October 2010]

Having had time to contemplate this and do some research I feel I have been able to identify the area I wish to study and although it is a broad area the focus should be able to be highlighted. Consequences. In many games at the moment there are no consequences for a players action, the game is just a linear story broken up between killing and cut scenes, trying to give emotional depth though uncontrollable movies and creating emotion by limiting it to anger and violence during game play. There are game out there that show a higher degree of choice and consequences but on a larger scale than I plan to look into, games like Fallout 3 and its newly released sequel Fallout: New Vegas allow you to take action where there are consequences that effect you gaming experience. However these decisions don't effect the players companions on an emotional level. It does effect the companion but in basic ways such as if you are an 'evil' character a good companion will leave your side and vise versa, also if you side with a faction that is an enemy to your companion they may leave your side. This is fine to help the story continue however it causes them to be a bit devoid of personality and emotion.

"Can an NPC's* personality and emotions be used to actively effect consequences in a game and possible the main storyline itself"
* NPC - Non-player Character.

There are many games (mainly RPGs) attempting to add a more diverse experience with the player's companion characters such as Bioware's Dragon Age Origins and Mass Effect(1 and 2) and Bethesda and Obsidian's Fallout 3 and Fallout: New Vegas. The area is also rich in AI literature as this uses personality programming, emotional components, decision-making and AI learning. 

Practically implementing this would be to take various NPC's with different personalities and emotional components and put them into situations with the player with which the players decisions effect the NPC's 'views' and have the NPC react to the decision and implement a believable consequence for the decision.
To do this a number of NPC personality would have to be created then have each personality linked to an appropriate emotional state and possibly a background for each NPC. From there a simple text based story would be implemented with which the player would play through scenarios and the story will be determined by the NPC's personality. As a result some sort of learning algorithm will need to be implemented to determine exactly how the story is effected by the NPC's personality and emotions to allow for emergent behavior. Methods I could use are Fuzzy Logic, Genetic Algorithm or I could also use Support Vector Machines although the use of these methods will have to be evaluated and used at the focus of the dissertation rather than focusing on the techniques themselves.

By looking into what game are doing now in terms of the research question(RQ) and how other programmers have taken to the programming involved we can establish a baseline for what we expect to happen and define the result of the RQ by the emergent behavior that arises. The scope of this dissertation has a lot of different techniques used for a single purpose, I am hoping to use standard, credited methods for each to limit the variables and to give a more concise experiment. I am also hoping that the focus of this project is not skewed by the different factors that are involved. For consistency I should use a combination of all available techniques but that would be far beyond the scope of this project.  
   

Wednesday, 29 September 2010

Worksheet No.1


1.      1.State the topic of interest that you may wish to take forward into a project
2.      2.Indicate the issues surrounding this topic that you may wish to investigate
3.      3.Outline your initial ideas about how you would carry out the practical aspects of the project

1.The topic of interest I am considering looking into is the use of AI techniques in relation to NPC's effect on decision making in games; hopefully to lead to a more realistic character that has a more noticeable personality and a seemingly more independent effect on the game world.

2. Being a heavy AI driven idea to begin with there are many areas that could be explored.
  • Learning techniques are used to make a NPC more realistic in relation to decisions effected in a game using tried and tested decision making techniques and also using set standards to compare NPC personality.
  • Decision making is a complex issues that can be a heavily explored area to study due to its need to be efficient and the different ways it can be implemented.
  • Personality and emotion are good areas for study as it brings a sense of realism to a NPC giving it more depth. It is also a complex area with multiple different ideas that can be implemented.
3.  The practical way I would implement these ideas is to create a story based simulation where the variables for each effect would change depending on the players choice and the NPC's personality and hopefully showing that the NPC is a more independent and realistic.