Okay so I started to implement the turn system and monster AI.
Pic Link: http://www.flickr.com/photos/26996118@N06/2604746588/sizes/o/
Both are very crude right now. Currently every action ends your turn but eventually I am going to modify that so that players have a "speed" stat which determines how many actions they can take per turn. Started to work on the monster AI. At the moment it is extremely simplistic, so much so that you can't even really call it AI. Right now if a monster is next to you it physically attacks you.
Also some very basic movement has been implemented. Basically if you can see the monster(which means that no walls or anything else is blocking their pathway to you) the monster will move towards you and when it gets close enough it will physically attack you. It is "smart" enough to know if there is another monster in its path so monsters won't both try to go for the same spot.
Next step:
- Make it so if a monster's path is blocked by another monster that monster can take a different pathway to you(currently if there is monster if its way it just doesn't move for that one turn).
- Implement AI for monsters that are not in view. This is a lot trickier as I need them to be able to navigate towards doors, open doors, and navigate through the twisted(and randomly generated) corridors to where the player is without them getting stuck or trying to walk through walls.
- Implement AI for ranged attacks.
- Later on I'll have to implement AI to choose the best attack(or spell or item, etc) to use(for creatures with enough intelligence to determine which attack would be the best in that situation).
I definitely have a long ways to go on the AI and I fully expect it to be one of the most difficult things to code in the game. So I'll probably have to keep on modifying it as development moves along.