Uploaded April 2019 | Updated September 2026, 17 minutes ago
This engine aims to allow the user to visualise various AI behaviour types - how they interact with their environment, what is used in their "decision making", and to test adjustments to those AI in real-time.
This video demonstrates big improvements over the last:
- The addition of new forces, and the display of all steering forces being applied to the creature being focused on. In this case, the "shark" creature now has 4 different steering effects: Seeking nearest fish (which has a very high weighting), seeking further away groups of fish, wandering / random steering (which increases in effect if there are fewer targets in sight), and a slowing down steer (which is applied when no targets are in sight). This combination of behaviours produces a nice shark-like movement, with less random variation as it "locks" on to the nearest fish - quite sharklike I think!
- The vector panel and displayed vectors now shows the various steering forxes being applied to the creature in question. This is a much more interesting view, in my opinion.
- Creature field of view is now at 270 degrees, allowing the creatures to see somewhat but not entirely behind themselves.
I've again made quite large changes to the codebase that further simplifies adding in new behaviours. This made adding the Wander and SlowDown really simple.
The fish behaviours have also been improved, which will be explored in the next video.
The next updates will be (in no particular order):
- Addition of more behaviours (e.g. pursuit / evade, wall avoidance)
- The ability to turn on / off behaviours
- The ability to adjust the intensity of the various behaviours
- Ability to view the vantage point to different creatures
- And any others that you may have in mind! Please let me know!!
Please find the current codebase at github.com/s0lly/Steering-Behaviours - but note that this is still a work in progress.
Hopefully this project will allow for the quick creation of multiple AI types by allowing live-editing of various parameters, and give a very deep sense into how the various AIs would respond to different stimuli.
Please let me know how if you have any suggestions on things to add!
Acknowledgements:
This was made using the Chili Framework: http://wiki.planetchili.net/index.php... - thanks Chili!
The ideas of using steering behaviours came about while reading Mat Buckland's book "Programming Game AI by Example", which has proved invaluable in building this visualisation.
Intro music by Eric Skiff, song "All of Us" (Available at EricSkiff.com/music)
This engine aims to allow the user to visualise various AI behaviour types - how they interact with their environment, what is used in their "decision making", and to test adjustments to those AI in real-time.
This video demonstrates big improvements over the last:
- The addition of new forces, and the display of all steering forces being applied to the creature being focused on. In this case, the "shark" creature now has 4 different steering effects: Seeking nearest fish (which has a very high weighting), seeking further away groups of fish, wandering / random steering (which increases in effect if there are fewer targets in sight), and a slowing down steer (which is applied when no targets are in sight). This combination of behaviours produces a nice shark-like movement, with less random variation as it "locks" on to the nearest fish - quite sharklike I think!
- The vector panel and displayed vectors now shows the various steering forxes being applied to the creature in question. This is a much more interesting view, in my opinion.
- Creature field of view is now at 270 degrees, allowing the creatures to see somewhat but not entirely behind themselves.
I've again made quite large changes to the codebase that further simplifies adding in new behaviours. This made adding the Wander and SlowDown really simple.
The fish behaviours have also been improved, which will be explored in the next video.
The next updates will be (in no particular order):
- Addition of more behaviours (e.g. pursuit / evade, wall avoidance)
- The ability to turn on / off behaviours
- The ability to adjust the intensity of the various behaviours
- Ability to view the vantage point to different creatures
- And any others that you may have in mind! Please let me know!!
Please find the current codebase at github.com/s0lly/Steering-Behaviours - but note that this is still a work in progress.
Hopefully this project will allow for the quick creation of multiple AI types by allowing live-editing of various parameters, and give a very deep sense into how the various AIs would respond to different stimuli.
Please let me know how if you have any suggestions on things to add!
Acknowledgements:
This was made using the Chili Framework: http://wiki.planetchili.net/index.php... - thanks Chili!
The ideas of using steering behaviours came about while reading Mat Buckland's book "Programming Game AI by Example", which has proved invaluable in building this visualisation.
Intro music by Eric Skiff, song "All of Us" (Available at EricSkiff.com/music)






![Transparent Windows feat. Bevy [Rust]
After only spending a few hours this weekend, I was able to code up a simple image overlay with a couple of fun features. Code was surprising easy to implement for the effect I was going for.
Hopefully this will lead to some future videos as I journey through learning Rust. Transparent Windows feat. Bevy [Rust]](https://i.ytimg.com/vi/gymEcIAi_J8/mqdefault.jpg)



