May 8th, 2008 | Videos | Alex J. Champandard
A few weeks ago, a promotional trailer was released for Brothers in Arms 2. It’s interesting from more than a marketing perspective because it reveals many challenges that should be familiar to developers working on first-person shooters. A big thanks goes to Remco Straatman for pointing out some of these issues and the original video. It only hit me a while later that this would make an awesome video blog post.
In this first part of my analysis, I look into destructible cover, in particular how it becomes much harder for the AI to handle if it’s simulated using a regular physics engine. When raycasts are too computationally expensive as a solution, then a behavioral approach is always a good fallback. Watch the video below for more details; it’s 7.8 Mb and lasts for 2:47 minutes.
Click to continue →
May 6th, 2008 | Discussion | Dave Mark
For this week’s developer discussion on AiGameDev.com, Dave Mark looks into the recent best-seller Grand Theft Auto 4. Let him know how you think the AI could be improved by posting a comment below!
Let’s face it. There is only one game on the radar these past few weeks. The release of the latest entertainment excursion into criminal mischief has gamers and non-gamers alike a-buzz with the usual dichotomous din of praise and vilification. From the seat of a game industry professional, releases such as these are interesting in a different sort of way. As the avalanche of reviews, both paid and amateur, come rolling in, game developers of all stripes start digging through the fluff and the furor. We are always searching for the sometimes obscure fibers of opinion that almost take on the role of forensic evidence. And to what end are we perusing this cavalcade of critique? To find a clue that may lead us closer to the holy grail that is “customer satisfaction” in our industry — what do people either worship or abhor about the latest and greatest title on the shelves? Put simply… what do we need to focus on?
Click to continue →
May 4th, 2008 | Roundup | Novack
Weekends at AiGameDev.com are dedicated to rounding up smart links from the web relating to artificial intelligence and game development. There are even more jobs this week, blog posts and some great papers. Also don’t forget the Twitter account for random thoughts!
This post is brought to you by Novack and Alex Champandard. If you have any news or tips for next week, be sure to email them in to editors at AiGameDev.com. Remember there’s a mini-blog over at news.AiGameDev.com (RSS) with game AI news from the web as it happens.
Click to continue →
May 2nd, 2008 | Editorial | Alex J. Champandard
The call for papers for the AIIDE ‘08 conference has just expired. This year I’m on the Program Committee, so today I got my hands on four papers to review based on my selected topics. There are some pretty great research projects this year…
However, I find the opening paragraphs that describe the motivation of the paper very frustrating. While many of the arguments presented may have been valid quite a few years ago, technology is moving very quickly these days. Most of the papers cited written by people in industry are already a few years out of date, and as such, don’t really represent a valid basis for research anymore.
So, until I write a paper documenting the typical techniques used in industry these days, here’s an article dismissing the four most common fallacies that you shouldn’t base your arguments on.
Click to continue →
April 29th, 2008 | Discussion | Dave Mark
Dave Mark is back this week to introduce AiGameDev.com’s regular developer discussion. When he’s not working on lucrative database contracts, he spends his time developing AI over at Intrinsic Algorithm. Post a comment below and let him know how you think testing game AI code compares to SQL statements!
When I started to write this column over a week ago, I was in the middle of a minor crunch-worthy catastrophe on the project that I was doing for a client. I’m working on a database project for a local retailer and we are in the process of trying to export a very large amount of data to his clients. (This is all relevant, stick with me here!) When we dumped the over 32,000 result rows of data from the database, my client decided to quickly check to see if a few select items were included. Much to his consternation, he couldn’t find the items that he was looking for. In the process of exploring why, I noticed that some of the data that was in there seemed like it might possibly not be correct. My client looked at my samples and confirmed that, indeed, they were showing errors in dollar amounts that were subtle but significant. And this is where my weekend went to heck… and why Alex covered for me in this column last week. (Again, hang in there, this description is more than an excuse for not being here!)
Ironically, the false starts that I made on this column were starting to outline the theme of the column — that of automated testing. I didn’t think about the connection until later in the week. The reason that it came to mind was when my client asked me, “and how do we know that this new run is completely correct?” My short answer truly had to be, “unless we are willing to hand-check every one of the 32,000 rows of data, we can’t be sure.”
What it came down to was that we had to trust all the layers of data sources, queries, and algorithms — some of which were not even in our control. I had to check each step in the process, confirm that it was doing what it was supposed to do, check a quick sample of what it was spitting out, and move on to the next. I had to proceed under the tenuous premise that, if each step along the way was correct, the end result would be as well. As for that black-box data we were getting from elsewhere? Well, we had to trust that the programmer responsible for that had done his due diligence as well. Unless we wanted to check all 32,000 rows by hand and eye. And how do you tell at a glance if numbers that spill out of a formula or correct of if they are off by some amount? Wow… too bad we didn’t have a way of automating the testing of the data! Or did we?
Click to continue →
April 27th, 2008 | Roundup | Novack
Weekends at AiGameDev.com are dedicated to rounding up smart links from the web relating to artificial intelligence and game development. This week you’ll find some insightful articles, an audio presentation, a demo video, and a bunch of mini-tutorials — not forgetting random thoughts from Twitter.
This post is brought to you by Novack and Alex Champandard. If you have any news or tips for next week, be sure to email them in to editors at AiGameDev.com. Remember there’s a mini-blog over at news.AiGameDev.com (RSS) with game AI news from the web as it happens.
Click to continue →
April 25th, 2008 | Questions | Alex J. Champandard
The latest generation of consoles presents an opportunity for studios to opt for quantity over quality, by adding many more characters in their games than was previously possible. These crowds can have a dramatic impact on both gameplay and the overall experience. This article looks at how you can simulate large numbers of NPCs in a game, including practical advice, white papers and their videos.
This article is based on a question by James Hull who writes:

“I was wondering if you have ever looked at Crowd Dynamics. I can only think of one game (Assassin’s Creed) that has truly used crowd simulation as a game character. I would be really interested to know how they achieved what they did.”
Although game developers don’t often focus their efforts on crowd simulations, there’s a huge amount of research to draw from when necessary. I’ve collected almost a dozen papers about simulating groups of people, ranging from low-level animation details to modeling the flow of game actors as particles. See the White Paper section of the forums (registration and introduction required) for references to all the papers, or read on for a selection of the best and most appropriate.
Fridays at AiGameDev.com (RSS) are typically dedicated to answering emails from readers. If you have any questions on the topic of artificial intelligence in games, be sure to send them in!
Click to continue →