Recommended Posts

A friend and I are working on a simple strategy game. While we are familiar with graphics and game programming in general, we have no idea how to implement A.I for this game.

The game has a map of several forts, two of them are occupied by the player and the computer at the beginning. They each has some solders inside their forts. The number of soldiers inside a fort can increase either at a steady rate or a rate that is proportional to the number of solders inside.

the Player and the computer send out solders from their forts to empty forts or to enemy's fort to occupy them, if you can outnumber your enemies in a fort, the fort is yours. whoever can occupy all forts on the map is the winner.

here is an example of this kind of game:

I have no idea how to approach this game A.I. (can "Bayesian network" do the job?)

Could you please point me a direction.

Thank you,

0

Share this post

Link to post

Share on other sites

This game is a simplified version of a game called GalCon (itself a take-off on Galactic Conquest) that was the also the subject of the "Planetwars" Google AI Challenge from the fall of 2010. There are likely some good resources from the winner of that competition.

In short, a good approach is using a form of utility theory based on:

The number of units at a given target

The number of your units already enroute to that target

The number of enemy units already enroute to that target

The time it will take to get to the target

The value of taking the target (if there are differences in production rates, etc.)

By using those inputs, you can calculate the feasibility of taking that target (risk) compared to the value of taking it (reward). At that point, game theory kicks in (a la Rock-Paper-Scissors and Prisoner's Dilemma) so you can determine what good strategies are to follow. For example, should I will take many smaller targets or battle the other player for the big target in a war of attrition? Often times, there is no right answer to that but rather it needs to be a combination of reactive to the other player's moves and bold at making proactive decisions.

If you need help, I can likely code up the AI for you fairly quickly based on the work I did for that competition. My bot was successful as long as it didn't bail on a specific (untracable) error on the very last move before I would win. (The challenge framework is a nightmare to deal with.) Please note that I do AI consulting for a living so this wouldn't be free. However, it would be pretty straight forward and would pay off in spades for your game. (Which looks incredibly fun!) Ping me if you need help.