Are ciphers even puzzles?
Well, not necessarily. Okay, okay, hear me out. If you get a piece of enciphered text along with a key to decipher it, is translating that text a puzzle, or just busywork? On the other hand, if you get a piece of text and need to either skillfully decrypt it or go through some other process in order to piece together the key, that’s a different story. If you’re implementing the former, ask yourself why the text needs to be encrypted in the first place, if the player is going to translate it immediately anyway.
Types of ciphers
There are a lot of common ciphers used frequently in puzzle games: Morse code, semaphore, Caesar shift, pigpen/masonic cipher, book cipher, etc. Using one of these is not necessarily bad, but it needs to make sense in context. Personally, I wouldn’t mind never seeing a semaphore cipher again; looking at the key below, you might notice just how similar every position is, and consequently semaphore takes longer than some other ciphers to translate. Next time I see it though, I hope it's in a nautical themed game.
I tend to prefer games with originally designed codes and ciphers. One benefit is that the key won’t be available to everyone on the internet, but I also think they are just more interesting. You're a designer, so why not allow your creativity to shine?
Length
Keep it brief. No one wants to spend half an hour translating letters. Likewise, a book cipher can be fun sometimes, but it can also overstay its welcome. I don’t mind looking up 5, maybe 10 words, but any longer than that and I would suggest a shorter sentence, or perhaps a different avenue of extraction.
The only exception is when you’re trying to decode encrypted text without a key. When you’re starting from scratch, the more clues you have, the better. This way you can try to determine letter frequency and make some educated guesses based on the patterns you find (but even then I mean a few sentences, not an entire page of text.)
Leave space
It can be really helpful to leave space either below or above each row of encoded text for the player to write in the translation. Yes, really. You can save your player a lot of time and frustration when they don’t keep losing their place and don’t need to rewrite the text on another piece of paper. This may seem like a tiny thing, but it does make a difference in the user experience.
What do you think? Do you have a favorite cipher? What games have you played that handle ciphers well?