0

Article: Decision Making Levels in RTS Games

Decision Making Levels in RTS Games
[Muhamad Hesham, 2010]

In this short blog post, Muhamad divides the actions in RTS games in three different levels:
  1. High level strategic decisions
  2. Intermediate level tactical decisions
  3. Low level micromanagement decisions.
The high level strategy resembles the general of a real army. The actions include building a base, training units, attacking enemis, etc. The perception at this level is based on the information from the lower levels.

Medium level actions resemble a commander that groups units into fighting elements and control them in a large war sense.

Finally the low level actions are most commonly known as actions like moving units or using a unit's special ability.

This is how players make decisions while playing RTS games and AI creation can be made to resemble this behavior. Each level should not care on how the lower levels will carry on a specific task, for example, in the high level, a decision has been made to attack the enemy, so the message arrives at the medium level. Here, it is decided which troops will move and where and finally the low level will be in charge of finding the best path and maintaining a strong formation within the group of units.

The author concludes that medium-level AI is the most complex of all and is usually lacking in most games because of this. The amount of feedback information that is needed and complex plans that need to be made make this level AI worth considering.

Read the full article here.

Hesham, Muhamed (2010). Decision Making Levels in RTS Games. Obrained in July 10th, 2011 from Adaptive AI Engine for RTS: www.rtsairesearch.wordpress.com/2010/10/27/paper-read-an-integrated-agent-for-real-time-strategy-games/
0

Unity: SimplePath

SimplePath


SimplePath is a set of scripts for Unity that allows fast pathfinding for any type of terrain. It supports deployment to Web, PC, Mac, iPhone, and Android. These scripts cost $60 usd and can be bought from the Unity Asset Store.


SimplePath's web page.
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

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
ISBN:1-58450-289-4



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.
0

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