Advertisement

Turn Based Operational Wargame AI?

Started by December 07, 2005 09:50 PM
21 comments, last by Ralph Trickey 18 years, 11 months ago
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. Does anyone have any suggestions about where to start? Ralph
I cannot suggest any particular papers/books off the top of my head, but my intuition suggests that you'd have the most luck looking into military simulations (training sims). There certainly have been research efforts into situational analysis for strategic and tactical decision making. You might be able to find some good ideas in that literature. Start with Google... and try Citeseer... I know this isn't particularly helpful for you... but its a start.

Good luck,

Timkin
Advertisement
What Tim said, but with this:

Diplomacy is a board game that involves many of the elements you might be
interested in. It's quite a complex game, even though the rules are simple. It's receieved a fair amount of attention from academia, as you'll see from some of the papers written on it.


Check out:

http://www.daide.org.uk/research.xml


and

http://www.daide.org.uk/s0002.xml


They discuss front lines, support, etc...

Lots of people have worked on an AI for this game; maybe you can get a few ideas from there.

Will
------------------http://www.nentari.com
Quote: Original post by Ralph Trickey
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.

Does anyone have any suggestions about where to start?

Ralph


I'd think decision trees would work for this. Basically, you build a binary tree of yes/no questions, and the leafs contain the action. So you would walk the tree and ask it things like, is the enemy flanking, is the enemy close to the supply lines? If it terminates in a leaf with a yes, than you would take appropriate actions to counter the enemies attempt.

That's just one way it could be done, and it's pretty easy code.
Quote: Original post by Timkin
I cannot suggest any particular papers/books off the top of my head, but my intuition suggests that you'd have the most luck looking into military simulations (training sims). There certainly have been research efforts into situational analysis for strategic and tactical decision making. You might be able to find some good ideas in that literature. Start with Google... and try Citeseer... I know this isn't particularly helpful for you... but its a start.

Good luck,

Timkin


Thanks, I tried that, and I didn't see anything at a strategic level, all the articles that I could find were more focued on the tactical level. I may have been using the wrong keywords, but I've got a lot of resources dealing with the tactical level.

Ralph
Quote: Original post by RPGeezus
What Tim said, but with this:

Diplomacy is a board game that involves many of the elements you might be
interested in. It's quite a complex game, even though the rules are simple. It's receieved a fair amount of attention from academia, as you'll see from some of the papers written on it.


Lots of people have worked on an AI for this game; maybe you can get a few ideas from there.

Will


Thanks WIll. I've been able to pick up some ideas from that, but not a lot. It seems like most of the AIs that I've found papers on were of a much more tactical nature. I may be able to make use of some of the evaluation algorithms, but I didn't see a lot else there that was of much use.

I'll keep looking, though.

Ralph
Advertisement
Quote: Original post by Anonymous Poster
I'd think decision trees would work for this. Basically, you build a binary tree of yes/no questions, and the leafs contain the action. So you would walk the tree and ask it things like, is the enemy flanking, is the enemy close to the supply lines? If it terminates in a leaf with a yes, than you would take appropriate actions to counter the enemies attempt.

That's just one way it could be done, and it's pretty easy code.


Anon,
Thanks, but that kind of begs the question of how do you know you're being flanked, how do you know your supply line is threatened, when do you commit the reserves, when do you counterattack, etc. If I knew those little details, the rest would be easy <g>

I was actually thinking of a hierarchical AI design, with the General AI controlling different groups.

AI Game programming Wisdom has an article on Recognizing Strategic dispositions by Steven Woodcock that looks interesting, but I'm going to have to read it several more times to make sure that I understand what he's doing. Influence maps sound very promising, and they sound easy to debug, but I'm not sure what to do after they're created :-)

Ralph

Quote: Original post by Ralph Trickey
Quote: Original post by Anonymous Poster
I'd think decision trees would work for this. Basically, you build a binary tree of yes/no questions, and the leafs contain the action. So you would walk the tree and ask it things like, is the enemy flanking, is the enemy close to the supply lines? If it terminates in a leaf with a yes, than you would take appropriate actions to counter the enemies attempt.

That's just one way it could be done, and it's pretty easy code.


