"Jim Cobb is Angry": Thoughts on AI in Strategic G

[i]Tired of Dumb AI? Want to play a game without finding an opponent? Noticing the developers are getting lazy.

Well, Jim Cobb has noticed all the above and he’s mad as hell and won’t take it anymore! In his latest essay, he outlines what players should and should not expect from AIs. He also outlines some concepts developers could use to improve the present conditions[/i]

[size=6]http://www.combatsim.com/review.php?id=738[/size]

One of the last lines in the article.

I’m no programmer but I would be surprised if game developers couldn’t implement these ideas.

The article is a rant, nothing more. AI is hard hard hard.

Yeah, this kind of article isn’t even worth posting. Good thing the Internet is free.

And this guy should try writing outside of it.

Well it is combatsim.com so you shouldn’t go in expecting too much.

“AIs don’t think” some exclaim. Why not?

Cos the Turing Police always get to them first, duh.

Someone tell those silly designers all they need to do is set bRealer=true.

It’s easy. Duh.

What exactly was the point of that article? All I could see in it was a bunch of abstract thoughts. Maybe Jim Cobb needs to give us concrete ideas instead of beating around the bush. He should also play Civ4 while he’s at it.

Dear sir,

Learn what a neural net or at least an FSM is before commenting on AI techniques and strategies.

Sincerely,
A Programmer

you didn’t read that new paper on bRealer=true?

Who is Jim Cobb?
Why should i care?

Because he’s angry! You won’t like Jim Cobb when he’s angry.

Also, he’s a veteran wargame reviewer. I didn’t read his article since that site requires registration but it’s curious that he suddenly rails against bad AI… in all his reviews he used to excuse poor AI with the limits of technology!

Actually for a non MMOG game where you have the extra CPU cycles, I really think that AI can be vastly improved, espeically using neural nets and possibly genetic algorithms. The problem with this is comming up with with a trainer enviroment for a neural net and having the CPU power to train them initally.

However, once trained, the cpu cost in running a neural net is nearly trivial. I think if AI became a much bigger priority these games, espeicaly things like strategic and tactical AI opposed to Pathing and rudementry state-machine AI we see now we would see a huge improvement in AI opponents. This would require these companies to hire one or more strategic and/or tactical AI guys and possible a small computer farm to train the neural nets.

But… but… Skynet!

On a more serious note, I’d recommend reading some strategy/wargame designers’ post-mortems. They’ve already done some pretty hefty thinking about this and have come up with interesting ways to simulate strategic thinking. (As long as we’re not playing with Asimov-class AI robots, that’s probably the best you should hope for.)

Sure. Except you’d need gigs of ram to run it, hours to load and save it, and the will to return everyone’s money when it turns out to be dumber than a brick.

You can come up with pretty good AI without neural nets through state machines, but there is one thing neural nets are good at that state machines can never do.

Neural nets can generalize a scenerio, they do this really well, and the problem tends to be they do it too well. They would see a situation they have not seen before and in a manner of speaking, say to themselves “I have not seen this scenerio before, but it is very much like another scenero I have seen before, so Ill try a similar tactic.”

Now lets take a more classical rules set AI approach:

If the enemy force consists of 2 heavy tanks, and one anti Air vehicle, then respond by sending in two light attack vehicles to kill the AA vehcile and after it is dead, send in two A10 warthogs (anti tank aircraft) to kill the tanks. Now what happens when you repleace the heavy tank vehicles with medium speed light tanks. You would need to code that scenerio into a rules base system.

A neural net on the other hand would be able to generalize that scenerio and not need a specific case for light tanks vs heavy tanks. It also might choose to answer the challenge by forgoing the A10s and sending heavy tanks in response or it may decide use more A10s and be willing to take a loss, etc…

I have read a lot of papers on AI and some post mortums, although nothing in the past 2 years (since I lost my game job, I no longer get game developer). What I did read in that time, however, was not particularly impressive. Some companies put more effort into AI then others, but overall I feel that AI could be elevated to a level of importance equal to graphics, and if it were, we would see huge improvments in AI.

In my game development years, I had the oppertunity to write the AI for about 40 mini games. Being a mini-game I didn’t have to deal with something something as complex as an RTS or TBS, but I did have some pretty sticky problems to solve. One of my prize peices was an AI that could navigate across a changing field of moving obsticals. Think frogger where the space between the turtles and logs were ‘safe’, however touching either meant death, and scrolling off the sides meant death.

The AI had to not only figure out how to merge lanes, but also take into consideration the fact that if It chose to merge now, it would be trapped in the next lane, so it had to take future moves into account too. Finally the ‘maze’ was random and would constantly change (opposed to be randomized before the level started). Then throw into the mix any combo of humans and AI players. It took me and another really smart programmer 3 weeks to crack this AI problem. In the end it worked out so well, we had to ‘dumb down’ the AI to make it beatable.

As a player though, I still prefer human opponents, although maybe one day that could change. To me, it is no fun to play against an AI which cheats (and they all do at some point even if the developers say they do not).

I do think really good AI could be a great asset to RTS and TBS games from a multi-player prespective if the friendly AI could be improved. It would be nice to have an ally AI player that was as good as a human player. Unfortunatly werd things still happen. RoN is a good example of this. Make a 6 player game, 5 AIs and 1 Human. All the AI is set at the same difficulty. For some reason some AIs may rot in the stone age and others are advancing well. Its like some random roll which is done internally which decieds if the AI is just going to be brain dead or not.

The addition of replacing a ‘dropped player’ with an AI is a great idea, but again, this is hit or miss. A good player can drop and be replaced with an Idiot AI, or an idiot player can be dropped and be replaced with a really good AI. Its basically a crap shoot, which it should not be.

To train an neural net, yes. But to run a trained one? No. You do not write the trainer into the game. The trainer is a developer tool only, which is why I said you would need a small computer farm to train it, similar to a render farm.

I would hate to see any kind of AI code you wrote.

And why is that? Or are you just being snooty?

Okay, I know nothing about AI but it strikes me that if the first Falcon game, probably running on less resources than my cell-phone, could have AI pilots performing classic air combat maneuvers then games like x3 (and i’m a fan of the series) should at least be able to match that.

Instead we have one AI tactic. Try and turn for a charge. No slowing down, no sudden stops or any other elementary maneuvers the dumbest human can pull. Result. Slow, heavy fighters stand no chance against light ones.

It strikes me that some games designers just aren’t making any effort on anything other than graphics.