Thursday, June 28, 2007

Fun AI

The computer AI for MTG Forge is incredibly dumb. It just tries to play a card at random, pure and simple. But since you don’t know what card the computer is holding, the computer seems intelligent. Yesterday the computer did the absolutely best play; it played Wojek Embermage and then Hunted Troll on the next turn. Then it used Wojek’s ability to kill off the tokens that the Troll made. It was an amazing play from a computer that only plays random cards. If you didn’t know the computer was so dumb, you could mistake it for intelligent.

Granted sometimes it makes the worst play ever, usually involving Wrath of God. For example, the computer sometimes plays a creature and then Wrath, which is utterly stupid of course. Even most beginners don’t make a mistake like that, but the computer doesn’t learn like a beginner either. Most cards only do something bad for your opponent, and the computer seems very intelligent when playing with those kinds of cards, but the computer doesn’t seem so intelligent when playing cards that have a drawback.

1 comment:

Unknown said...


Ziggy here again! I was kind of blown away recently when I started reading through some AI scripts for Dawn of War (by Relic). I had never thought much about the problem of implementing AI or what it would involve, since it seemed (and still seems, quite honestly) like a task beyond my ken.

What knocked me for a loop was that the AI for DoW is handled in multiple threads: essentially there is a different AI for each of a number of tasks (managing economy, attack/defense, strategic point control, etc...). It seems like the AI operates by making a number of plans, and then looking at how effective each plan could be, then it picks the highest scoring plan.

I am still completely unprepared for AI, though. It seems like just as I have begun to understand object oriented design and breaking every day things like shuffling a deck down into atomic problems, I am presented with an even greater challenge! Now not only do I have to represent games, patterns, etc... in an unambiguous manner, but I also have to represent the way that I navigate through them? Challenging!!!