Run smoothly and as intended.
Have animated multi-sub sprites.
Use 5 rooms or utilize a procedurally generated room.
Get progressively more difficult.
Be winnable and losable by the player.
Be able to pause / unpause the game
Use variables to control aspects of dynamic game play (i.e.; parts of your game should change in some way throughout the game. Power-ups, Getting new inventory/ materials, or level gain are examples of this.)