It’s not the most ambitious plan out there, but I’ve always liked the connection between permadeath in Roguelikes and checkmate in Chess. It’s easy to think of check as a restriction, but it isn’t: failure to respond would lead to the king’s death. By forbidding stupid deaths, more interesting outcomes emerge, on average.
So why not implement check and checkmate in a Roguelike?
For every valid player move, the game can save state and run until the next player turn; if the rogue ends up dead, the move is checked. The rogue cannot quaff an unidentified potion of Death. The rogue cannot step into Medusa’s gaze, even when she remains undetected. The rogue cannot, in poor health, step on a hidden trap of Impaling.
Major enemies can be drawn from any of the games in the Chaturanga family, and the rogue himself moves just like a king.