🎉 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!

What AI Problems do YOU want discussed at the AI Summit?

Started by
35 comments, last by captain_crunch 8 years ago

I'm looking more for a game-specific situation. "Say I have a group of agents in an RPG that each have their own abilities. How do I get them to use their abilities the best way, but yet also be aware that their teammates might also be better-equipped or better-positioned to do something than they are?"

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!"

Advertisement

Can you run with that?

-potential energy is easily made kinetic-

One thought:

How do two(multiple) individual entities, following their own tasks (no squad), cooporate to solve a (unforeseen) new task ?

1st example(RTS/Tactical): A group of soldier, one soldier get wonded and is immobile and you need two soldiers to carry him away (not unforeseen).

2nd example(RPG/Sim): Town folk doing their daily chores. A fallen tree, defect cart etc. is blocking an important route. You need at least two entities to get rid of the barrier (unforeseen, but not undefined).

3nd example(Sim): Worker entities, who can use a machine to increase their working efficiency. Problem: they can do their work either solo or use together a machine. Waiting for an other worker to help would reduce the efficiency.

Actually I have a second related question: Lets say I have an TRPG with 3 characters able to attack an enemy in the same turn. Now lets say one character has the possibility to stun the enemy and lets say one has low hp. It would make sense to have the character with stun attack first to potentially minimize the damage done to the other characters assuming the character with the stun is not of low HP. So not only a matter of what the best move is but the best order. I suppose you could extend this thinking even further and what the optimal combined attack with minimal loss would be. Or something like that.

-potential energy is easily made kinetic-

Actually I have a second related question: Lets say I have an TRPG with 3 characters able to attack an enemy in the same turn. Now lets say one character has the possibility to stun the enemy and lets say one has low hp. It would make sense to have the character with stun attack first to potentially minimize the damage done to the other characters assuming the character with the stun is not of low HP. So not only a matter of what the best move is but the best order. I suppose you could extend this thinking even further and what the optimal combined attack with minimal loss would be. Or something like that.

You could easily do this with a min-max algorithm. In fact, it would be the expected outcome from applying an appropriate min-max.

Actually I have a second related question: Lets say I have an TRPG with 3 characters able to attack an enemy in the same turn. Now lets say one character has the possibility to stun the enemy and lets say one has low hp. It would make sense to have the character with stun attack first to potentially minimize the damage done to the other characters assuming the character with the stun is not of low HP. So not only a matter of what the best move is but the best order. I suppose you could extend this thinking even further and what the optimal combined attack with minimal loss would be. Or something like that.

You could easily do this with a min-max algorithm. In fact, it would be the expected outcome from applying an appropriate min-max.

Actually, setting up a min-max algo with 3 characters on the same side would be a pain. MCTS would work better, I suppose, but when you are trying to figure out the sequencing stuff, a planner might actually do a bit better.

Of course, there are ways of setting up a utility system with a blackboard that allows teammates to register what they could possibly do and use a priority weighting structure to sort out the options.

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!"

Actually, setting up a min-max algo with 3 characters on the same side would be a pain. MCTS would work better, I suppose, but when you are trying to figure out the sequencing stuff, a planner might actually do a bit better.

I really don't see how a MCTS would be better than min-max? 3 characters per team is a pretty small search space. It seems easy to cut the tree down with a simple evaluation function (Enemies dying = Very good / Team members dying = Very bad / Enemies lose health = Good / Team members lose health = Bad). You could go some moves deep with brute force (whatever is computationally reasonable) before pruning begins.
Anyway, yeah, I don't see how this is much different from implementations of mix-max elsewhere or why it would be a pain, or how MCTS would fair better?

(sorry for going a little off-topic, I just would like to see why MCTS would be preferable with such a small search space with an evaluation function looking pretty easy to write too)

Actually, setting up a min-max algo with 3 characters on the same side would be a pain. MCTS would work better, I suppose, but when you are trying to figure out the sequencing stuff, a planner might actually do a bit better.

I really don't see how a MCTS would be better than min-max? 3 characters per team is a pretty small search space. It seems easy to cut the tree down with a simple evaluation function (Enemies dying = Very good / Team members dying = Very bad / Enemies lose health = Good / Team members lose health = Bad). You could go some moves deep with brute force (whatever is computationally reasonable) before pruning begins.
Anyway, yeah, I don't see how this is much different from implementations of mix-max elsewhere or why it would be a pain, or how MCTS would fair better?

(sorry for going a little off-topic, I just would like to see why MCTS would be preferable with such a small search space with an evaluation function looking pretty easy to write too)


I am also inclined to suggest MCTS here, not because of the size of the search space, but because MCTS applies to a much larger class of games than minimax. For instance, MCTS works well even if the results of an attack have a random component; or if there are more than two sides in the conflict, each with its own objectives.

What order would you be putting your plys in? In standard minmax, it is "me, opponent, me, opponent...". When you are trying to sort out which "me" is going first, the complexity is largely inside each ply itself. Even just the ordering of 3 characters leads to a few different states to solve, i.e. ABC, ACB, BAC, BCA, CAB, CBA. Now if you add on the possibility that each of those characters could have different types of actions, you get a whopper of a combinatorial explosion. Just in one ply of your min-max.

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 quest generator in a somewhat contained environment such as a farm (as one entity in a much larger world) by where as various different needs/improvements occur quests/tasks are generated, including the ability to react to unexpected player behaviours such a chicken massacre resulting in the farm generating a quest/task to replenish chicken supplies or quests/tasks not performed by players lead to additional issues and what becomes a priority in order to restore to working order versus an utter collapse/reduced operation of the "farm".

Sorry for the layman's language - I haven't dealt with coding in what seem to be centuries.

This topic is closed to new replies.

Advertisement