Anon,
Thanks, but that kind of begs the question of how do you know you're being flanked, how do you know your supply line is threatened, when do you commit the reserves, when do you counterattack, etc. If I knew those little details, the rest would be easy <g>

I was actually thinking of a hierarchical AI design, with the General AI controlling different groups.

AI Game programming Wisdom has an article on Recognizing Strategic dispositions by Steven Woodcock that looks interesting, but I'm going to have to read it several more times to make sure that I understand what he's doing. Influence maps sound very promising, and they sound easy to debug, but I'm not sure what to do after they're created :-)

Ralph


Yes it's true, it's not trivial. You would use that in conjunction with heuristics and information about the game world. Being flanked would come down to doing some math tests, the supply lines would be the distance. Than your decision tree becomes a matter of taking those calculations into account, and in the end you get 'yes/no' answers. You see what I mean? This is how some military simulators I know about did work, I believe.



getting flanked?
if( enemy on flanke )
/ \
near supplies? nope, what else should we do?
|
if(distance(enemy,supplies) in range)
/ yes, we are getting flanked badly! nope, just being flanked



It's not easy to code it, but it's easy to understand a decision tree. So, you can at least use it as a model for understanding the flow of information and actions.
Original post by Anonymous Poster
Quote: Original post by Ralph Trickey
Quote: Original post by Anonymous Poster
I'd think decision trees would work for this. Basically, you build a binary tree of yes/no questions, and the leafs contain the action. So you would walk the tree and ask it things like, is the enemy flanking, is the enemy close to the supply lines? If it terminates in a leaf with a yes, than you would take appropriate actions to counter the enemies attempt.

That's just one way it could be done, and it's pretty easy code.


Anon,
Thanks, but that kind of begs the question of how do you know you're being flanked, how do you know your supply line is threatened, when do you commit the reserves, when do you counterattack, etc. If I knew those little details, the rest would be easy <g>

I was actually thinking of a hierarchical AI design, with the General AI controlling different groups.

AI Game programming Wisdom has an article on Recognizing Strategic dispositions by Steven Woodcock that looks interesting, but I'm going to have to read it several more times to make sure that I understand what he's doing. Influence maps sound very promising, and they sound easy to debug, but I'm not sure what to do after they're created :-)

Ralph


I can't edit my post, unfortunately, and the diagram came out all wrong. Sorry.

Original post by Anonymous Poster
Quote: Original post by Anonymous Poster
Quote: Original post by Ralph Trickey
Quote: Original post by Anonymous Poster
I'd think decision trees would work for this. Basically, you build a binary tree of yes/no questions, and the leafs contain the action. So you would walk the tree and ask it things like, is the enemy flanking, is the enemy close to the supply lines? If it terminates in a leaf with a yes, than you would take appropriate actions to counter the enemies attempt.

That's just one way it could be done, and it's pretty easy code.


Anon,
Thanks, but that kind of begs the question of how do you know you're being flanked, how do you know your supply line is threatened, when do you commit the reserves, when do you counterattack, etc. If I knew those little details, the rest would be easy <g>

I was actually thinking of a hierarchical AI design, with the General AI controlling different groups.

AI Game programming Wisdom has an article on Recognizing Strategic dispositions by Steven Woodcock that looks interesting, but I'm going to have to read it several more times to make sure that I understand what he's doing. Influence maps sound very promising, and they sound easy to debug, but I'm not sure what to do after they're created :-)

Ralph


I can't edit my post, unfortunately, and the diagram came out all wrong. Sorry.


Anon,

I understand what you meant by your diagram, I'm old enough to have a flowchart template around somewhere :-)

It sounds too simple to work, but I can't think of a reason that it won't, I'll have to try it (something like it anyway.) Simple is good!

Somewhere I read about keeping track of inertia, and I think that would help too, in not having the units race between trigger points the way some wargames do. It will complicate things, but should be more realistic.

THere are still a whole lot of silly little implementation details to work out, but it's a place to start on those problems.

Being able to detect a problem is good. The next step is trying to figure out what to do about it.

Thanks,
Ralph


This topic is closed to new replies.

Advertisement