As we’re nearing the public release of Dani AI, we had to address a few major issues that were impacting the workflow of creating artificial intelligence in games. These issues mainly cover performance and editor quality-of-life.
Here’s a quick overview of what we updated in Dani AI:
- Faster performance (up to 30%)
- Smaller memory footprint (better for mobile games)
- Action state Icons for showing the action’s current running status
- Proportional sliders for calculating weights
For games, performance is incredibly important in maintaining a smooth gameplay, whether that is a mobile game or a hardcore PC game. For simulations, high performance allows more complex simulations while maintaining the same frame rate.
We took those thoughts into consideration, and decided to rewrite and simplify the runtime component of DANI AI with performance in mind. As a result, we managed to achieve up to 30% improvement in performance, with a 10% reduction in memory usage!
Editor Quality of Life
We made a lot of updates to the editor, based on user feedback and suggestions:
Displaying Action States
The current status of an Action was shown as a piece of text in the bottom of an Action node in the editor. When we introduced zooming in/out, it was quite difficult to see what the current status is. Instead, we opted to show an icon in the node that changes according to which state the Action is in:
When connecting multiple Observers to a Decision, adjusting the weights for each Observer was less than ideal. One would need to adjust the weight of one Observer, then adjust the weights of all other connected Observers to get the correct end value. It led to some funky math where we had an instances of weights being in the hundreds just because it was “easier to calculate”.
To streamline the workflow, we added sliders that automatically adjust themselves in proportion to the currently edited weight. They act pretty similar to Humble Bundle sliders:
That wraps up much of what we wanted to cover before the big release (soon!), so thanks to all of the brave testers willing to use Dani AI in their projects!
— initialPrefabs Team