We prove that two pushing-blocks puzzles are intractable in 2D. One of our constructions improves an earlier result that established intractability in 3D [OS99] for a puzzle inspired by the game PushPush. The second construction answers a question we raised in [DDO00] for a variant we call Push-1. Both puzzles consist of unit square blocks on an integer lattice; all blocks are movable. An agent may push blocks (but never pull them) in attempting to move between given start and goal positions. In the PushPush version, the agent can only push one block at a time, and moreover when a block is pushed it slides the maximal extent of its free range. In the Push-1 version, the agent can only push one block one square at a time, the minimal extent—one square. Both NP-hardness proofs are by reduction from SAT, and rely on a common construction.
Demaine, Erik D.; Demaine, Martin L.; and O'Rourke, Joseph, "PushPush and Push-1 are NP-Hard in 2D" (2000). Computer Science: Faculty Publications. 71.