Dual Tetris Tetris clone where the player controls two games simultaneously

In the short time between finishing my MSc at Hull and starting at Team17, I created a clone of Tetris purely for fun.
Usually, I would have chosen a more challenging project. However, I'd been looking for a medium to play two games of Tetris at once but was unable to find one. Therefore, I created one.


• Written in C++ and OpenGL.
• Uses MVC architecture, convenient to make multiple instances of the game board.
• Single board mode -- the player controls one game.
• Dual board mode -- the player controls two games at once.
• Synchronised score bonus -- in dual board mode, the player gets a large bonus for clearing a line on both boards at the same time. Special bonuses are given for: dual Tetris, triple and double.
• Interval drop mode -- a game mode of my own devising, the current tetromino drops at a fixed interval whether the player is ready or not. This forces a constant tetromino per minute.
• Invisible piece mode -- a game mode known to only the most hardcore of tetris players, the tetrominoes disappear upon being placed.
• Toggle-able game modes -- each mode can be toggled via GUI so the user can have any configuration they please. For example, it is possible to have dual board with invisible tetrominoes or even invisible interval drop mode.
• Score board -- the game serializes a score board, there is one score board across all game modes. However, each mode gains bonuses for its difficulty. This allows the player to either be very successful at an easier mode or partially successful at a much more difficulty mode.
• Adjustable next queue -- the number of next tetrominoes being displayed can be changed.
• Ghost piece -- a semi-transparent piece showing the user where their tetromino will drop is displayed (toggle-able).
• Hold -- the user can hold a piece and swap it upon placing the current tetromino. The user receives a 100% bonus until the hold is used (once). i.e. The player is rewarded for not using hold.
• TGM mechanics -- Tetris Grand Master edition is an arcade version of Tetris that has mechanics similar to the NES version of the game. Dual Tetris's mechanics are based on TGM.
• Sounds -- the game has sound effects for: Tetrises, lines, rotate left, rotate right, hard drop and game over.
• Animations -- line removal, Tetris and game over.
• Adjustable DAS -- delayed auto shift.
• Adjustable ARR -- automatic repeat rate.

Fancy trying it out?

Download a zip of the executable Here or Here.


Left board:
A - move left
S - soft drop
D - move right
Q - rotate left
W - hold
E - rotate right
Space - hard drop

Right board:
J - move left
K - soft drop
L - move right
U - rotate left
I - hold
O - rotate right
Space - hard drop

P - Pause game
F5 - restart / new game

When there is only one board on the screen the controls default the left board configuration.