Game AI Roundup Week #3 2008: 7 Stories, 2 Source Code, 1 Video

Alex J. Champandard on January 19, 2008

Saturdays at are dedicated to rounding up Smart Links from around the web. This week isn’t as busy as last week, but there were some great annoucements! Be sure to contact me if you have any news or tips for next week.

Remember there’s a mini-blog over at (RSS) with game AI news from the web as it happens.

Game AI Roundup

NARS Open Sourced

Pei Wang this week cut through the usual noise on the AGI (Artificial General Intelligence) mailing list by announcing an open source version of his NARS system, a promising logic-based reasoning system.

“What makes this system different from conventional reasoning systems is its ability to learn from its experience and to work with insufficient knowledge and resources. NARS attempts to uniformly explain and reproduce many cognitive facilities, including reasoning, learning, planning, etc, so as to provide a unified theory, model, and system for AI as a whole.”

His approach is very well documented in white papers, and there are some lessons to be learned for anyone working with planners.

Simulation and Story Analysis

Ethan Kennerly has written a paper on Open Problems in Simulation and Story Analysis for the AISB symposium mentioned last week. It’s not available yet, but Ethan has posted all the references on his blog. (What’s up with citing Wikipedia in scientific papers?)

Driving Crysis

Dave Mark wrote some observations about the AI in Crysis on his blog:

“It’s a shame that Crytek got so close and so convincing on some things — but has such massive gaping holes in others.”

There’s even a video posted a few months ago showing the problems of integrating scripts with autonomous AI. It’s not very flattering.

These problems go a long way in justifying why Crysis wasn’t nominated for Best Game AI of 2007. Details matter!

Adaptive Difficulty - Friend or Foe?

hyperionecta writes about adaptive difficulty in games, in particular using AI:

“Another form of Adaptive difficulty is realistic A.I featured in many of the top shooter games of today. Enemies will notice you in cover and throw grenades or they’ll see a back alley and flank you. The A.I is becoming smarter and smarter leading to real challenges for any gamer.”

The Art of Throwing Grenades

In an article about WYSIWYG design for Gamasutra, Andrew Doull mentions the problems of handling grenades:

“Grenades are one of those problematic game conventions, that increase the game design difficulty, without necessarily providing equivalent fun. S.T.A.L.K.E.R.: Shadow of Chernobyl does not let the enemies throw them at all due to implementation issues with the AI - one of the features of Clear Sky is that this capability has been added.”

A Simple Genetic Algorithm in Python

Sean Ross has contributed a simple GA as a recipe to the ASPN Cookbook. The client code looks somewhat like this:

import genetic
class OneMax(genetic.Individual):
    optimization = genetic.MAXIMIZE 
    def evaluate(self, optimum=None):
        self.score = sum(self.chromosome)
    def mutate(self, gene):
        self.chromosome[gene] = not self.chromosome[gene]
if __name__ == "__main__":
    env = genetic.Environment(OneMax, \
                             maxgenerations=1000, optimum=30)

Braben on Storytelling

Last week, Dave Mark posted some interesting thoughts on an interview with David Braben about interactive storytelling, over on Gamasutra. The integration of autonomous AI and emergent behaviors with stories and the designer’s scripts is a heavily recurring theme recently, particularly in the forums (registration and introduction required.)

More Details on SimCity’s Source Code

Bil Simser has more details about the SimCity release announced last week. Among other things, he explains the background behind the release, and mentions the Python bindings. His blog also has tutorials for getting everything up and running.

CFP: Virtual Pets Symposium

Andrew Stern writes about a symposium alse connected to the AISB:

“The Reign of Catz & Dogz symposium aims to explore aspects of interaction with software such as Catz, Dogz and Nintendogs, as well as the numerous non-commercial devices and systems that have been developed in many research labs. The world-wide popularity of many of the commercial examples of such artefacts provides evidence of the widespread appeal of interacting with artificial representations of creatures - however the academic investigation of such interactions remains scarce.”

Dijkstra’s Shortest Path Algorithm in SCALA

Gabriel C. has posted a description of Dijkstra’s algorithm which computes all the paths from a single-source in a graph (A* only computes a path from a single-pair of points.) He uses SCALA, the latest hype-fueled buzzword-packed programming language which seems to have dethroned Ruby in the blogosphere in terms of positive PR!

Stay tuned next week for more smart links from the web!

Discussion 0 Comments

If you'd like to add a comment or question on this page, simply log-in to the site. You can create an account from the sign-up page if necessary... It takes less than a minute!