- Decide what kind of game we're making (top-down tile-based game (like Legends of Zelda: Link to the Past))
- Set up canvas rendering
- Set up a loop to repaint the canvas
- Decide on the size and render map (camera/viewport)
- Render a character on the map
- Set up event messaging system
- Characters
- Movement
- Actions (e.g. attack, jump)
- Enemy AI
- Collision detection
- Start/restart
- Death/damage
- Map tiles
- Aspect ratio