Fantasy game, face the evil sorcerer, release the princess...
Play the same game with a Thief, a Wizard or an Warrior. Each time with somewhat distinct ways to solve the puzzles.
IFComp entry (also JS generated from Quest):
Clues on game. No dead ends (I hope).