This tutorial walks you through implementing a 2D scrolling game in JavaScript.
The 2 hardest problems in programming are naming, cache invalidation, and off-by-one errors.