Mostrando entradas con la etiqueta papers. Mostrar todas las entradas
Mostrando entradas con la etiqueta papers. Mostrar todas las entradas
0

Paper: Map-Adaptive Artificial Intelligence for Video Games

Map-Adaptive Artificial Intelligence for Video Games
[Laurens van der Blom, 2007]

The author of this paper explains how to implement an AI opponent in a RTS game that takes into account the properties of the map it is placed in. For example, the AI makes decisions based on the amount of resources nerby, the location of cliffs and/or narrow passages, and the overall strategy of the opponent (if the opponent is playing offensively or defensively).

To achieve this, a ID3 Decision Tree was used in combination with fuzzy logic to allow the AI to find the best course of action depending on the current state of the game.

The game in which the AI was tested was a moderately complex RTS so the following set of rules were used:

  1. Construct metal extractors at near metal resources.
  2. Construct metal extractors at far away metal resources.
  3. Place offensive units at relatively narrow roads.
  4. Place offensive units at own base.
  5. Place artillery on cliffs.
  6. Protect operational metal extractors.
  7. Protect artillery on cliffs.

The AI was tested against a computer controlled opponent and a human opponent in five different types of maps designed to test specific attributes like amount of resources or presence of narrow paths. In most of their tests, the AI performed as they expected but when placed against a human player it lost most of the games (even if it also performed as expected).

What I liked about this approach is that the AI actually varies the strategy if the enemy is near or not and if the enemy is attacking or not and it's relatively easy to distinguish what actions are being performed by it. And while this approach works, the AI had a hard time beating human players. That may be caused because, as the author states in the article, the decision tree needed more specific cases. Maybe the use of a nerual network could remedy this issue, but it could make the implementation a little more complicated or even change it completely.

Read article, complete with experiments and results here.

Van der Blom, Laurens, 2007. Map-Adaptive Artificial Intelligence for Video Games. Obtained in July 21st, 2011. http://www.unimaas.nl/games/files/bsc/Blom_BSc-paper.pdf
0

Paper: Random Map Generation for Strategy Games

Random Map Generation for Strategy Games
[Shawn Shoemaker, 2004]

This paper explains how to generate a random map for a RTS game using clumps.
One of the most important aspects to consider when creating random maps for these games is the balance. Every player must have a balanced amount of terrain near them and a balanced amount of resources.
This can be achieved with clumps which are pieces of land that iteratively grow untill the map is filled. Initially, the map contains an empty grid with a tile for every player. This initial tiles are equally separated from each other.
Then, each tile grows iteratively by one tile, creating a clump of land untill the maximum growth size is reached or there are not enough tiles to expand again.
This leaves us with a map grid of zones for each player with roughly the same space. After each player's space has been determined, terrain height details will be generated, trying to give each clump a balanced configuration. Finally, resources can be placed inside each of the clumps, ensuring that each player can obtain the same amount of resources in one way or another.
This technique is useful as a general map creation algorithm, for either simple or complicated maps for different types of games.
A more detailed explanation of the algorithm and some examples can be found in the book AI Game Programming Wisdom 2.

Shoemaker, Shawn (2004). Random Map Generation for Strategy Games. In Steve
Rabin (Ed.) AI Game Programming Wisdom 2. United States, Charles River Media
Inc.
0

Paper: Can a Realistic Artificial Intelligence be created for a Real-Time Strategy Game?

Can a Realistic Artificial Intelligence be created for a Real-Time Strategy Game?
[Dane Anderson, 2008]

In this paper, the author explains how is it possible to create a realistic AI for a RTS game. To make this task easier, the AI should be divided in two important categories:
  • Tactics: Combat and path-finding.
  • Strategy: Sub-goal identification, engaging the enemy, learning and economy management.
Combat
This involves individual units fighting with each other. This section boils down to choosing the correct weapon for each unit to use in specific situations. This is further simplified if the unit only has one weapon available.

Path-Finding
This involves units, individually or as a group, finding the shortest path between two points. The author quickly states that the A* algorithm is a popular choice for RTS games but it suffers from two important flaws. The first one is the amount of resources needed to calculate the path for all the units. This can be solved with flock algorithms, from which Simple Swarms (SS) was chosen for its efficiency and easy control. The second one is unreallistic movement when obstacles are present. This can be solved by calculating the path before moving (the amount of resources needed are balanced with the use of SS).

Sub-Goal Identification
This involves the use of scouts to acquire information about the player to create sub-goals that will help the AI to win the game. For example, if the scout detects that the player has created an archer, the AI can deduce what buildings the player has built and adjust the units that will be created next.

Engaging the Enemy
This involves how the AI will use the units at its disposal. The author explains that most of the time, the AI sends the units unintelligently, making it easier for the player to kill them. Influence Maps can prevent this behavior because the enemy formations can be easily determined and the AI can make a better decision on how to move its units.

