J2ME Tetris Midlet

Jordan Kiang


jar (the game)
jad (points to the above jar)
source zip
There are probably hundreds of free J2ME Tetris clones. Here's another. Believe it or not, I couldn't find one that played in a fashion that I was used to, so I had to write my own. I've been playing Tetris somewhat consistently since I got my Game Boy in 1989, and I guess I've gotten used to certain gameplay and functionality.

Things it has/Things I was looking for in a phone Tetris clone:

  • Choice of initial levels 0-9, with level advances coming at (current level + 1) x 10 lines.
  • Game Boy-like scoring.
  • Fast gameplay - should be able to drop immediately and the next piece should be manipulatable as soon as the previous piece locks.
  • 18x10 block dimensions.
  • Ability to pause.
  • Supported suspension and resumption of gameplay (when you get a call while playing).
  • Sensibly fitting of the game to the device's screen (or at least an attempt...).
  • Storing the high score between games.
    Not much too ask, right? Well every version I tried was missing a couple of the above. If you know of one that fits all of the above criteria, let me know, because it's probably better than this one and I'd like to check it out.

    Things it doesn't have:

  • Sound. Noisy phones are annoying anyway and sound isn't supported in base MIDP 1.0.
  • Left rotation. There's only so many buttons to work with. Basically you only have four direction buttons and the fire button to map to functions. Left, right, and down have obvious uses, and up should rotate in one of the directions. Then it seems the choice is for the fire button to rotate the other direction or to immediately drop. I preferred to have a drop button.
  • Multiple high scores/score attribution. It just stores the single high score without a name. This is because I was lazy and didn't want to handle text-input to credit high scores. I'm no good at typing on my phone anyway.
    I haven't tested it on a lot of phones, but it's worked on all that I've tried it on. It sticks to basic MIDP/CLDC 1.0, so it should be fairly compatible.

    And hopefully I won't get sued for trademark infringement for using the word "Tetris".