🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

AI for an active time based combat system

Started by
21 comments, last by Sephjroth89vn 8 years ago

One issue for any such decision making is having a unified decision metric (best/good/bad) to allow the different analysis to be finally chosen between solutions. Risk vs Rewards (of different flavors) must be reduced to just a few evaluations factors and hopefully to just one to allow the decision.

Consider that decisions can be based on internal as well as external situational factors (ie- if damaged when does healing override attack, or when does to chose defensive tactics over offensive)

If you have actions that aren't atomic (ie- take turns to build up an/or can be canceled partway through if the situation changes) then you have decisions about whether its 'better' to carry through with an action(utilizing the expediture of effort already used) , or through reevaluation decide to change the previously selected tactic to do something currently more appropriate.

Other types of decisions between single targets versus opportunities to hit grouped multiples (requiring scanning situation for those groupings) or effect of 'cover' where targeting opportunities change rapidly (when only short time to try to hit target when its in the open or under low defensive cover, etc...) "Utility of position" to find good spots with open fields of fire, good defensive cover, and where the enemy has other disadvantages... (

Situtions have to be looked at many ways to spot opportunities (or the best of bad options - like digging in to minimize ones damage til the situation gets better) and somehow that evaluation has to add up mathematically to make good decisions

If multiple units on the same side are to be coordinated (and other side is expected to coordinate themselves) that explodes much further into complexity for the AI.

--------------------------------------------[size="1"]Ratings are Opinion, not Fact
Advertisement

Where can I find more information about the infinite axis utility system? I've watched "Building a Better Centaur AI" which references a prior lecture. I've also watched "Improving AI Decision Modeling Through Utility Theory" and "Embracing the Dark Art of Mathematical Modeling in AI", none of which mention it.

Does the book talk about the "compensation factor" mentioned in the 2013 lecture?

http://www.gdcvault.com/play/1018040/Architecture-Tricks-Managing-Behaviors-in

It's in there.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Wow, this sounds like an elegant, and surprisingly simple solution to my problem conceptually - thank you. How do you deal with large numbers of considerations reducing the score? That's the last piece of the puzzle for me.

Is the spreadsheet available from some other link? The one in that video isn't working.

The compensation factor mentioned in the Centaur lecture handles the cumulative reduction due to increasing considerations.

The spreadsheet isn't available at that link because Dropbox suspended it since they don't want to be used as a file serving company. I'll put it up somewhere eventually.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

In the lecture, you used the example of having 6 considerations with values (1, 0.9, 0.9, 0.9, 0.9, 0.9).

Original score without compensation = 0.59

Why's the value for score in the following formula 0.9? I originally thought it was the original unmodified score; my understanding is you multiply original scores to get 0.59, and plug that as value for score.

ModificationFactor = 1 - (1/ number of considerations)
MakeUp value = (1 - score) * ModificationFactor
FinalConsiderationScore = score + (MakeUpValue * score)

In the lecture, you used the example of having 6 considerations with values (1, 0.9, 0.9, 0.9, 0.9, 0.9).

Original score without compensation = 0.59

Why's the value for score in the following formula 0.9? I originally thought it was the original unmodified score; my understanding is you multiply original scores to get 0.59, and plug that as value for score.

ModificationFactor = 1 - (1/ number of considerations)
MakeUp value = (1 - score) * ModificationFactor
FinalConsiderationScore = score + (MakeUpValue * score)

In the example on the graph slide, there are 6 considerations each at 0.9f.

ModificationFactor = 1 - ( 1 / 6 ) = 0.833

MakeUpValue = (1 - 0.9) * 0.833 = 0.083

FinalConsiderationScore = 0.9 + (0.083 * 0.9) = 0.975

0.975 *

0.975 *

0.975 *

0.975 *

0.975 *

0.975 = .859 = final decision score

Compare to 0.9 6 times = 0.59

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

A combination of Fuzzy logic and blackboards tends to be best when you need your AI to be autonomous, and react intelligently to a variety of a scenarios.

For example... it's pretty fuzzy about the best time to use a healing spell or item. You don't want to heal if you've been lightly damaged, it probably wouldn't be on your top priority if you're moderately damaged and the DPS you're taking isn't much. You'll concider it if you reach fifty percent... and then you will mostly likely use it if you're critical... but you might not if it looks like you can win on the next turn.

Fuzzy Logic was used in FEAR and S.T.A.L.K.E.R. (though stalker's AI tends to be garbage). Starbound also uses fuzzy logic, but as far as I know, only for NPC interactions and your pet.

I've never heard of any commercial games using fuzzy logic before. But the utility system mentioned above is broadly equivalent to fuzzy logic in most ways, in that as it generates a continuous value for each behavior based on several distributions of input values. In fact, from a designer's point of view, it's potentially almost identical - it's just the underlying mathematics that are likely to differ.

A combination of Fuzzy logic and blackboards tends to be best when you need your AI to be autonomous, and react intelligently to a variety of a scenarios.

For example... it's pretty fuzzy about the best time to use a healing spell or item. You don't want to heal if you've been lightly damaged, it probably wouldn't be on your top priority if you're moderately damaged and the DPS you're taking isn't much. You'll concider it if you reach fifty percent... and then you will mostly likely use it if you're critical... but you might not if it looks like you can win on the next turn.

Fuzzy Logic was used in FEAR and S.T.A.L.K.E.R. (though stalker's AI tends to be garbage). Starbound also uses fuzzy logic, but as far as I know, only for NPC interactions and your pet.

Yeaaah... no one that I've ever heard of uses fuzzy logic in the textbook definition. I can't tell from your example if you are referring to fuzzy logic or, as Kylotan said, utility systems.

Either way, Fuzzy logic was NOT used in FEAR or STALKER -- Goal-Oriented Action Planning (GOAP) was. Those are completely different types of systems. FWIW, even the creator of GOAP doesn't recommend using it anymore. I've never heard of Starbound... perhaps you were talking about Star Citizen? (Which doesn't use Fuzzy Logic or GOAP.)

So yeah, you swung and missed a few times on that post, sir.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

This topic is closed to new replies.

Advertisement