-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplan.txt
57 lines (46 loc) · 2.42 KB
/
plan.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
## Self Notes ##
-if a node emits an editor warning in _get_configuration_warnings, don't repeat the warning at runtime somewhere else
-avoid asserting, prefer throwing warnings and accounting for errors instead of crashing
-allow user to add non BT nodes under a branch, and just ignore them
-mark major and minor versions with git tags
-nodes should not have any children in local scene since users will be instancing with "add child node" which works similar to attaching the script to an empty node
same for connecting signals, do so in code
-color palette: primary af9dd9, secondary 4a4563
-icon file name should match scene file name of the same node
-use same node descriptions in code for docs node descriptions
## Resources ##
https://nodecanvas.paradoxnotion.com/documentation/?section=bt-nodes-reference
https://www.gamedeveloper.com/programming/behavior-trees-for-ai-how-they-work
https://github.com/bitbrain/beehave
https://github.com/draghan/behavior_tree
https://dev.epicgames.com/documentation/en-us/unreal-engine/behavior-tree-in-unreal-engine---quick-start-guide?application_version=5.2
https://www.behaviortree.dev/docs/
https://www.gameaipro.com/GameAIPro/GameAIPro_Chapter06_The_Behavior_Tree_Starter_Kit.pdf
https://github.com/aigamedev/btsk
## Tasks ##
1.4:
[..] documentations
[] docs images
[..] rework space game example
[] asset lib setup
unit tests: (see https://github.com/bitwes/Gut)
other nodes:
-parallel node (runs all children in parallel)
-placeholder leaf (holds desciption of what the branch is going to have)
follow official style guide so it's easier for others to contribute
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html#doc-gdscript-styleguide
## Future ##
additional nodes (in their own "extension" folder so we don't bloat the main folder):
-play animation (optional wait for finish)
-play sound (optional wait for finish)
-agent look at (2d/3d) (requires character2d)
-agent go to (2d/3d) (requires nav agent and nav mesh)
-play particles (optional wait for finish)
support for time based tick intervals alongside frame based intervals in trees
ability to modify blackboard values in debugger
debugger real time node data updates, allowing user to track export variables
-custom nodes made by users should be able to add their custom data too
tree stats in debugger:
-heatmap of the most visited nodes
-benchmarks for whole tree and individual nodes
make into gdextention plugin