Turn-Based Operaional Wargame AI (Part 2)

Started by
5 comments, last by Ralph Trickey 17 years, 11 months ago
OK, I can put out some more information now <g> Matrix is updating a game called The Operational Art of War, it should be coming out pretty soon. I'm the programmer for the update, and working on it going forward. The gameplay is pretty solid, and I haven't heard a lot of complaints (no consistent ones, anyway.) There are no plans to make large-scale changes to gameplay, anyway. The tactical AI is now reasonable. I know of several obvious areas for improvement, including things like knowing the terrain and chikepoints better. The major problem is that the AI is strictly a formation level AI. It doesn't really have any situational awareness. It's possible to turn it's flanks fairly easily. It will counterattack, but then doesn't know what to do. Another issue is that this is a historic wargame. That means that the AI should be able to play in a historic fashion. There are limited scripting capabilities now, and I plan to expand this for the next version. I'm considering whether I need to add some kind of a lattitude to the AI in order to force one side to play historically instead of the best play. It's that, or expand on the orders available to the AI. The AI is currently objective based, with each formation having an objective track. It does actually look at areas perpindicular to the line between two objectives, and does a lot of neat things there. Are there any resources on the net or in print that talk about how to create an operational wargame AI? I'm particularly interested in supply lines, fronts, and the strategic layer. I've got several books on AI, and I've seen a lot of stuff about FPS and RTS games, and what I've read makes sense, but I haven't seen anything at the level of play that I'm talking about. That is, about preventing the enemy from flanking you and cutting our supply lines. I posted this earlier, and got some good suggestions from that thread, I'm looking for other suggestions that people may have about pitfalls, etc. It sounds like one level is going to be something like... breaking the map into a 7x7 grid, forcing the allies to the top end, and the opponent to the other end, then using that grid to formulate the higher level plans to pass on to the formations (that level is the weakest level.) I'm pretty confident that I can get the tactical level to play well, it's the strategic level that's going to be challenging. There's also an event engine that makes things even more difficult, since the AI will probably need to understand about re-inforcements, etc. Ralph
Advertisement
There is an article in "AI Game Programming Wisdom"

Recognizing Strategic Dispositions: Engaging the Enemy
Steven Woodcock - Wyrd Wyrks
ferretman@gameai.com

It deals with influence maps, determinging the fronts, as well as categorising units into flanks front or rear.

If you cant find that article here are some of the references:

Chandler, Davis: The Art Of Warefare on Land (probably not a programming book)
Pottinger, Dave: Terrain Analysis in real time strategy games (www.gdconf.com/archives/proceedings/2000/pottinger.doc)
Svarovsky, Jan: GameTrees [Game Programming Gems]
Tozour, Paul: Influence Maps [Game Programming Gems 2]
Tozour, Paul: Strategic Assessment Techniques [Game Programming Gems 2]

Hope it helps,

EDIT::

Just noticed this is part two and you already had that article, My Bad! :)

- Al

Twitter: [twitter]CaffinePwrdAl[/twitter]

Website: (Closed for maintainance and god knows what else)

Thanks for replying.

I talked with ferretman a bit about his articlealready, and Pottinger's article has moved.

www.gdconf.com/archives/proceedings/2000/pottinger.doc

I haven't gotten all the way through AI Game Programming 3 yet.

I don't remember seeing a lot that was really applicable to this layer in the other articles.

Thanks,
Ralph
The problem that you're facing isn't really one of strategic analysis, since tools exist to perform this analysis (e.g., the aforementioned Influence Maps). It would appear to me that what you really want is an AI that can use this information to develop strategic goals and formulate tactical plans to achieve those goals. I'd suggest a heirarchical planning system.

Each level in the heirarchy recieves its goals from the next highest level and is responsible for reporting success or failure to that level. Failure is handled by replanning only at the appropriate level, unless a plan to succeed cannot be found, in which case the failure is passed up another level.

The highest level uses the most abstract strategic analysis information and a set of pre-determined goals appropriate to the specific battle. The plans it makes are expressed in terms of the actions capable at the next level down in the heirarchy. Such plans might involve actions like 'capture the high ground', 'erect fortifications', 'execute pincer movement', 'resupply units', etc. At the lowest level in the heirarchy are units enacting plans that might have actions like 'run forward', 'shoot', 'bandage injured', 'drive along road', etc.

I know this isn't much detail, but I'm sure you get the idea; enough to follow the literature trail if you choose to head in this direction. Of course if I've completely misinterpreted your needs, ignore what I just said!

Cheers,

Timkin
An old source discussing strategic turn-based AI is Chris Crawford's "Chris Crawford on Game Design". Much of the material referred to earlier probably has built on these and similar ideas. However, the nice thing about Chris' descriptions is that they describe which ideas and mechanisms worked or didn't work, and why.

Specifically, this book discusses:
- tanktics (1979): map representation, Los/Lof and position evaluation heuristics for tank moves; 7p
- eastern front (1981): front line selection, ai play analysis and tuning; 7p
- patton vs rommel (1986): front line selection; 10p

Some of this material is available on the internet, but the book contains a bit more detail.
http://www3.sympatico.ca/maury/other_stuff/eastern_front.html
http://www.erasmatazz.com/library/JCGD_Volume_2/Geometric_AI.html
http://en.wikipedia.org/wiki/Chris_Crawford_%28game_designer%29


@Timkin: I'm aware there's literature describing how hierarchical planning theoretically should be able to deal with 'obviously hierarchical problems' such as controlling an army. However, I cannot find any literature describing how hierarchical planners have dealt with real problems similar to these in turn-based game problems (TOAW may have 500 units per side, with complex support- and supply-relations, which together should accomplish multiple objectives in complex 3000+ cell terrain). At best, I've read about HTN planners running a few Unreal bots, a single tank platoon or chopper squadron, or solving a cargo loading problem for planning domains much less complex than a turn-based wargame. Do you happen to have any specific pointers?

William
Quote:Original post by WilliamvanderSterren
@Timkin: At best, I've read about HTN planners running a few Unreal bots, a single tank platoon or chopper squadron, or solving a cargo loading problem for planning domains much less complex than a turn-based wargame. Do you happen to have any specific pointers?


If I can find it, I have a CD rom of pre-prints that contains an excellent paper on using heirarchical planning AI for this sort of problem. The domain was slightly different, but still extremely applicable. Most of the literature I've seen has been related to military simulation software... I'll try and dig up some references for you.

Cheers,

Timkin
Thanks Timkin that might help. William is right about the problem domain (except that it's now 2000 units per side on a 300x300 grid.) Unless I add more levels of command (It's currently Unit/Formation/Eveything) I'm not sure how I would start with a hierarchical AI in that case. The write-ups I've seen seemed to have more logical divisions of labor. The only logical ones I can think of would be something like left flank, right flank, middle and reserves. I'm sure I could add levels to make it more reasonable, but that would introduce other problems, among them the fact that people are trying to stretch the game to be able model things like the entire WW2, which means that I'd almost have to add the capability to modify command structures on the fly.

Thanks,
Ralph

This topic is closed to new replies.

Advertisement