This archive contains Enigma, a puzzle game. This Enigma implementation was written by me, Simon Tatham. I can't claim credit for inventing the game itself; the game rules and the twelve original levels were devised by a friend, who wishes to remain anonymous. He has waived copyright on his levels, and granted them to the public domain. Enigma is licensed under the MIT licence. See the file LICENCE for details. Designs for further levels are welcomed; please send them to . Figuring out how the game works is part of the puzzle. We can say that, to move, you can use the usual hjkl commands (arrow keys may also work) and that the goal of each level is to collect all the $ treasures and then exit at the E. There are also a few commands which are, if you will, administrative rather than being part of the puzzle proper: s Snapshots your current state into one of ten save slots, which you can restore from instead of starting a level from the beginning. w Writes the sequence of moves made so far to a file for use by the m command. m Reads a sequence of moves written by the w command. You are then in `movie' mode and can step forward and backward in the sequence of moves with f and b, or, equivalently, + and -. You can also use < and > to go to the beginning and end of the sequence. q takes you to the end of the sequence and exits movie mode. TODO: If an s or w command fails (due to, for example, filesystem permissions) no indication of this is given - this really should be fixed. TODO: Abort sequences for s and w should be unified - s should accept the same abort w does.