My intention is to have a behavior tree and, with genetic programming, modify it automatically, on “Play In-Editor”, creating several new trees and generations.
Can I save those new trees, as an asset, automatically in unreal?
General idea: You have several Behavior Trees (BT), you assign each one to an actor. You make them fight. The actor that wins has his BT mutated to create a new generation of actor with new BTs. You repeat those steps till you reach the perfect BT. But in the middle of all this, I need to save the BTs.
I haven’t seen anyone talk about this ability - you may want to reach out to https://twitter.com/UnrealAlexander on twitter - he himself has some pretty cool AI projects going but also will know other people to redirect you to (or if your idea is possible or not)
The most generic AI system I’ve seen is this marketplace item - AI Behavior Toolkit in Blueprints - UE Marketplace - basically you populate a bunch of data structures, which then defines more generic behavior - you don’t touch the trees at all.
I find it’s flexible enough for a lot of my purposes
Thank you for your guideline!
It’s something I was thinking about in the old Bulletstorm days With the full access to code sources I don’t see why you shouldn’t be able to overcome the obstacles that would normally stop you from saving assets in PIE. Creating the asset itself will be a bigger problem, but again, it’s just another obstacle
The biggest problem you’re going to face if you want to generate BTs with generic algorithm is BT validation. You need to make sure that every possible “genome” represents a valid BT, or at least a one that doesn’t crash the engine, or have a way to validate if given genome represents a valid BT.
A lot easier approach would be to create a generic BT with lots of parameters and have those parameters be generically-tweaked.
Cheers,
–mieszko
Thank you once again for your guidance!