I built my own tile-based, top down "game engine" in HTML5 using canvas. I used it to make a very rudimentary clone of Pokemon Blue Version.