I'm making a 2D game where the I want the world to be freely navigable by AI - specifically, the game is based on an island and there will be animals running around, following (preferably) random paths. I've implemented A* for grid-based 2D games, but am not sure what the best approach would be in this scenario. From what I've read, navigation meshes would be my best bet. I think Recast would do the trick, but am not sure... are nagivation meshes what I want? How can I create a mesh for a 2D world to pass into a tool like Recast? What do I do for collidable objects that are dynamically placed in the world (like a hut built by the player)?
Oh, and some additional info: the game is being developed in Java. I thought I'd mention this in case any suggestions require an API in some other language to be used instead of some tool that you'd use outside of the game's execution. Edit: This looks promising.