• Advertisement
Sign in to follow this  

GOAP and modeling world state

This topic is 1468 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am almost ready to launch my sim game, and am already thinking ahead of ways to improve it. 

One thing I have in mind is giving my agents planning ability - the current AI is utility based and cannot form complex plans.

In a future version, I would like to see a group of very intelligent animals formulate a plan to get food by first breaking down the player's defences, then fighting off his units and then stealing his food.

I think a planner such as GOAP could be useful. But I am not clear on how to model the world state so the planner can do its work.

 

I have the following idea: I already have the map divided into connected regions of a certain maximum size. If I take these regions and add extra data to them, such as resources and enemy strength within the region, and any obstacles between them, will GOAP then be able to create plans like the one described above?
 

Edited by comfy chair

Share this post


Link to post
Share on other sites
Advertisement
Planners are typically set up with two layers. One is the actual "plan formulation" layer which does the abstract creation of plans based on world states. The second layer is the actual world state simulation layer, which allows you to "guess" what the world state will look like with certain modifications applied. GOAP in particular is all about working backwards from a desired world-state to the current world-state, and picking out the chain of actions that are necessary to move from one to the other.

The key part of this is that you don't just need to model the state of the world - you need to model interactions and how they affect that state.

Share this post


Link to post
Share on other sites

Nothing wrong with the GOAP plan, but here are two alternatives to get the kind of behavior you seek:

 

(1) Modify the computation of utility to be more sophisticated about the likelihood of achieving some goals in the future. For instance, the group of animals could have their utility go up if they are near food that they might be able to steal. Make their utility even larger if the defenses are weakened. And finally, make the utility of actually having the food even larger. This way individual actions along the plan will present a smooth path of increasing utility, and an apparent plan will happen from simply maximizing the utility at each step. You probably want to be careful to tune things right, or you might end up with a bunch of animals hanging around well-defended food until they starve...

 

(2) For each possible action, use Monte Carlo simulations of possible future events, including simplified decision models for all agents involved and a simulation of the effect of each action. Then evaluate the average utility of the situation at some point in the future (perhaps at the end of the game?), and pick the action that maximizes that value.

 

Method (2) is a more radical departure from your current scheme, but it can be much better than GOAP for a situation where an adversary is trying to achieve different goals while you execute your plan. There is a paper about this idea here.

Edited by Álvaro

Share this post


Link to post
Share on other sites

So it sounds like you have all the pieces... I'm not sure what's missing?

 

It would be nice to hear about experiences or opinions about using GOAP in this way... will there be too many states, is it too fine-grained..? Basically to know which pitfalls to be aware of.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement