It should implement the basic game logic of Tetris (different piece shapes fall from the ceiling, rows clear when they are entirely filled in), take user keyboard input, get progressively more difficult (pieces fall more quickly over time), and end when the pieces reach the top.
It will be implemented using JavaScript and HTML5 Canvas API.
Implement board, be able to hold pieces and track position, handle line clearing, scoring, and whether the game is over.
Implement pieces - build different shapes, be able to respond to keyboard input, rotate.
Handle logic for making game progressively more difficult over time, display next piece, complete styling, music, any extras.