I'm not planning on entering the contest, but for curiosity's sake i'm curious what algorithms might be core to implementing Sokoban? +/-'s Just for my knowledge, I'm also curious how all these puzzle apps get their levels designed. Is someone hand designing them? Are they procedurally generated and if so how can you prove that their is a solution/it's a fun puzzle?