I created an ASCII Tetris with Python using Pygame! Tetris has always been one of my favorite classic video games. I remember playing it on Facebook and competing with my friends in the multiplayer game mode. However, the game was taken down a few years ago. That’s why I want to recreate the game on my own. I also made the game in ASCII art style to pay tribute to the original version of Tetris created by Alexey Pajitnov in 1985.
I am really happy with how the game turned out. I learned a lot more about how Python and Pygame work, and also the difficulty of creating a game. I was expecting that I am able to complete the game very quickly and able to add a lot more features since there are a lot of tutorials on YouTube about how to create Tetris, but it took me a lot a lot longer. I hope I will have more time in the future to add other features and make it into an executable.
Installation Steps
- Install Python 3
- Install PyGame (use terminal and enter pip3 install Pygame)
- Download and unzip the game file
- Done!
Running Instruction
- Use desired IDE or terminal to run the MAIN.py file
- Press 1 to play with the default settings
- Press 2 to change different blocks or color themes
- After finishing adjusting the settings press 6 to go back to the main menu and press 1 to start the game
- Press ESC to exit to the main menu while playing
![](https://kylelinvfx.com/wp-content/uploads/2023/06/image-6-1024x805.png)
Game Play
- ↑ to rotate, ↓ to move down, → to move right, ← to move left
- Space to drop, shift to hold the block
- Gain 1 point when moving down, 10 points when dropping
- Gain 100 for clearing 1 row, 300 for 2 rows, 500 for 3 rows, 800 for 4 rows
- 300 points per level, and 50 levels in total
( Instructions are also displayed in HELP section while playing )
![](http://kylelinvfx.com/wp-content/uploads/2023/06/Screenshot-2023-06-21-at-3.30.55-PM-1024x802.png)
Settings
There are currently 9 different blocks and 5 different color themes to choose from. Users can press the according key shown to select the desired setting.
![](https://kylelinvfx.com/wp-content/uploads/2023/06/image-2.png)
![](https://kylelinvfx.com/wp-content/uploads/2023/06/image-4.png)
Possible Future Features
If I have more time to update the game in the future, here are some of the features that I would like to add.
- Game History Leader Board
- Pausing the Game
- User Block Input
- User Color Input
- 2 Player Mode