Article
i/2008/07/tornado

A Storm of AI Books & Papers: Too Much of a Good Thing?

Dave Mark on July 8, 2008

Dave Mark is back again for this week’s developer discussion with another of his trademark metaphors. Let him know what you think about the current state of published articles on game AI, and post a comment below.

2 months ago, seeing this live would have been cool… Now I’m just tired of storms at all.

My wife and I are big fans of severe weather here in the Plains States. We dig thunderstorms that produce hail, lightning, tornadoes and even high straight-line winds. I have treated meteorology like a hobby for 20 years and am usually pretty good whether sitting in front of a radar screen or “reading the clouds” out in the field. In fact, I am usually quite glued to the TV coverage of severe weather in the area. I have bookmarks to all sorts of weather sites with radars and prediction models. Unfortunately, severe storms don’t generally come to us… at least not directly. We realize that sometimes we have to go to them. When there is action in the area, we have been known to hop in the car, armed with road atlases, still and video cameras, and a cell phone call to my brother or sister to keep a fresh supply of weather updates feeding into our addicted little brains. We always wanted as many storms as we could get each summer… we never thought we could get too many of them.

But in the past month or so, we have experienced:

  • A tornado that made a mess outta Omaha and pretty much passed within ¼-mile of both our house and my sister’s house (yes, we actually heard it go by out there in the darkness),

  • A severe storm that lasted for about 4 hours, again made a mess out of Omaha, and dropped a tornado northeast of town that killed 4 Boy Scouts and injured dozens of others — some of which my kids knew from school,

  • And then, a week and a half ago, when my wife and I decided to go someplace to watch a particularly nasty non-tornadic storm come rolling in. We didn’t quite make it to where we were headed. Instead, we ended up sitting in the van at an intersection while 100+ mph winds (with hail) rolled over us for about 6 minutes. When it moved on, the intersection was littered with broken traffic signals, dozens of power poles that had snapped off, and various pieces and parts of trees that probably originated a mile away. That one really made a mess out of Omaha. Needless to say, it was not what we had in mind.

This is a video I took from an intersection in Omaha as it was getting hit by 100+ mph winds and hail. The intersection pretty much ceased to exist in the next 6 minutes. Forgive me… I was on the phone with my brother who lives a few miles upwind. He had just lost power (along with 126,000 other people in town).

And those were just the highlights… there were plenty of smaller storms throughout the past 6 weeks. By this point, we had reached and surpassed a level where we were no longer having fun with severe weather. It didn’t hold quite the same appeal to us that it had earlier in the month. We were no longer getting all giggly about watches and warnings being posted. Rather, we would view those events with the glassy-eyed stare of “Oh. Again?” We were actually ready to write off anything that came by. I actually spent one entire thunderstorm in my home office in the basement… not because I was taking shelter but because I no longer cared. I just didn’t even want to watch from the driveway or the windows as I am inclined to do — it no longer held the attraction. I was burnt out.

How could that happen? Didn’t we love every storm we could get? Perhaps it was, as the saying goes, “too much of a good thing.”

Diminishing Marginal Utility

As I meandered about this week, looking for both my topic and my “Obscure Metaphor of the Week” (the later of which seems to be garnering me a sort of cult following of this column), it struck me that I have experienced that same “overwhelmed” feeling in another area of my life. I even alluded it to it in a few of my other columns lately. In “AI Conferences: Education or Pep Rally?“, I talk about how events such as GDC can be completely mind-numbing in the sheer volume of information that is presented in a single week. The following week, in “Game AI Knowledge Grow On Binary Trees?“, I ask the question:

“With the significant amount of AI material available on websites such as this one, solo books and compilations such as the “AI Game Programming Wisdom” series, do we need to know everything about everything (or even everything about a particular subset of everything) — or do we just need to know how to find what we need on our own?”

I even answered myself in a fashion in the final two paragraphs:

“Whether he intentionally implied it or not, the take-away I get from this is that, as far as AI-related education goes, you’re on your own.

To be honest, that’s not far from the truth anyway. Take it where you can get it. Talk. Network. Attend. Browse. Post. Respond. Buy plenty of books. Visit AIGameDev daily. Buy plenty of books from Alex’s links. After all, while AI knowledge and experience may not grow on trees, knowledge of AI trees (and other stuff) can be found in plenty of places.”

AI Game Programming Wisdom

When I wrote those columns, I was thinking only of one side of the economic concept known as “marginal utility”. Marginal utility deals with how much more added value do you get out of each measure of quantity you add. for the most part, this is an increase - although the rate of change may be different. In the original AI Game Programming Wisdom, Vernon Harmon used a great example of the Theory of Diminishing Marginal Utility where he used slices of pizza. If you are hungry and have a particular hankerin’ for pizza, your utility for the first slice or two would be fairly high. However, as you ate enough and became full, your marginal utility for each piece after that would fall until such time as it reached almost zero. That is, you no longer need and/or want pizza. In fact, you may very well be over-pizzafied (over-pizzificated?).

I would contend that Vernon stopped one step short of making a complete picture, however. In the Theory of Diminishing Marginal Utility, it is entirely possible for the marginal utility of an added quantity to become negative… it actually becomes a detriment to have more. Beer readily comes to mind as an example — perhaps because of the proximity of pizza in this column. However, farmers will tell you the same about rain. At some point, they no longer want it as it become detrimental to the crops. That’s certainly what happened to me and my wife with the storms the past few months. We just got to the point where not only was the thrill gone (and in some cases, the tragedy such as the one that befell our kids’ friends put a severe damper on it), but we actually were saying “enough already!”

How Can I Teach You? Let Me Count The Ways…

Now, given this lengthy run-up, I realized something very startling this past week or so. I have come across numerous forum posts of late (one for example) where people have been asking about what books are pretty much required reading material for game AI. Here’s a list of the ones that usually come up (I’m not selling anything, I’m making a point):

AI Game Programming Wisdom 4
  • The 7 Game Programming Gems books,

  • The 4 AI Game Programming Wisdom books,

  • Alex Champandard’s AI Game Development

  • Mat Buckland’s Programming Game AI by Example

  • Brian Schwab’s AI Game Engine Programming

  • Ian Millington’s Artificial Intelligence for Games

  • Russell & Norvig’s Artificial Intelligence: A Modern Approach

A search at Amazon will show a few others — but the ones above seem to be on most people’s lists.

Add to that the near endless links to conference proceedings, slides and videos from GDC and AIIDE.

Oh… and published academic papers dealing with AI-related topics.

And don’t forget probably 50 different RSS feeds from different AI developers, AI news sites and other such sources.

And message boards and forums.

And if you really have spare time on your hands, wade through the AI source code for behemoths like Civ 4 and F.E.A.R.

Game Programming Gems 3

Did I forget anything? The point is… there’s a lot of material. So much so that it seems difficult to be able to digest it all. It would be a near full-time job to make sure you stayed up on it all. And, since none of us likely have that much time to dedicate to this pursuit, we run into a point of “diminishing marginal utility.” Each additional article may or may not have some unique value to us. Some topics are going to be more timely or topical than others. Some are simply not going to be appropriate for what we need at the time, however.

Also, finding one that really addresses what you need… the way you need it is increasingly difficult. Not to bite the proverbial hand that feeds me (I was a contributor to AI Game Programming Wisdom 4), but I would venture to say that the 11 “Gems-style” books alone have seen 50 different articles covering pathfinding. Mixed in with all the other sources on that particular topic, there’s a lot to consider. And that only works if you have them all in one spot — easy to do with a series of published books with a cumulative index, but a little more tricky to keep track of all of the research papers you have stumbled across on the Net.

“I was hoping there would be more to it than
‘use influence maps’…”

And, like having too many beers or too many (normally really cool) thunderstorms, that marginal utility can get to the point where it actually turns negative — where another one is starting to set you back rather than make you feel happy. For example, we could get to that point where there are so many books, papers, articles and blog-based solutions that we can’t get through them all. If there is no vetting or some form of aggregation to help us separate the proverbial wheat from the chaff (does that sound too Nebraska-like?), then how do we know that the ones we skip over aren’t better than the ones we actually do pick up and read? Put another way, the mundane works would dilute the pool so much that it makes the good ones harder to come by or have time to process. And there are plenty of mediocre works out there that can’t be determined to be such until we wade through it all. A comment was made to me recently by a fairly successful AI dude about a paper that we both read… “I was hoping that by the end of that long paper, there would be more to it than ‘we can use influence maps to determine the enemy’s flank’. Gee… ya think?”

