To work a puzzle game with Free Hero Mesh it must follow the criteria:
  *  Played on a rectangular grid of size no larger than 64x64. Objects are always on a grid position (it is OK if there are multiple objects or no objects on a single grid position, and/or if any objects have additional properties).
  *  Input is a sequence of key codes (many key codes are available, although there are a limited number of them; they do not, however, have to necessarily correspond to the actual keys pushed on the keyboard).
  *  Amount of time, random numbers, etc, is not used; the game state only changes in response to input.
  *  It can mathematically be considered to work something like the Haskell function type <tt>(GameState -> KeyCode -> Either Bool GameState)</tt> (given the current game state and a key code, the result is either that the game ends in a win or loss, or the game continues and the new game state is resulted). This is not actually how it is implemented, though (Free Hero Mesh is written in C, not in Haskell).

Examples of suitable games:
  *  Sokoban
  *  Hero Heart
  *  Puzzle Boy