For my final project in CS580 Artificial Intelligence in Games I chose to work on creating agents able to construct and destroy things in a block world (similar to Dwarf Fortress or Minecraft) in order to achieve their goals.

This is my favorite project so far, just because I got to use A* for pathing and planning, the Union Find algorithm for connected component labeling and influence maps.  A* was heavily customized to take environmental modifications into account while keeping the search space manageable.

I’ve provided a number of videos below showing the AI in action. I haven’t gotten around to annotating these, so please contact me if you’re interested in specifics. I would love to discuss this or collaborate on something similar if anyone is interested!

A huge thank you to the Stonesense community and particularly jonask84 forgiving me permission to use the isometric tileset originally created for their Dwarf Fortress visualizer. Also, kudos to my partner Jonathan Rust, who randomly generated the initial landscape.