The mechanics were lifted nearly wholesale from Tetris Grand Master 2 (you may know it from watching invisible Tetris on youtube [1]), since I like how that series plays a ton more than any other Tetris. There's also a really basic AI and additional gameplay modes that may or may not be accessible. To go fast and get a high score, lock your pieces with the soft drop.
[1] http://www.youtube.com/watch?v=KfDPUAluwpo
e: source is at https://github.com/pharrington/Bodies/tree/master/demos/74 for the curious
I like to make simple games when I learn a new language. While playing with javascript and canvas, I wrote this http://nick-d.appspot.com/tetris.html
I did consider about making my tetris game more beautiful, but my girl friend said it doesn't mean anything. I gave it another thought and indeed, it won't sharpen my skill any further.
Anyway, I like yours, its beautiful and enjoyable.
The simplicity of both the html and the js is neat - and, oh the colors are so sharp. it's a pleasure to play.
Edit: Even though it's been a while, I did spend about a month making that (it was before I'd ever had a programming job) and I'm interested in feedback. My thought on it now is that the game concept is broken. It's what I always wanted as a kid, but the problem is this:
If you start with the good pieces, why ever buy bad pieces? But if you start with the bad pieces, most players will get crushed and that 5% who can do well enough buy good pieces then do even better and then crush the game. It's inherently unstable, kind of like those old 4X games with stupid AIs that cheat on harder difficulty settings. They'll destroy you if they catch you early, but once you gain parity, you'll steamroll them with little challenge.
Then i had an idea to bypass that restriction, and got my app approved. lol https://itunes.apple.com/us/app/dropoker/id505733317?mt=8
[1] http://gaygamer.net/2008/08/tris_tetris_clone_for_iphone_b.h...
Writing a simple game is a great way to practice your programming skills.
Check out the top level domain to see other few experiment works : snow flakes on christmas tree, floating ball propagating wave.
Source: I play a lot of tetris
A Flash port of Bastet from many years ago.
Tetris is the most basic game and yet even in this (perfectly fine) example, its far for complete. It lacks sound and many other things, which lead me to believe that if there is an HTML game era, its far away yet.
A standard tetris on classic Java/C# languages take a day to do at most and are an exercise as simple as doing a CRUD for web development.
The author probably just wanted to show what he does to practice his programming skills.
It makes a pretty darn good at emulating the game mechanics of the best versions of Tetris (namely the arcade version "Tetris the Grand Master", but also the Gameboy, NES and DS version).
Source: I play a lot of Tetris.