Comments (11)
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.
from addons-btree.
You suggesting we should add GOAP specific node ?
from addons-btree.
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?
from addons-btree.
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.
from addons-btree.
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.
from addons-btree.
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.
from addons-btree.
In the video i send,he says that it uses A* algorithm,and that algorithm is cost driven.
from addons-btree.
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.
from addons-btree.
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.
from addons-btree.
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.
from addons-btree.
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
from addons-btree.
Related Issues (20)
- Redo does not work HOT 2
- Add option for Search Node Next and Search Node Previous HOT 7
- custom color for each node HOT 5
- Using variables as parameters of a task. HOT 1
- add an "init" callback for a task node. HOT 5
- Script Error HOT 3
- smaller width of decorator nodes to review deep tree easily
- support "Succeeder" Node HOT 2
- is_init() hasn't been re-called if disable and enable a tree at runtime HOT 3
- Thanks for the addon :D HOT 2
- Feature request, label for decorators. HOT 5
- Missing documentation HOT 3
- rename task.failed to task.fail HOT 1
- Swapping tabs in editor clears nodes that were added on a different tab
- Hard to connect nodes HOT 1
- Priority Condition param turns from Number to Text HOT 9
- Invalid call. Nonexistent function 'write' in base 'Control (client_debugger.gd)'. HOT 3
- Invalid range checking causes unreachable code in runtime.gd HOT 1
- Update for Godot 4.x HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from addons-btree.