AI Middleware [Random Thoughts]

Back when I started putting together Empires of Steel, I looked around for some middleware that would help me build an AI. One really big problem with AI middleware is that the term “AI” encompasses so many different things. This means that most information about creating “AI” doesn’t apply to what your particular game is doing. I have a copy of “AI Game Programming Wisdom 2”, which is composed of a series of articles by different authors, and the vast majority of it doesn’t apply to the AI I was creating for Empires of Steel. You run into the same problem with middleware: most of the problems being solved by middleware aren’t the problems you need to solve for your game.

Anyway, I couldn’t find any decent middleware that I could use in Empires of Steel. Recently, I decided to take a look around and see if the landscape has improved at all in the past few years. It appears not. Searching for “strategy AI middleware”, I couldn’t find much of anything good. Most AI middleware seems to be pathfinding systems (i.e. given Point A and Point B and a landscape filled with various types of terrain and obstacles, the system will figure out a decent pathway between those two points). There’s some clever stuff being done with pathfinding, including neat stuff like updating the pathways based on changing obstacles, for example, a blocked hallway or a new hole punched through a wall, but there isn’t anything I’ve found that’s anywhere close to a strategy AI. Maybe games are just so unique that it’s difficult/impossible to create a general AI, so maybe attempts to create a general AI just end up pleasing nobody.

One open-source project I found on the first page of google results called itself “Realtime strategy AI game engine” and seems to have been abandoned after four months. It’s had no activity in the past three and a half years. The code that does exist appears to be composed of OpenSteer (a different open-source AI project designed to steer virtual vehicles) and a bunch of primitive stubs that were never turned into anything. (Ah, open-source. It’s filled with good intentions, but mostly abandoned projects. Generally, they die because the creator(s) get bored and disappear within a month.)

It sort of makes me wonder if there’s a market for AI middleware, or maybe it doesn’t exist because of the difficultly of creating it. It seems kind of pointless to put a bunch of extra time into the Empires of Steel AI (if sales were still really strong, I’d be happy to improve it, but considering how badly I got burned on sales). But, if there was a market for strategy AI middleware that I could spin out, that might be an interesting idea. In that case, I’d use EOS as a testbed.