Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GOAP integration #36

Closed
davord45 opened this issue Oct 6, 2020 · 11 comments
Closed

GOAP integration #36

davord45 opened this issue Oct 6, 2020 · 11 comments

Comments

@davord45
Copy link

davord45 commented Oct 6, 2020

Hi fian46.
I was wondering,could there be a way to integrate Goal Oriented Action Planning into this addon.
I know there is one made for Godot but it does not have ease of use like this addon does. If you dont want to integrated with this,could you base a different addon that uses GOAP?It would be a killer AI combination.

Just asking,big fan of this addon and what you have done.

@davord45
Copy link
Author

davord45 commented Oct 6, 2020

I found that FSMs can be done with Behavior Tree,but GOAP is a way more dynamic way of AI behavior,so mixing BTREE planning with GOAP would be awesome.

@fian46
Copy link
Owner

fian46 commented Oct 6, 2020

You suggesting we should add GOAP specific node ?

@davord45
Copy link
Author

davord45 commented Oct 6, 2020

Well GOAP AI works in a way that it analyses its environment and reacts accordingly with set of actions that is given to it.It makes it more dynamic.

https://youtu.be/PaOLBOuyswI?t=69
This video explains how it works in a game like F.E.A.R

So maybe we can add a way for BTREE to act in a similar way.Let me know if you think this is possible?

@davord45
Copy link
Author

davord45 commented Oct 7, 2020

Although your addon is very versatile when it comes to customizability.Switching between actions based on priority and cost,like it does in GOAP is missing i think.Like dont get me wrong BTREE is great for AI state switching and actions,but for decision making i think it lacks,while GOAP has a opposite problem.In combination they would be perfect.

@davord45
Copy link
Author

davord45 commented Oct 7, 2020

https://www.slideshare.net/AakashChotrani/what-is-goap-and-why-is-it-not-already-mainstream
According to this paper,GOAP Agent creates a BTREE according to the state that he is in.By stringing actions together.So it becomes a fusion of FSM and BTREE.

@fian46
Copy link
Owner

fian46 commented Oct 7, 2020

Yes you're right the addon is half of the solution for GOAP. BT can be ticked manually so it can be the action side but it need complex action planning to generate optimal ai solution like GOAP.

@davord45
Copy link
Author

davord45 commented Oct 7, 2020

In the video i send,he says that it uses A* algorithm,and that algorithm is cost driven.

@davord45
Copy link
Author

davord45 commented Oct 7, 2020

https://github.com/crashkonijn/GOAP
There is a Unity open source addon for GOAP that shows it visually.Maybe it helps to give you ideas.
image

@fian46
Copy link
Owner

fian46 commented Oct 7, 2020

So the action planning is a a* for given goal.

In the video i send,he says that it uses A* algorithm,and that algorithm is cost driven.

Interesting maybe with some more research i can make it a custom node fo it.

@fian46
Copy link
Owner

fian46 commented Oct 8, 2020

Well after do some research about goap and bt i figured that you can't mixing both and i really surprised myself. You only can choose one. Integrate goat in this plugins can cause a difficult. Goap sounds awesome but in implementations it can cause hard to debug ai because some times the created graph ended no where you want due to incomplete action chain (well in plugins it can detect this problem but still it difficult to debug until it behave really wrong). Bt in other hand required a lot of thing but the debugging is clear because the rule is clear. It is not really hard to write nice goap plugins but i don't think i need it at the moment.

@davord45
Copy link
Author

davord45 commented Oct 8, 2020

Understandable,i thought it would be difficult.Was just wondering if it was possible to mix them up.But since you brought those points it makes sense not to.Anyway thanks for taking the time to research

@fian46 fian46 closed this as completed Oct 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants