generic tetromino game


generic tetromino game is a public domain extensible clone of NES Tetris. The base game remains as faithful to the original NES Tetris as possible, but the game also adds new features and includes a modding API. Download


  • end goal is to exactly replicate behavior of NES Tetris, down to the frame
  • replicates nearly all bugs in the original game, with options to fix them
  • nearly everything can be tweaked with mods: see the Lua API
  • support for saving and playing back game replays
  • leaderboard is saved to disk
  • speed is 60Hz by default, but is adjustable down to 10Hz and up to 480Hz
  • start at any level from 0 to 249
  • options are persistent and saved to disk
  • the lines per level can be set to "constant" to have every level last only 10 lines. Perfect for practicing transition!
  • custom RNG seed can be set for deterministic pieces
  • local and online multiplayer, with (optional) garbage piling
  • optional hard drop feature


Mods exist to implement different rotation styles (such as guideline rotation), lock delay, ghost piece, detailed in-game statistics (such as drought, Tetris rate, and DAS charge), and RNG algorithms (such as 7-bag).


The default controls use the keyboard. Arrow keys for up, down, left, and right; z and x for flip ccw and cw (respectively), and return for start. You probably want to remap these to something more comfortable (controllers are supported and very much recommended!)

I use the USB NES RetroPort v2 to connect an actual NES controller via USB (not sponsored, just happy with the purchase).

Future stuff

This project is still a work in progress. Here's some things that I'd like to add in the future:

  • Flesh out modding API, and move some built-in stuff to mods
  • More extensive tests showing that this actually does exactly replicate all behavior of the original, including super subtle stuff