Kleptron 2000
What
- Turn-based ASCII roguelike where you plunder mazes guarded by owners who aren't thrilled about the idea
- Player collects coins to spend on ability upgrades, can use items scattered on map but one inventory slot only
- Enemies are procgen'd by composing them from random abilities/strengths/weaknesses/AI at each difficulty level (for better or worse)
- Base combat is one hit-one kill, basic weapons are single-use (i.e. they break), abilities/deeper levels affect them
Why
The typical roguelike amounts to you taking on the role of a violent xenophobic kleptomaniac committing a multi-leveled home invasion. I'm thinking of how to let the player engage in thie behaviour while shining a light on it, when you die your character become a ghost in the vaults protecting your hoarded wealth in vain. Your high score reflects how much wealth you grabbed before you ultimately died, something to ponder. I'll let future me fill in the details.
How
As simply as possible, I tend to overcode these things and it's not necessary. Really wanted to try ECS again, which made me realize I shouldn't.
One thing I'll let myself indulge in this jam is animation -- it bugs me how static many roguelikes look while waiting for input. Back in the 80's it had to be that way and that's part of the charm -- but the world feels flat and dead. I started by splitting the game update from the rendering update. The flashing @ is done independently of the game, which just waits for input. When the player moves, the flashing animation resets so you can track the @ and move it quickly through the map.
I nerded out on this because there will be times where an animation will have to block the game from continuing until it completes (e.g. projectiles or explosions). To do that, the animation will have to deny sending keyboard input to the game, but still update the game so a fast-moving projectile can make several moves over a single "turn". Something about a fireball paused in mid-flight throwing off smoke and embers appeals to me. My game my rules :P