I was on vacation most of the week and didn’t get much done.
- Enemy AI state and tracked actor data are now properly saved/loaded, fixing some incorrect enemy behaviors after loading a game.
- Text alerts are now displayed when new abilities are learned.
- Tagged all AI log statements to more effectively troubleshoot AI issues.
- Prevented actors from being able to pull objects that are fixed to the ground such as crystals.
- Correct the effects caused when drinking from various puddle types.
- Bandit arrows now damage the player.
- Fixed a few bugs with the Default Action Buttons, which are used to control whether the default action is a melee or ranged attack. The buttons didn’t work properly when no weapon was equipped. There was also an issue with tooltips showing the wrong info.
- Refactored some of the enemy AI code.
I’m debating replacing the enemy AI system. It’s been a continuous source of bugs and is very difficult to troubleshoot because of its complexity and architectural flaws. When I implemented the system, I started with a solid design, but I tacked on a lot of features over time as other game systems such as event management changed. I believe the enemy AI system is the only system that’s never been completely replaced.
Next week, I’ll decide what to do about the enemy AI system.

