Tomorrow I'm going to get started on the guards. The guards could either make or break the game depending how well they behave. I'll probably end up spending a lot of tomorrow just reading up on pathfinding and spend a bit of time tweaking a small problem in the player movement code. I'm pretty sure I'll be using A* but since I've never done any form of pathfinding before I'll have to see what happens.
I've also been looking into Resource Management systems for the last while because I'm not very happy with mine. So far I haven't seen a single implementation that doesn't involve manual downcasting at some stage. The fact that I had to down cast is one of the reasons I don't like my implementation. I'm going to have to think about this very carefully to either see if I can come up with some extensible system that doesn't involve downcasting or convince myself that there is no way around it.