Hey everyone! This is my first post here
I'm interested in making a Roguelike in Java using Slick2D. I'm relatively new to Java but I'm an experienced game developer, having worked on a couple of commerical titles in other languages. So I am generally experienced with making games, but I need some help with the best way to implement my ideas for this Java project. I've used Slick2D to make a vertical shooter and that's my main Java experience thus far.
What I would like some help with is the design of this Roguelike in terms of the different classes and how they should interact with each other.
I've done some forum searches already for things such as "roguelike" and "design patterns" and to begin with it seems I should start with a familiar class structure of mainly an "Entity" object extended by things such as "Character". And then Character could be extended again by Player perhaps.
I can visualize most of the elements, but how should I handle things such as each Character/NPC's individual stats and the way the player can interact with them? I also want to have a combat system similar to Dwarf Fortress, where the player can target specific body parts, such as "Attack left leg". So in this way, I would want each entity to have a 'body' system, with the possibility to be able to adapt this to creatures such as dogs (4 legs) - however almost all of the characters would be humans.
Also, are there any good game design books related to Java that might me be of help to me?
Thank you for the help!