Although its not entirely repeatable :
I like text based riddles - but they are difficult to work with for multi-cultural players.
Eg: Writing your riddles in english, when your player is spanish.
I made a puzzle onced - it was themed on a rotating dial system.
The description of the wall would describe a puzzle.
Sometimes it was roman numerals.
The player then had to read and work out the puzzle to determine what order to turn the dials.
The puzzle could also change onPlayer entering the ruins. So the puzzle wasn't the same each time.
Eg: On one occasion, the correct sequence might be
133232
or on another
455322
Basically - its a pincode challenge, with a nice roleplay dial turning puzzle on top.