This release has the following major additions besides other improvements and fixes:
- Added ECBehaviorWorld
- Modified Behaviors to add behavior tree and state machine actions/conditions
- Added BAAStateMachine to drive actor actions using state machines
The full changelog you can find here: Changelog Release 1.26
ECBehaviorWorld
The Drag[en]gine does not work with prefab systems as other game engines do. This is because the Drag[en]gine uses an Element Class system which is more powerful in various ways than prefab systems. Yet there are situations where it is useful to load another world file into another world file at runtime. This can be for example to place entire buildings or groups of objects for easier reuse. While doing so you can manipulate the object properties of the loaded objects by using a text replacer. This system is much better than messing with internal states of prefab instances since.
All the in-depth information about this new system you can find on the
ECBehaviorWorld Wiki Page.
Modified Behaviors to add behavior tree and state machine actions/conditions
XML Element classes allow to create new element classes using an XML file (*.deeclass) instead of writing script code by adding behaviors directly in the XML file. Various behaviors have been now modified to add actions and conditions to control them to behavior trees and state machines added before them. This allows scripters to create object logic by using state machines or behavior trees without needing to write script code. It is thus possible to create complex element classes with state machine or behavior tree logic by using only XML files. To add custom functionality create script behaviors using XML factories to use them in your XML element classes.
See the Behavior Compendium Wiki Page to learn about all the actions and conditions added by each behavior to behavior trees and state machines (as well as which events they can send to state machines).
Added BAAStateMachine to drive actor actions using state machines
Using BAAStateMachine it is now possible to use state machine files (*.desm) to create actor actions for use with NPC or the player. This compliments the BAIBehaviorTree which allows to create actor AI for NPCs with behavior tree files (*.debt). This allows now to fully create NPCs (element class, AI logic and action logic) by only using XML files.
XML Element classes allow to create new element classes using an XML file (*.deeclass) instead of writing script code by adding behaviors directly in the XML file. Various behaviors have been now modified to add actions and conditions to control them to behavior trees and state machines added before them. This allows scripters to create object logic by using state machines or behavior trees without needing to write script code. It is thus possible to create complex element classes with state machine or behavior tree logic by using only XML files. To add custom functionality create script behaviors using XML factories to use them in your XML element classes.
See the Behavior Compendium Wiki Page to learn about all the actions and conditions added by each behavior to behavior trees and state machines (as well as which events they can send to state machines).