NullpoMino

NullpoMino is a cross-platform, open-source Tetris fan game notable for variety of gameplay modes and customizability. It is a Tetris clone written in Java providing three versions: One using Slick, another using sdljava, the last using Swing. It was created by NullNoname. It simulates numerous games, including the TGM series, and contains a utility for creating (and editing) your own custom rotation systems as well.

NullpoMino is one of the few Tetris games, official or not, with a truly cross-platform online vs. mode, the others being TetriNET, Blockbox, Tetris Friends, and MultriNet. Blockles also would have been on this list before its demise.

Game Modes
All of the game modes with "Mania" in their names are based directly on TGM modes, except for the two added by Zircean: Retro Mania simulates Sega Arcade Tetris, while Phantom Mania takes the Death speed curve and makes it invisible.


 * Marathon: Guideline 15/20 level Marathon with fixed Goal system
 * Marathon+: Survival mode from Tetris Friends. It has semi-invisible bonus challenge at level 21.
 * Extreme: Plays like Master mode from Tetris Zone. A 20G mode with guideline scoring rules.
 * Line Race: A 40 line game. The goal is customizable from 20, 40, and 100 lines.
 * Score Race: Race to specific points (10000, 25000, or 30000). Plays similar to Tetris Evolution's Score mode.
 * Dig Race: Break the bottom of 5, 10, or 18 lines of garbage as fast as you can.
 * Combo Race: In a special playfield four (default) columns wide, try to make a single combo as long as possible. Lines auto-regenerate until the quota reaches the goal (20, 40, or 100 lines).
 * Ultra: Timed score (or lines) attack.
 * Technician: Challenge mode from guideline games. Uses variable Goal system.
 * Square: The New Tetris/Tetris Worlds Square mode (use rule: Square). The wallkicks are wrong.
 * Retro Marathon: Nintendo's NES Tetris and Tetris & Dr. Mario (SNES) -- very inaccurate, as various features particular to NES Tetris are unimplemented. Also includes Arrange, which extends the gravity table of Type-A to exceed 1G. (use rule: Nintendo-R)
 * Retro Mastery: How efficient can you be? A GPA-like efficiency rating is given at the end of the game, and Tetrises only add three lines to your total, in order to give you more time to score points before getting to the faster levels. (use rule: Nintendo-R)
 * Retro Mania: Sega Arcade Tetris  (use rule: Classic0)
 * Grade Mania: Tetris The Grand Master  (use rule: Classic1)
 * Grade Mania 2: Master Mode from Tetris The Absolute The Grand Master 2 PLUS (use rule: Classic2)
 * Grade Mania 3: Master Mode from Tetris The Grand Master 3 Terror-Instinct (World rule: Standard-Hard; Classic rule: Classic3)
 * Score Attack: Normal Mode from Tetris The Absolute The Grand Master 2 PLUS -- item blocks at 100 and 200 unimplemented (use rule: Classic2)
 * Speed Mania: T.A. Death Mode from Tetris The Absolute The Grand Master 2 PLUS (use rule: Classic2)
 * Speed Mania 2: Shirase Mode from Tetris The Grand Master 3 Terror-Instinct (World rule: Standard-Hard; Classic rule: Classic3)
 * Garbage Mania: TGM+ Mode from Tetris The Absolute The Grand Master 2 PLUS (use rule: Classic2)
 * Phantom Mania: Original invisible survival mode based on T.A. Death mode. (use rules: Classic3, Classic2)
 * Final: From Heboris Mini. Play without tool-assistance at your own peril.
 * Time Attack: Line-based time attack modes from or inspired by Tetris The Grand Master ACE. (use rules: Classic-Easy-*, Standard-Hard128)
 * Practice: A training mode with various options.
 * Gem Mania: Sakura Mode from Tetris The Grand Master 3 Terror-Instinct (World rule: Standard-Hard; Classic rule: Classic3)
 * VS-Battle: Guideline style 2-players battle mode.
 * Tool-VS Map Edit: map editor (not a real game mode)
 * Avalanche: Puyo Pop (use rule: Avalanche)
 * Physician: Dr. Mario (use rule: Physician)
 * SPF: Super Puzzle Fighter II Turbo (use rule: SPF)

Trivia
Although 64-bit users can't play NullpoMino normally, there is a way to play the game: Simply right click edit the .bat file you are trying to open. Add this to the top of the file, changing the "c:/Program Files (x86)/java/jre6/bin" folder to wherever your javaw.exe is located: set path=%path%;c:/program files (x86)/java/jre6/bin