Learning
This involves the AI adjusting its strategy over time. This is intended to mimic the players own behavior, as they also adjust their strategies over time.

Economy Management
This involves the AI managing units, constructions and resources. The use of a resource chart will help the AI determine what units to build or what buildings to construct based on its current sub-goal.

The author concludes that the use of this architecture for the creation of the AI can achieve a better sense of realism for the player, because both players are given the same information and the competition becomes fair (no need to use 'cheating' techniques, often used in game AI).

Read the paper here

Anderson, Dane (2008). Can a Realistic Artificial Intelligence be created for a Real-Time Strategy Game? Obtained in July 10th, 2011 from Scribd.com http://es.scribd.com/doc/2546855/Can-a-Realistic-Artificial-Intelligence-Be-Created-for-a-RealTime-Strategy-Game
0

Paper: Promising Game AI Techniques

Promising Game AI Techniques
Steve Ravin [2004]

As a follow-up to the paper: Common Game AI Techniques, the same author explains some techniques that can be interesting to use in game development but that haven't (as of 2004) become popular in the industry.

Much like his other paper, he describes each technique and provides a specific game application with each one of them. The techniques described are the following:

  • Bayesian Networks: They allow complex humanlike reasoning when faced with uncertainty.
  • Blackboard Architecture: Problem solving with the use of a shared communication space.
  • Decision Tree Learning: Relate a series of inputs to an ouptut using a series of rules arranged in a tree structure.
  • Filtered Randomness: Ensure that random events appear random to players.
  • Fuzzy Logic: Extension of classical logic that is based on the idea of a fuzzy set.
  • Genetic Algorithms: Search and optimization based on evolutionary principles.
  • N-Gram Statistical Prediction: Statistical technique that can predict the next value in a sequence.
  • Neural Networks: Complex nonlinear functions that relate one or more input variables to an output variable.
  • Perceptrons: A Nerual Network of exactly 1 layer.
  • Planning: Series of techniques that allow the AI to perform several actions in order to reach a certain goal.
  • Player Modelling: Build a profile of the player's behavior to adapt the game accordingly.
  • Production Systems: Architecture for capturing expert knowledge in the form of rules.
  • Reinforcement Learning: Learning based on trial and error.
  • Reputation System: A model of the player's reputation in the game world.
  • Smart Terrain: A technique based on putting intelligence into inanimate objects.
  • Speech Recognition: Enable a player to speak into a mic and have the game respond accordingly.
  • Weakness Modification Learning: Learning technique that prevents an AI from losing repeatedly to a human player in the same way each time.

You can find more information on each one of them in the book AI Game Programming Wisdom 2.
Rabin, Steve (2004). Promising Game AI Techniques. In Steve Rabin (Ed.) AI Game Programming Wisdom 2 (pp 15 - 27) United States, Charles River Media Inc.
0

Paper: Common Game AI Techniques

Common Game AI Techniques
Steve Rabin [2004]

In this paper, the author describes the most common techniques used in the industry and gives a game application example of each one of them. Here is a list of the techniques described in the article:

  • A* Pathfinding: Find the cheapest path through an environment.
  • Command Hierarchy: Strategy to deal with AI decisions at different levels. Modeled after military hierarchies.
  • Dead Reckoning: Predict a player's future position based on current position, velocity and acceleration.
  • Emergent Behavior: Behavior that wasn't explicitly programmed but emerges from the interaction of simpler behaviors.
  • Flocking: Technique for moving groups of creatures in a natural manner.
  • Formations: Group movement technique that mimics military formations.
  • Influence Mapping: Method for viewing the distribution of power within a game world.
  • Level of Detail AI: Optimization technique where AI computations are only performed if the player will notice them.
  • Manager Task Assignment: A single agent makes decisions and assings tasks to agents best suited for the task.
  • Obstacle Avoidance: Use of trajectory prediction and layered steering behaviors to avoid obstacles.
  • Scripting: Specify a game's logic outside the game's source language.
  • State Machine: A finite set of states and transitions where only one state can be active at a time.
  • Stack-Based State Machine: Same as State Machine but remembers past states so they can be retrieved if current state is interrupted.
  • Subsumption Architectures: A specifict type of agent architecture that separates the behavior of a single character into concurrently running layers of State Machines.
  • Terrain Analysis: Analyze the terrain of a game world in order to identify strategic locations such as resources, ambush points, etc.
  • Trigger System: Simple system that allows if/then rules to be encapsulated within game objects of the world itself.

Each one of these topics is further explained in the paper that you can find in the book AI Game Programming Wisdom 2.

Rabin, Steve (2004). Common Game AI Techniques. In Steve Rabin (Ed.) AI Game Programming Wisdom 2 (pp 3-14) United States, Charles River Media Inc.
0

