I have been creating the systems necessary for game development in UPBGE and refining those systems over time as I learned, now these systems are self contained systems for developing any game.
[Controller] - Serializes input and sends lists of game commands to targeted agents
[Actor] - Accepts input if not acting, if acting run goap strips in order and pop until all orders are gone.
Movement-> wake and animate agent
[AI] -> assigns Routes to agents and pushes them around, and aims their facing, and assigns GOAP states
uses fully Dynamic JPS systems and a Coroutine to prevent lag.
[GameObject] - use common trigger to activate equiped items and also common method of storing items in inventory using thumbnails
[WorldCanvas] -> generate edit and stream infinite worlds and pin game objects to load in and out with tiles
[editor][state in world canvas] -
1. paint vertex color
2. sculpt terrain
3. average terrain
4. edit object
5. place object
6. edit object color
7. delete objects and remove from tile object spawner
8. edit object properties including Route planning and dialogs etc
9 Edit JPS obstacle grid
[UI Manager] -> adds / updates and removes items associated with UI requests.
all at 60 fps on a single thread :D