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.
|← 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|
|0 – 9||change level|
|=||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|