I have a deep passion for AI programming, focusing on practical applications that bring systems to life. I love exploring programming concepts through books, from foundational works like Design Patterns: Elements of Reusable Object-Oriented Software by the Gang of Four to more specialized reads. My all-time favourite is Programming Game AI by Example by Mat Buckland, a book emphasising learning through implementation.
Inspired by its chapter on graph algorithms and the A* algorithm, I developed a small tower defence project in Unreal Engine 5. This game features square tiles for unit placement and pathfinding, where I implemented a custom pathfinding system integrated into the engine's WorldSettings class. This allows pathfinding to work across any level without the need for manual script additions.
To streamline debugging, I created custom debug commands and editor script actions for quickly changing tile types. The base grid for the graph is generated via editor scripts, offering flexibility for manual edits by level designers. The graph system automatically updates tile mappings and recalculates indexes correctly, though adjustments currently need to be done outside play mode.
The code is on a private repo but you can find the code here.