Do We Need AI to Get Through the AI?

So I guess my question for this week is a little more sobering than usual. How the heck do you guys manage to keep up with the latest stuff without getting too buried? What books or articles do you swear by? And how do you know you aren’t missing out on something more profound? I suppose many of you have turned to Alex’s masterpiece that is AIGameDev otherwise the little “subscribers” number over there on the right wouldn’t be 2700 or whatever it is now. (Although with all the reading you need to do, it does beg the question “why are you suffering through my drivel every week?”)

Anyway, if you can spare a moment, I would love a comment about what it is you think of the avalanche of books, papers and conference material on game AI topics. As for me, I need to go now… I’m writing my own book on game AI and helping prepare a conference presentation. (Am I contributing to the problem?) Anyway, I’m hoping to get some work done on those tonight… unless we get another damn severe storm tonight. I can hear thunder upstairs. I’m not kidding… look at the date and time. The shot below is my current radar. Sigh.

I can NOT believe this… this is the radar for right now as I’m finishing this column. Enough is enough!

(Seriously, I’m so completely done with these for the year!)

Discussion 9 Comments

kofman on July 9th, 2008

My safe haven has become AiGameDev. I feel as long as I keep up with the weekly updates, I'm at least in the know. I also have an ever growing /docs/ folder with white papers and other research material that grows on my hard drive. I can't say it's been as useful as I would have hoped, but I did pull a few papers (particularly on animation) recently that were really insightful. As far as books go, I tend to read them, and than re-read them when I need to try and apply something. But I agree, it does feel like a full time job sometimes.

Ian Morrison on July 9th, 2008

There's a problem with that initial analogy, Dave. After all, there is [I]no such thing[/I] as too much pizza. Heathen! So far, I've been ignoring the research papers. They take a ton of effort to get through (especially when they're too verbose and dry for their own good, as is often the case in academia) and there's no guarantee of relevance, even for the interesting looking ones. I'll generally only look at one if I need in depth details on a subject, and even then I'll have exhausted my other options first. I'm really not fond of research papers.

Austin Fox on July 10th, 2008

I think I have about 10 or 12 research papers that I keep going back to, but I've read maybe 30 or 40 of them in the last couple months, since I have pretty much zero budget for things that aren't food. I had to come up with a strict set of rules to weed out the ones that I probably won't learn anything particularly useful from: 0)Do I know the subject matter well enough to predict what they'll be talking about? 1)Is it by a researcher who has written other useful papers I've read? 2)if 1), double check 0). Is it a [I]new[/I] idea? 3)can a free (legitimate!) copy be found within 2 tries? 4)Is it less than 12 pages long? Answer yes to the better part of those, and it's probably worth reading. Otherwise, the title or abstract may serve as inspiration, or a good laugh. There is a lot of useless stuff published though. I found a paper on "WHY OPTIMAL SOLUTIONS ARE BETTER THAN SUBOPTIMAL SOLUTIONS OMG" once. It was pretty well worded, but it certainly qualified as a good laugh. It was basically somebody berating the entirety of the games industry for using bad heuristics or something.

Kevin Dill on July 14th, 2008

I don't think of all of those as mandatory books. If you have no experience in Game AI and want to get started (which is sort of an odd place to be, since most AI programmers work as generalists first) then one of the general texts might be a good thing to work through. Either Millington or Buckland will work - I've used both in classes, and both are serviceable. Beyond that, skim through the AI Wisdom books (and maybe the Gems books as well) when they come out and look for articles which interest you. Dive more closely into ones which are solving the sorts of problems you anticipate working on, or describing solutions to issues you've struggled with as well. And definitely pay attention to the ones that discuss a set of tricks that somebody used in a real game over the ones that present a solution looking for a problem. As much as it hurts me to say it, with a few notable exceptions I don't see much in academia that is really exciting me as directly useful. Worse, I don't know how to find the parts that are good and sort them out from the rest. Unless they're talking at GDC or AIIDE, they're usually not even on my radar. Much more useful to me than reading is talking. Spending time on the forums here. Going to AIIDE or GDC and bouncing ideas around with folks there. Talking to coworkers. That sort of thing. That's where the real ideas come from - because the real ideas aren't whole systems, they're just different ways of looking at a problem that make it easy instead of making it hard.

