A long time ago (Netscape 4-era), I wrote Javascript-based games: Pong, Minesweeper, and John Conway's Life among them. I'm getting back into it, and want to get my hands even dirtier.

I have a few games in mind:

* **Axis & Allies** clone, with rugged maps and complex rules.
* **Tetris** clone, possibly with real-time player-vs-player or player-vs-computer mode
* **Breakout** clone, with a couple weapons and particle velocities

In all of these, I have only a few objectives:

* Use JavaScript and HTML 5 - it should run on Chrome, Safari, or maybe an iPad.
* Start small and simple, then build-up features.
* Learn something new about game design and implementation.

So my questions are:

1. How would you implement these games?
2. Do you have any technology recommendations?
3. If you've written these games, what was the hardest part?

---

N.B. 
I also want to start from first-principles - if you recommend a framework/library, I would appreciate some theory or implementation details behind it. These games are different enough that I should learn something new from each one.