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.

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.

Book: AI Game Programming Wisdom 2

AI Game Programming Wisdom 2
Various Authors, edited by Steve Rabin [2004]

Get the book on Amazon.com
Visit the AI Wisdom website

This book is the next iteration in the AI Game Programming Wisdom Series and as the first one, this one has a great collection of articles from a wide variety of topics. Specific topics in the book are: Pathfinding, Group Movement, Animation, State Machines, Architecture, Strategy AI, Sports AI, Scripting, Learning, Genetic Algorithms and Speech Recognition.

This series is amazing because each article found in the book provides a clear an concise way of implementing a certain technique in a game with easy-to-understand explanations. This book is also a great addition for any game AI programmer out there.

Article: How To Design Effective Achievements

The Cake Is Not A Lie: How To Design Effective Achievements
Lucas Blair [2011]

This is a really good article about something that everyone likes to add to their games: achievements/trophies/medals.

The author gives interesting advice about what to do and what to avoid when implementing a reward system in your game (of course, this is mostly the author's opinion, which means that nothing must be taken as complete truth, but it's nice as a starters guide).

The article addresses the following topics:
  • Measurement vs Completion Achievements
  • Expected vs Unexpected Achievements
  • Achievement Difficulty
  • Achievement Notifications
  • Achievement Permanence
  • Negative Achievements
  • Incremental and Meta-Achievements
  • Competitive and Non-Competitive Achievements

I agree with most of his conclusions, like "Use measurement achievements instead of completion achievements to increase intrinsic motivation through feedback" The only one that I disagree a little bit is the negative achievement one.

He says that negative achivements like "You died 100 times, congrats!" are detrimental to the player's experience, I think that depending on the game, they can be really fun. For example, in a game like Super Meat Boy, it would make sense because you will inevitably die a few thousand times before you complete the game. Another game where I've encountered negative achievements is Amorphous+. I got the "Killed 100 times" award and the "Killed in 10 different ways" award. I didn't found those achievements as adding insult to injury, but more like a "well, at least I got something". Plus, it added a little bit of humor to the gameplay.

I don't think every game out there could pull this off, but when they do, it's really cool.

All I'm saying is that if it makes sense, including negative achievements can be fun, but they could still backfire if not handled with care for the reasons stated in the article.

Read the whole article:

Blair, Lucas (2011). The Cake Is Not A Lie: How To Design Effective Achievements. Accessed in 3/jun/2011 from Gamasutra.com: http://www.gamasutra.com/view/feature/6360/the_cake_is_not_a_lie_how_to_.php?page=1