flipmode is a falling tetromino game inspired by the Tetris: The Grand Master series of arcade games by Arika and by a lesser-known Japanese game called DTET. It is optimized for high speed play, and affords the player a great deal of control. You can fast drop a piece and still slide it around before it locks into place, and you can rotate pieces into some tight spots that similar games won't allow. On the other hand, there is no hold piece (you can swap the active and next pieces instead, but not twice in a row), and the higher levels are pretty fast. It is intended to be a challenging but balanced game at high speeds, with some easy levels for practice.


I originally wrote flipmode in 2009. In 2011 I rewrote the engine, adding more advanced "collision detection". In a modern falling tetromino game, if you attempt to rotate the active piece, and it can't fit in the new orientation at its current location, several alternate locations will be tried. This allows pieces to rotate even if they are up against a wall, for example. flipmode also attempts several alternate locations, but takes into account a few of the intervening cells, which other games don't do. This means pieces play more naturally off of their environment, and allows for more intuitive gameplay, especially when rotating the I piece. The engine is still lenient enough to allow T-Spins and such.

I am fairly happy with the current engine, as it captures most of the nuances of how I intuitively think the game should play. At some point, I may develop a new engine which captures the final few nuances.


flipmode requires the Java Runtime Environment.




With the Java Runtime Environment installed, open a terminal window, change to the directory where you downloaded flipmode.jar, and type

java -jar flipmode.jar


Pressing both rotate counter-clockwise and rotate clockwise keys at the same time (Z+X or D+F) results in a 180° rotation. They don't need to be pressed at the same instant; you can press and hold one of the rotation keys to rotate 90°, and then rotate another 90° in the same direction by pressing the opposing rotation key.

Game Controls
Key Action
J move left
L move right
I Space firm drop (locks on release)
K soft drop (locks if already landed)
Z D rotate counter-clockwise
X F rotate clockwise
Shift S swap active and next pieces
Backspace start new game
Pause P pause/play
09 change level
Key Option
= toggle slipstream (pieces can slip diagonally into spots they otherwise couldn't)
Tab new pieces enter the board facing upward or downward
~ change tile-set (solid, square, shaded, or waves)
- black or shaded background
F3 change repeat rate for left and right keys
F4 outline board on/off
F5 decrease delay before left/right keys autorepeat
F6 increase delay before left/right keys autorepeat
F7 decrease delay before piece locks into place after landing
F8 increase delay before piece locks into place after landing
F11 decrease board width
F12 increase board width