Tetris Platformer Game

Tetris Platformer - Description

This project is still in progress


This project is a simple hybrid of Tetris and platforming. The player controls both a platformer character and the Tetris pieces. The environment scrolls constantly to the left, and the player must drop Tetris pieces intelligently so that a path is made across the landscape for their character. Aligning five or more Tetris blocks in a row causes them to be removed in a manner similar to regular Tetris. The game is written in C++ with Direct3D 11 and is designed to run using the Windows RT API for Windows 8 store applications.

Gameplay Screenshot

Basic Asteroids

This project was originally created as a submission for a university hackathon contest. It won first place and my prize was a free Microsoft Surface RT tablet, which I have now been targeting this game to run smoothly on. The game uses the Direct3D11 Game Engine I have been working on.

The game is capable of running on ARM, x86, and x64 systems -- the engine works on all but is optimized for x64.


The concept of the game is simple. The player must manuever the platformer character (a sphere currently) while simultaneously manipulating the Tetris pieces to create a safe and navigatable path for the character. The levels are pre-generated with perlin noise to create a bare-bones level with blocks too far apart or too dense to navigate. The player can use the Tetris pieces to either create bridges for the character to jump on or clear tunnels by aligning five or more Tetris blocks to remove them.

The game was originally intended to be for two players. One player would control the platformer character, and the other would control the Tetris blocks. However, after testing the controls alone with WASD controlling the character and the arrow keys controlling the blocks, I found that a single player controlling both is reasonable and a satisfying challenge.


  • A - move character left
  • D - move character right
  • W - character jump
  • Left Arrow - move Tetris piece left
  • Right Arrow- move Tetris piece right
  • Up Arrow - rotate Tetris piece
  • Down Arrow - move Tetris piece down fast

Current Development


I am currently uncertain the pacing I wish to target the gameplay. Games such as Mario allow for unlimited time to line up the perfect decision or move for your character, whereas this game currently forces players to quickly decide what to do next, possibly removing potential depth from the gameplay. I will possibly attempt to find a way to smooth out the pacing to allow for longer average games with more time for thought, as opposed to to short games (averaging 30 seconds to 3 minutes) relying solely on twitch.

A possible solution is to add more gameplay elements such as power-ups, weapons / abilities, and enemies. This could increase the number of options available to the player to prolong the game without having to slow down the pace.


So far, the controls are only set up for keyboard. To be submitted to the Windows Store, the game must have touch-only controls in addition to keyboard controls.

Game Modes

There will likely be at least two modes: A simple "speed" mode, and a mode with more depth. The speed mode will be a barebones version with nothing other than what's shown in the presentation and will have online leaderboards. It should be competitive.

The other mode will have whatever else I decide to eventually add to the game.


Needs a UI.

Gameplay and Presentation Video

Image of Tetris Platformer Game