This document outlines 10 principles for designing good puzzles in games: 1) Make the goal easily understood, 2) Make it easy to get started, 3) Give a sense of progress, 4) Give a sense of solvability, 5) Increase difficulty gradually, 6) Allow parallelism to let players rest, 7) Use a pyramid structure to extend interest, 8) Provide hints to extend interest, 9) Consider giving the answer if players are stuck, 10) Use perceptual shifts sparingly as they are difficult for players. The document provides examples to illustrate each principle and argues that following these principles can help ensure puzzles are engaging and fun rather than frustrating.