Kevin Dill on July 14th, 2008

[QUOTE=kofman;3502]I can't say it's been as useful as I would have hoped, but I did pull a few papers (particularly on animation) recently that were really insightful.[/QUOTE] Out of curiosity - what were the animation papers you liked?

Timkin on July 15th, 2008

My personal feeling is that the problem Dave describes stems from the 'coming of age' of game AI. That is, the field is now being taken seriously by business and academia and as such we are seeing a dramatic surge in the breadth and depth of publications in this area (just as Dave witnessed a surge in the number and severity of storms in his area). Academics deal with this problem across many fields and they survive only by relying on peer review and ranking to sort the wheat from the chaff. Services such as ISI Web Of Knowledge allow us to gauge the quality of a publication without having to read it, so that we can prioritise our weekly reading pile. (Indeed it is becoming the norm now for the quality of an academic's research to be judged solely on the ranking of the journals they publish in and the number of citations they receive.) Unfortunately, there simply isn't enough time in the day to keep up with everything good published, let alone everything published. If you come up with a better system, let me know! ;) One of the problems facing game AI at the moment is that a lot of the content is not published in a peer reviewed format and it is left to communities such as this one to communicate within themselves as to the quality of this content. Again though, you can't cover everything in a small community, but you hope that as you grow, so too does your coverage and understanding. There are now several new journals dedicated to game applications of AI and we need to encourage more people working in this field to publish in them. This will strengthen both the credibility of the field (assuming good content) and the base of knowledge from which we can all draw to extend and advance the field in the years ahead. Cheers, Timkin

Kevin Dill on July 15th, 2008

[QUOTE=Timkin;3661]One of the problems facing game AI at the moment is that a lot of the content is not published in a peer reviewed format and it is left to communities such as this one to communicate within themselves as to the quality of this content. Again though, you can't cover everything in a small community, but you hope that as you grow, so too does your coverage and understanding. There are now several new journals dedicated to game applications of AI and we need to encourage more people working in this field to publish in them. This will strengthen both the credibility of the field (assuming good content) and the base of knowledge from which we can all draw to extend and advance the field in the years ahead.[/QUOTE] One of the problems that we've faced at AIIDE from my point of view (and this is purely me as an individual speaking here) is that the papers that academics think are "good" are not necessarily the same as the ones which industry guys like me think are "good." As a result, the peer review process leaves me feeling vaguely unsatisfied. Several times papers that I though were very interesting have ended up being rejected or limited to a poster (with the result that some otherwise big-name researchers have given up on that venue entirely), while papers that I could care less about are accepted with flying colors. So while I agree with the need for a peer review of some sort, I think that it needs to be a review by industry guys for industry guys. That's not to say that I want to exclude academic papers - I just feel like the only way to judge their value [I]to us as developers[/I] is to have us doing the reviewing. I might also point out that AIGPW is peer reviewed, at least in a limited fashion. Not only is it edited much more extensively than you average journal, but we also have every paper read by at least two other authors. While this isn't as strong a factor in the accept/reject decision as it is for conferences, it is possible for a paper to be dropped if we really feel like there's nothing there and it also tends to result in a more readable and focussed result. One of the problems with the peer review system as it exists in academia is that it tends to be a simple accept or reject (granted with comments), rather than working with the author to take what they have and make it better.

Dave Mark on July 15th, 2008

[quote=Kevin Dill;3666] I might also point out that AIGPW is peer reviewed, at least in a limited fashion. Not only is it edited much more extensively than you average journal, but we also have every paper read by at least two other authors. While this isn't as strong a factor in the accept/reject decision as it is for conferences, it is possible for a paper to be dropped if we really feel like there's nothing there and it also tends to result in a more readable and focussed result. One of the problems with the peer review system as it exists in academia is that it tends to be a simple accept or reject (granted with comments), rather than working with the author to take what they have and make it better.[/quote] Heh... didn't I review [I]your[/I] last AIGPW submission? Of course, after looking at it again (yeah, I still have copies of my markups), I realize that all I did was correct some grammar.

Kevin Dill on July 15th, 2008

Obviously, that's because my writing is so awesome that nothing else could be said. ;)

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!