Open Razoric480 opened 4 years ago
Full-3D, six-axis enabled behaviors from #32 would fit here as well.
Hello, I have some experience with 3D steering boids in godot and can probably help with some of these. Which of these are free to take and which have higher priority?
Here is a sample project that shows the 3D boids AI that I made from scratch: https://asheraryam.itch.io/flying-game
(Excuse the strange control scheme, it works best with a controller)
It has pursuit, evasion, alignment, grouping, follow the leader (which I use for staying within orbit range), and is fully multi-threaded and supports several hundreds per cluster with little noticeable slowdown (the in-game bottleneck is from my custom trail render graphics code which I put on the same thread).
I actually started porting the class to c++ for more speed but it would be a better use of my time to contribute here and optimize it instead 😄
P.S. I can also share the project source if it would be helpful
@asheraryam your help would certainly be welcome! I'll let @Razoric480 tell you which behaviors you could work on.
Also, here are our style guides and contributor's guidelines:
If you have any questions, we're here to help, or on [Discord]()
I actually started porting the class to c++ for more speed but it would be a better use of my time to contribute here and optimize it instead smile
The day GDNative becomes really easy to set up and to use, and if GDScript's future performances aren't enough, we may port the slower behaviors to C or C++. But currently, it's hard to distribute that kind of code.
@NathanLovato Thank you, I'm looking forward to it.
The day GDNative becomes really easy to set up and to use
Haha tell me about it, I definitely wasn't suggesting this project should shift to C++.
I'm not working on any of them at the moment, so they're all free. If I had to prioritize a couple, however:
Not that I'd reject code that implements the others.
Like the rest of the framework as it is, some inspiration has been taken from GDX-AI so feel free to source some ideas from it.
As for GDNative, yeah; needing to distribute a DLL, dylib, and so file would bloat up the size of the framework, and expecting everyone to pull in and learn how to use scons to compile their own just to use the framework would make it severely inconvenient.
If we do make a GDNative module, it'd be an optional alternative. At the moment, however, performance hasn't really been necessary.
There are more behaviors out there and they could prove useful for certain games. They should be their own issues, but they are gathered here for discussion and as a central location for now.
Some contenders:
Individual
Group