Paper: Simulating Real Animal Behavior

Simulating Real Animal Behavior
Sandeep V. Kharkar [2002]

I found this article really interesting because this is the first time I read about AI applied to animal behavior. This type of behavior is a little bit different from the usual opponent AI as to make the animals seem realistic.

The paper states that there are three different categories of animales in a game:
  • Ambient Animals (Ambient animals are used to enchance the environment of the game. They don't require heavy AI programming but they still require specific behaviors to make them seem real).
  • Secondary Animals (Secondary animals have limited interaction with the player. They need to be intelligent but somewhat limited so the interaction with them doesn't take the focus away from the main gameplay).
  • Primary Animals (Primary animals are the focus of the game. They usually have the most complex AI as they are the center of attention and probably a key part of a gameplay mechanic).
The author gives some tips to program the behavior of different types of animals like bugs, birds and fish. Also, he provides some insight what should be considered when programming each of the three kinds of animals in games.

For example, when programming bugs, you should consider that they never fly in a straight line, that they don't always flap their wings or that they try to avoid any moving objects.

This paper is a great starting point when trying to make the environment more lifelike as it gives a nice overview of what you can expect to achieve with AI programming.

The complete paper can be found in the book: AI Game Programming Wisdom.

Kharkar, Sandeep V.; (2002). Simulating Real Animal Behavior. In Steve Rabin (Ed.) AI Game Programming Wisdom (pp 479 - 485) United States, Charles River Media Inc.
0

Paper: Opponent Modeling in Multi-Agent Systems

Opponent Modeling in Multi-Agent Systems
David Carmel and Shaul Markovitch [1996]

Opponent modeling is an interesting way to allow the AI to behave realistically to different strategies. If you can create an accurate model of your opponent, you could be able choose your next actions based on what you predict your opponent will do.

In this paper the authors propose an opponent modeling algorithm based on Finite State Machines that can work in a multi-agent environment.

They explain an algorithm that can create a model of an opponent as a Finite State Machine based on previous actions taken in the game. The model is reinforced as data is being processed. When a counter exapmle is found, the model updates itself to try and match the real model. The full algorithm with proofs and thorough explanations can be found in the original paper.

The authors concluded that their algorithm is only a first step in the area of opponent modeling, but can be of great interest if further research is made.

Complete paper can be found here
David Carmel and Shaul Markovitch. Opponent Modeling in Multi-agent Systems. In Gerhard Weiss and Sandip Sen, editors, Adaption And Learning In Multi-Agent Systems, volume 1042 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1996.
0

Paper: Blackboard Architectures

Blackboard Architectures
Damian Isla and Bruce Blumberg [2002]

This paper explains a possible approach to handle coordination between different AI agents called "blackboard". This architecture references the physical blackboard that we are all used to.

A physical blackboard provides a shared space where the problem can be broken down and incrementally solved. Also, the group standing around the blackboard can break into smaller groups to solve different parts of the problem but still knowing how the others are going and being able to assist them if necessary.

A blackboard architecture consists on three basic elements:
  • A blackboard: A publicly read/writeable information display.
  • Knowledge sources: Components that operate on the information that the blackboard contains.
  • Arbiter: Given a single snapshot of the blackboard contents, the arbiter must decide which of the relevant knowledge sources to execute.

This system can be used as part of an agent architecture. The most notable improvement when using this architecture is that when the agent needs to be extended, the new modules just need to be connected to the blackboard and that's it. This could also help to morph an agent's behavior by adding or removing knowledge sources.

Also, this system can be used for agent-to-agent coordination. Depending on the type of game, the knowledge sources can represent different elements. The most important aspect of this architecture is to get the arbiter's decision making algorithm right.

The full article can be found in the book AI Game Programming Wisdom.

Isla, Damian; Blumberg, Bruce (2002) Blackboard Architectures. In Steve Rabin (Ed.) AI Game Programming Wisdom (pp 333 - 344) United States, Charles River Media Inc.
0

Paper: Building an AI Diagnostic Toolset

Building an AI Diagnostic Toolset
Paul Tozour [2002]

This paper explains one of those things that are rarely planned when developing an AI system: the diagnosis tools.

The author explains that having a good set of diagnosis tools can save a lot of time when trying to figure out what is the AI trying to do, plus it makes it easier for non AI-developers to understand and tweak the system if needed.

Two types of tools are proposed: AI Commands and AI Diagnostic Tools. The former can be used to change the state of the system and the latter can be used to view the internal state of the system.

Here are a few examples of the proposed tools:

AI Commands
  • Destroy (Eliminate a number of AI-controlled units).
  • Insensate (Make AIs unaware of sensory inputs).
  • Forget (AI forgets current target and loses all knowledge it possesses).
  • Modify State (Force the AI to excecute a specific behavior or tactic).
  • Switch player control (Allow user to take over an AI unit)

AI Diagnostic Tools
  • Unit AI state (If the system is a finite-state machine, display the state of any given AI subsystem).
  • View Pathfinding search (Show nodes looked at and the order they were searched).
  • View Current Target (Display arrow from selected AI unit to it's intended target).
  • View Sensory Knowledge (Draw a line from selected AI to any stimuli it notices, changing colors depending on the intensity of the stimulus).
  • View Past Locations (Draw connected lines indicating locations an AI has visited).

Aside from being useful as debugging and tweaking tools, they can also provide interesting functionality if implemented as game mechanics in a game where the player can "program" their units, for example, being able to analyze what's going on with Diagnostic Tools in-game and being able to alter part of the programmed behavior with AI Commands could make the game more active and less "program and wait too see what happens".

The paper can be found on the book: AI Game Programmming Wisdom
Tozour, Paul (2002). Building an AI Diagnostic Toolset. In Steve Rabin (Ed.), AI Game Programming Wisdom (pp. 39 - 45). United States, Charles River Media, Inc.
0

Paper: Evolution of Artificial Intelligence In Video Games

Evolution of Artificial Intelligence In Video Games: A Survey
Ken Mott [2009]

In this paper, Mott explains how AI has been implemented in different types of games and the future challenges it faces in modern games.

One of the first rough implementation of game AI ever made was in the game Pong. The opponent's paddle had to move up and down to be able to return the ball to the player. This is known as Tracking AI. In Pong, this can hardly be considered intelligent, but this is how it began.

Another implementation of AI was done in board games that had been made into video games, like Backgammon. The AI used in these games was called Path Finding or Searching and was used to determine the next move of the computer.

In games like Space Invaders, a different form of AI was introduced: Pattern AI, which is used to make the enemies appear more human like. In Space Invaders, this was used when an enemy ship drops down to hit the player. Instead of following a straight line, it would track the player and curved it's path.

In modern games, AI has gained a lot of interest. In First Person Shooters, game AI is used to make enemies seek cover or to create a sense of teamwork between them using Waypoint AI. Mott states that further improvement is needed in this genre because bots still charge into enemy filled areas and fail to find new ways to traverse the level different from the intended one.

In Real Time Strategy games, AI is controlled by scripting. The problem with this is that players will learn the patterns of the enemy and adapt to them. To counter this problem, Dynamic Scripting can be used or even Genetic Algorithms to change the AI patterns.

Finally in games like The Sims, different algorithms are used not to make them seem intelligent, but to create what is called Artificial Life, which is when programmers try to make characters seem more human-like, not just in their decisions, but also in their behavior.

As time goes by and computers let developers create more complex AI without sacrificing graphics, we'll see much better AI agents that enhance the gameplay experience of players around the world.

Mott, Ken. (2009) Evolution of Artificial Intelligence In Video Games: A Survey
0

Paper: Player Modeling for Intelligent Difficulty Adjustment

Player Modeling for Intelligent Difficulty Adjustment
Olana Missura and Thomas Gärner [2009]

Automatic difficulty adjustment is a topic of great interest in game development. It can keep the player in the best possible 'fun' state and in the case of serious games, it can keep the player in the best state for whatever the game's objective is.

In this paper, the authors compare static to dinamic difficulty adjustment and explain their algorithm to determine a good difficulty setting for any player.

Traditionally, games where the player can adjust the difficulty involve the player choosing one of several difficulties and the game changing accordingly. The problem with this approach is that it's difficult for a developer to model the correct difficulty for each level of the game, as some might be perceived as too easy or too hard, depending on the player. To refine this, the developer needs to spend a great amount of resources to thoroughly test the difficulty settings of the game. The aim of this paper is to ease this process by modelling different players and trying to classify each player to set the difficulty accordingly.

The method they use for this purpose is quite interesting and it can be used in any game as long as the correct measurments are captured. They created a simple game with three difficulty settings. Game testers played the game setting the difficulty as they saw fit. While they were playing the game, data like score and player health was being recorded. After enough testers played the game, a clustering algorithm was applied to the data and was able to make a classification of the behavior of a player related to the difficulty they were playing in. So now, the only thing that has to be done is to classify a new player as fast as possible in the beginning of the game to automatically set the difficulty of the game.

This method had some technical limitations, like not every game during the same length of time and not every game ending the same way, but the data can be normalized to solve this problem.

They concluded that intelligently adjusting the difficulty was significantly better than the traditional static difficulty adjustment method and to further add to the investigation, different clasification algorithms should be tested, like nerual networks or gaussian processes.

Missura, Olana; Gärtner, Thomas. (2009). Player Modelling for Intellignet Difficulty Adjustment
0

Paper: Beyond Façade

Beyond Façade: Pattern Matching for Natural Language Applications
Bruce Wilcox [2011]

Following my recent post about a cool game: Façade, it was brought to my attention this paper, which is an amazing explanation of the technology used for natural language recognition from A.L.I.C.E. to ChatScript, Façade being somewhere in the middle.

First, the author describes AIML (the technology used to create A.L.I.C.E.) and states all it's shortcomings. Specially, he says that AIML is extremely hard to read and to program, because of the intricate XML style and recursive pattern recognition. That doesn't mean that the system is bad, it's just hard to work with.

AIML example:

< 'category '>
<'pattern '> * I LOVE YOU < /pattern >
<'template '> Whatever < /template >
< /category>

(Ignore the ' . It's a patch to force blogger to show the tags)
The last code will match the string "I love you" if found at the end of the sentence.

Next, he speaks about Façade. With this games, their creators made a big improvement over the traditional AIML system. They implemented 'Discourse Acts'. This means that a reaction can be mapped to one of these acts instead of mapping it to a text, which allows the programmer to generalize many possible sentences into a single act.

The system used in the game was easier to work with than AIML, but it was still hard to read and do complex stuff.

Façade's system example:

(defrule positional_is
(template (tor am are is seem seems sound sounds look looks))
=> (assert (iIs ?startpos ?endpos)))

The last code defines the rules for the discourse act "praise".

Enter ChatScript, a system created by the author to make it easier to read and work with natural language processing. ChatScript aims to pattern-match on general meaning, so it tries to detect equivalence. With ChatScript, he managed to create a bot that fooled one of the four judges in the Loebner Competition into thinking it was human.

ChatScript example:

concept: ~meat (bacon ham beef meat flesh veal lamb chicken pork steak cow pig)
s: (I love ~meat) Do you really? I am a vegan.

The last code associates some words to the general term 'meat' and responds to sentence "I love *" where * is some kind of meat with the answer "Do you really? I am vegan".

ChatScript is a gigantic improvement in the natural language processing field and it can be used to create some interesting applications. ChatScript has many features like memory and conversation topics which are described in the original paper.

Wilcox, Bruce, (2011) Beyond Faade: Pattern Matching for Natural Language Applications. Retrieved March 17, 2011 from Gamasutra.com: www.gamasutra.com/view/feature/6305/beyond_façade_pattern_matching_.php?page=1
0

Paper: The Suffering, A Game AI Case Study

The Suffering: A Game AI Case Study
Greg Alt [2004]

In this paper, the author explains how he developed the AI system for the game: The Suffering. Specifically, he talks about behavior, pathfinding and steering/collision.

The behaviors were programmed using a tree structure. Each behavior is a separate C++ class and are allocated when added by their parent behavior or deleted when removed by the parent. Behaviors at the top of the tree are abstrackt and generally use child behaviors to achieve subtasks. This system allows complex behavior and variety among different NPC (Non-Playing Characters) by allowing different behaviors at different levels in the hierarchy.

Unfortunately, this structure also made it extremely hard for the designers to manage different actions, for example, allowing two NPC's of the same type to have a different behavior, required a programmer to add a parameter to the parent behavior and made the code more complicated.

Pathfinding was done with A* and cleared using string-pulling. Some enemies can walk on the ceiling, so it had to be taken into account when creating a path. The system was able to tag edges as to denote special places like doors, ladders or ceiling/floor transitions. Also, edges could be tagged to exclude specific NPC types.

To avoid using a great amount of memory while searching for paths, they limited only one pathfinding per frame. Different requests must wait for future frames. For this system also, the designers found a hard time when using it, as they spent many hours setting up and debugging a movement graph for small levels.

Finally, the steering behaviors used in the game included: Arrival, Evade, Wander, ObstacleAvoidance, UnalignedCollisionAvoidance, Containment, Separation and Flanking, which allowed NPC's to approach enemies from the side or behind. Each behavior outputs an acceleration vector to the low-level movement system. NPC's are moved an animated based on this.

The author concludes that modularity is essential for faster development, as it results in less bugs and increased functionality. Also, he says that the AI system was hard to use by the designers, but it could be solved with a better interface and level editor.

Alt, Greg (2004). The Suffering: A Game AI Case Study
0

Paper: Expressive AI

Expressive AI: Games and Artificial Intelligence
Michael Mateas [2003]

In this paper, the author explains that the use of AI in games should be considered an interdisciplinary practice instead of just a "purely technical", concept that he calls "expressive AI".

Michael says that game AI should create a sense of aliveness, that there is an entity living within the computer that cares about the player's actions. For example, in a first person shooter, the player can easily interpret that the enemies want to kill him while avoiding being killed. In 'The Sims', each sim responds to new objects placed in the house, altering its behavior accordingly.

An interesting example that is given in this paper is Pac-Man, where the behavior of the ghosts is critical to understanding the game because they define the primary action of the game. The ghosts have the perfect combination of behaviors to make the game enjoyable and to make them feel alive. If all four ghosts were always trailing behind you, the game would be extremely easy. If they were always setting up traps and cornering you, the game would be extremely difficult. To solve this, the creator of the game decided to give each ghost different action patterns: the red ghost chases Pacman all the time, the pink ghost is fast and moves a little bit randomly, the blue one escapes from Pacman until he approaches the ghost enough for it to start chasing him, and the orange ghost is slow and moves randomly.

The simple algorithms of the ghost AI create a rich and unpredictable behavior that can even make the player believe that sometimes, the ghosts are actually setting up traps.

With this example, the author clarifies that AI is essential when discussing the design of the game.

Based on this premise, he continues to explain the game he has been working on: Façade (a first-person interactive drama). This game incorporates a great amount of game AI in it's game design, including natural language understanding to provide a moment-by-moment interaction while developing the story's arc (complication, crisis, climax and resolution).

Finally, the author concludes that the concept of traditional AI is good but not enough for a game, whatever the specific task of the AI, the important thing to remember is that it is always performing: entertaining, frightening, and amazing the player, that's why game AI should be carefully analyzed, it is of interest not only to the AI programmer, but also to the artists and game designers involved.

Mateas, M. "Expressive AI: Games and Artificial Intelligence", in Proceedings of International DiGRA Conference, 2003.
0

Paper: Learning In The Wild

Learning In The Wild: What Wolfquest Taught Developers and Game Players
David Schaller, Kate Goldman, Grant Spickelmier, Steven Allison-Bunell, Jessica Koepfler [2009]

In this paper, the authors explain their experience developing Wolfquest, which is a serious game about wolves.

It's interesting to see that they used several learning principles from the book "What Video Games Have To Teach Us About Learning and Literacy" (James Paul Gee) and integrated them into the different gameplay mechanics that a player can do in their game. These principles are reflected in the way people play and their research shows that they were successful as players really became interested in wolves.

WolfQuest involves three components: The game, the on-line community and the national network. They made the on-line community an important part of the game as it allows players to share experiences with wolves and nature inside and outside the game, as well as exchanging tips and strategies to improve their gaming experience. Moreover, the game's impact is expanded by a network of zoos and institutions involved in wolf education (they help extend the reach of the project).

Their research showed that after playing the game, people really improved their knowledge about wolves and actually became interested in doing wolf-related activities (visit a zoo to see wolves, talk to friends about wolves, read books about wolves, etc).

The game developers had some unexpected issues that I found quite interesting. They concluded that 3D games are actually very hard to make, with everything from textures and shaders to artificial intelligence and simulation. They even went 40% over their $275,000 game development budget.

They also found that the suspension of disbelief was hard to achieve. Everything had to react naturally, the environments had to look reasonably well and any mistake, even small ones, could break the illusion.

Finally, and something that really caught my attention, was that they found that once you release your game, it's the player's game, not yours. There's a high chance that players will play the game and use it in ways that you never forsaw or intended, and you have to understand that.

Of course, they found out a bunch of other stuff that should help anyone making a serious game (or any kind of game, for that matter) for which this paper also deserves a read, paying special attention to the "Learning from WolfQuest" section.

Schaller, D. et al., Learning In The Wild: What Wolfquest Taught Developers and Game Players. In J. Trant and D. Bearman (eds). Museums and the Web 2009: Proceedings. Toronto: Archives & Museum Informatics. Published March 31, 2009. Consulted March 8, 2011. http://www.archimuse.com/mw2009/papers/schaller/schaller.html

0

Paper: Designing Effective Serious Games

Designing Effective Serious Games: Opportunities and Challenges for Research
F. Bellotti, R. Berta, and A. De Gloria [2010]

The research done for this paper is extensive (over 100 references) and extremely informative. The topics range from the very basic "What is a Serious Game", to actual "game design" of serious games and possible research that can be done in the future. I'll write a summary of the topics that caught my attention, but this paper deserves a read on its own.

Serious Games are gaining more and more popularity do to the fact that they effectively address several e-learning problems. Games can present users with realistic and compelling challenges, they provide the player with immediate feedback, they allow players to explore different courses of action and more importantly, they place the learner in an active role, which allows them to remember up to 90% of the information presented, but games also have some limitations. For example, the 'suspension of disbelief' that is required in a game can negatively influence the learning process. Also, game features like difficulty level, duration, aesthetic, etc. can hinder the instructional goal. "There is a need for scientific and engineering methods for building games as means that provide effective learning experiences".

The term "Serious Game" was firstly used in 2002 with the start of the Serious Game Initiative. They were initially conceived to train people for specific tasks in particular jobs. Now they span everything from advancing social causes to promoting better health to marketing.

Serious Games do not target exclusively hardcore gamers, they also target casual gamers which is an emerging market thanks to the brain training games, virtual pet games, and the like.

The use of Virtual Worlds in Serious Games is becoming more and more common, as they allow to overcome the barrier of time and space for geographically distributed users. The success of Second Life is proof of this.

To properly design a Serious Game, it should be strongly grounded in proper educational foundations. It must incorporate sound cognitive, learning, and pedagogical principles into their design and structure. Something that is commonly ignored in some of the current "unguided or minimally guided" instructional approaches. It has been proven that guidance in general only looses it's usfulness when the learner has sufficiently high prior knowledge to provide "internal guidance". Also, the use of FWE (Fading Worked Examples) is something that can be used to develop Serious Games, even if they have not been fully explored as a learning tool in games.

Intelligent tutoring has proven effective for learning, but its application in the field of gaming is more difficult, because games need to be appealing and meaningful.

Among the different tools and methodologies for the development of Serious Games are:
Delta3D (a Game Engine that supports efficient AI-enhanced Games), StoryTec (a storytelling platform), ALIGN (architecture designed to maximize re-use in developing adaptive Serious Games), RETAIN (a SG design paradigm), SeGAE (an environment that allows the modification of the game design), The Experience Management Framework (allows semi-autonomous characters that show believable behaviours), Thespian (an interactive drama system), Emergent narrative (a narrative framework), FAtiMA (an agent structure), OCC (theory of emotions), etc.

Regarding game mechanics, the author states that players should be able to learn simply by trying to overcome the game's challenges, but still, care should be taken to not create an "eccessively compelling" game, asi it might prevent a player from concentrating on the instructional material. Interestingly, if a game's mechanic is sufficiently interesting, it doesn't need a detailed story specification, as this leaves more space for knowledge adquisition.

Many other topics need further research as we currently don't know how they affect the effectiveness of the different types of Serious Games. What we do know, is that serious games provide a different learning experience, that is far more effective than traditional e-learning experiences.

Read the paper here. [You need to be registered to read it (free)]
Bellotti, F., Berta, R., & De Gloria, A. (2010). Designing Effective Serious Games: Opportunities and Challenges for Research. International Journal of Emerging Technologies in Learning, 22-35.
0

Paper: State of the Art Report on Serious Games

State of the Art Report on Serious Games: Blurring the lines between recreation and reality.
Eirik Vik [2009]


In this paper, Eirik gives a broad overview of Serious Games in general as of September 2009. Aside from general considerations like the target audience and advantages of using games to teach, what I found most interesting were two sections: The Serious Games Taxonomy and the AI , Character Development section.

In the serious games taxonomy, Eirik references a table constructed by Ben Sawyer, in which it is extremely easy to see the different types of genres and sectors in which serious games can be used. The genres he proposes are:
  • Games for Health
  • Advergames
  • Games for Training
  • Games for Education
  • Games for Science & Research
  • Production
  • Games at Work
This table includes how these genres can help in different sectors, which is helpful when trying to define the scope of a game to build.

In the other section (AI, Character Development), he talks about the evolution of human representation as NPC (Non-Playable Characters) in games. A representation model that has been trending is the OCEAN model, which divides a human persona into 5 different traits:
  1. Openness
  2. Conscientiousness
  3. Extroversion
  4. Agreeableness
  5. Neuroticism
A character can have different degrees of each trait, with one being the primary trait. These dictate how someone reacts to certain events.

Also, combined with this model is the dyadic model (gossip model) which is a form of artificial intelligence in which player actions create 'ripple effects' thorugh the virtual world. This means that after the player interacts with a NPC, that NPC might 'talk' about the player with other 'NPCs'. This effect makes NPCs who have never interacted with the player to have some sort of opinion about the player and also allows for characters from same groups or factions have different opinions, which makes the game more believable.

The paper provides a bit general but interesting read.


Vik, E. (2009). State of the Art Report on Serious Games: Blurring the lines between recreation and reality.
0

Paper: Methods for Evaluating Gameplay Experience

Methods for Evaluating Gameplay Experience in a Serious Gaming Context
Lennart Nacke, Anders Drachen and Stefan Göbel [2010]

The authors of this paper make a great description of what methods are being used for measuring the user experience in digital products. From Maslow's motivational model of human needs to Fabricatore's use of the opinions of players to develop design guidelines, but the fact that there are so many different methods, is because it's quite difficult to create a framework that correctly measures the user experience regarding digital content, especially games, because there are a great number of factors that need to be taken into account, like the social context of the user or the number of times someone has used the software.

They concluded that a good user experience evaluation has to be done taking an 'inclusive' theoretical stance with focus on the game system, the player, and the context of play.

To assess the game system, regular software and traditional game testing can be used: Unit testing, stress testing, soak testing, compatibility testing, localization testing, gampelay metrics, etc.

To asses the individual player experience different kinds of testing can be used: Psychophysiological player testing (electromyography, electrodermal activity, magnetic resonance imaging, etc.), eye tracking, persona modeling, player modeling and RITE testing.

Finally, to asses the player context experience some methodologies can be used: Ethnography, cultural debugging, playability heuristics, qualitative interviews and multiplayer game metrics.

[Note: The methodologies and testing procedures are described in the paper]

These methodologies allow balancing and tuning of the game during and after game development to improve the overall experience the game can provide to its players.

Nacke, L., Drachen, A., & Göbel, S. (2010). Methods for Evaluating Gameplay Experience in a Serious Gaming Context.

0

Paper: Hyper-Ludicity, Contra-Ludicity, and the Digital Game

Hyper-Ludicity, Contra-Ludicity, and the Digital Game
Steven Conway [2010]

This paper focuses on the difference between ludicity, contra-ludicity and hyper-ludicity in different generes of videogames.

Ludicity is the degree to which digital games allow play (the possibility to act or have an effect upon the gameworld). When ludicity is heightened or lowered, hyper-ludicity and contra-ludicity can be created and they play an importat role in making a game FUN.

Hyper-ludicity involves granting the player with superior strength or abilites that break the rules of the game, which is usually accompanied by visual effects and audio-cues that clearly identify the start of a hyper-ludicity state. Examples of this can be obtaining the Star item in Super Mario Bros., the 'gamebreaker' mode in FIFA Street, performing a 'Final Smash' in Super Smash Bros. Brawl or eating a 'Power Pellet' in Pac-Man.

Contra-ludicity involves making the game experience harder by taking away some abilities from the player, increasing the number or strength of the enemies or limiting the possible options a player has. Examples of this can be the increasing speed of falling tetrominoes in Tetris, the lack of items/strength/abilities in the beginning of an RPG game or the increasing waves of enemies in Gears of War's 'Horde' mode.

A good example of a game that utilizes hyper-ludicity and contra-ludicity to create an amazing gaming experience is Goldeneye 007 with it's 'The Man With The Golden Gun' mode. In this mode, one of the players is lucky enough to acquire the Golden Gun, which can one-hit-kill other players. This places the holder of the golden gun in a hyper-ludic state which gives that player the pleasure of overpowering everyone else while the other players enter a contra-ludic state which forces them to team up to take down the golden gun holder, which also functions as a 'social lubricant'. The quick changes in ludicity makes this game mode interesting and a great example of ludicity balancing.

The most important thing to note when designing a game with hyper-ludicity and contra-ludicity in mind, is to be careful of having a good balance between them. Too much hyper-ludicity and the game will become stale and boring, too much contra-ludicity and the game will become frustrating and annoying.

Conway, S. (2010). Hyper-Ludicity, Contra-Ludicity, and the Digital Game. Eludamos. Journal for Computer Game Culture, 135-147.

0

Paper: Serious Games for Language Learning

Serious Games for Language Learning: How Much Game, How Much AI?
W.Lewis Johnson, Hannes Vilhjalmsson, Stacy Marsella [2005]

The serious game approach to learning is that games promote learner states that are conductive to learning and game AI can help considerably when implementing the design of a serious game, but care must be taken to not compromise game design principles, in order to maximize the learning experience.

The authors of this paper were designing and implementing a Tactical Language Training System in the form of a serious game that helps people learn foreign language and culture. They analyze six main areas which are:

  1. Gameplay
  2. Feedback
  3. Affordances
  4. Challenge
  5. Fish tanks and sandboxes
  6. Story and character identification
  7. Fun and learning orientation

AI facilitated gameplay in their game by promoting rapid interaction with nonplayer characters and the fault-tolerant speech recognition system provided players with an easy and adjustable learning experience. Also, they took care to not interrupt gameplay with constant corrections from an intelligent tutoring system.

They also discovered that a high amount of feedback eliminated the need for an intelligent coaching as the learners could quickly recognize when their actions are working or not. This is excellent because it replaces a complex intelligent coaching system with a simple visual feedback and achieves the same or better results.

Also, they managed to create a good sense of challenge with different levels of difficulty that could be changed without overly modifying the original gameplay (speech recognition becomes more strict, npc's react more to disrespecful attitudes, etc). They also provide fish tanks (stripped down versions of the game) and sandboxes (a version of the game with less likelihood for things to go wrong) to support the learners if they got stuck.

Finally, they realized that the part of their game that was mostly regarded as 'less fun' was the 'training' section which resembles a teacher-student situation, whereas the missions section was considered extremely fun. This created a good balance of learning and fun because players could switch from one to another, allowing them to use the software for long periods of time without feeling ennui.


Johnson, W., Vilhjalmsson, H., & Marsella, S. (2005). Serious Games for Language Learning: How Much Game, How Much AI?