For the 7DRL this year my plan is for a game called ‘Die! Die! Die!’, based around a combat system involving dice.
The basic idea is that rather than different weapons in the game having different damage and speed stats and the like, they instead have their own unique six-sided combat dice covered in symbols which represent different outcomes. So for example a sword might have one stabbing damage side, one slashing damage side, one blocking side and three blank sides (which represent misses). Additionally, the player and each monster has their own dice with their intrinsic skills.
When you bump an enemy you roll up to three dice – one each for the items in your hands and one for your skills. You then choose one die to be your action that turn. Alternatively you can re-roll, but you only have a limited number of re-rolls allowed.
The intent is to make melee combat a bit more interesting and (perhaps counter-intuitively) less based on random chance than it is in most RLs.
That’s the plan, anyway. I’m going to play it be ear a little bit and may totally alter the design completely half-way through if I find it’s not working.
Here is what else I’m starting with:
Code: I’m planning on using Java along with libgdx (since as a ‘stretch goal’ I’d like to see if I can make an android version). I have previously written a roguelike in Java called AS.T.Ro, so I’m hoping to be able to steal some stuff from that, although as that game doesn’t use libgdx and was written as more of a turn-based-tactics game than a ‘straight’ roguelike I suspect it will need substantial modification. I should be able to salvage most of the map stuff and maybe some aspects of monster AI, but most of the rest of it I’ll have to re-do. I can probably take a few algorithms from my main project as well, although I’ll need to translate them from C++.
Graphics: I originally intended to prepare a tileset in advance, but in the end I was too busy and what graphics I did create I don’t like very much anymore and don’t think I can use. So, mostly-from-scratch it is, then!
Day 1: Set up basic engine framework for graphics rendering and input.
Day 2: Copy across as much code from AS.T.Ro as I think I can.
Day 3: Get map generation and player movement up and running.
Day 4: Implement combat system and have at least one basic enemy running around to beat up on.
Day 5: Inventory and items.
Day 6: Player progression. Polishing.
Day 7: More polishing. Panicking.
Day 8: (Probably) Coming to terms with the fact that I’ve failed.
Time: 7 Days. Starting from… NOW!