I've been reading a lot about GOAP recently, if you're not familiar with it there's a lot of articles on the topic over here http://alumni.media.mit.edu/~jorkin/goap.html
Well anyways its a really cool planning algorithm that can produce awesome and unplanned behavior with AI agents. Basically, unlike FSMs it separates the goals of the ai, from the actions it can take. That way all you need to do is design its goals and code up the actions it can take and the AI automatically creates a plan e.g. if the goal is to kill player but it doesnt have a weapon it might do this moveTo(axe)->pickup(axe)->moveTo(player)->attack(player).
I've just began trying to implement it and its a bit complicated but I'm getting there :). I was just wondering, has anyone else has tried this before? Theres a lot of articles on the theory but very little implementations....