Tetro8 is a simple Tetris clone designed to provide a "modern" Tetris experience.



Controls
By default the game uses the following controls.
- Left and Right: Shifts the active piece left and right
- Down: Increase the drop speed of the active piece
- Up: Perform a fast drop which will instantly drop the active piece to the bottom of the board
- (X): Rotate the active piece
- (O): Hold the active piece. If you already have a piece in the hold cell, that piece will be swapped in as the active piece
These controls can be configured in the options menu, which can be accessed at the title screen.
Popular options include using Up to rotate the active piece or swapping the functionality of (X) and (O).
If you're having trouble with the controls consider trying one of these options out.
Gameplay
Blocky shapes will randomly fall from the sky, increasing in speed as you clear more lines.
Your job is to organize the falling pieces such that there are no empty spaces in the play field.
If you manage to create a solid line across the board, you'll get a line clear, increasing your score and giving you more space to work with.
You can even clear multiple lines with a single piece.
See if you can use the line piece to clear 4 lines all at once for a huge score bonus!
Play continues as long as you can maintain some space on your board but if you run out it's game over
If you play really well, you might even get to log you name in the high scores.
Developer Commentary
This is my first official pico-8 cart and it really shows.
It took me a while to get to grips with lua and a style of coding that I was comfortable with.
This lead to a total mess of spaghetti code.
To anyone who dares spelunk in the code, you have been warned.
I did end up with a functional style of coding that I really enjoyed near the end of development.
I landed on using closures to encapsulate data and functionality together rather than relying on tables alone.
If you're interested in seeing that patterns in code check out the high score code as it was some of the last (and best) code that was written.
I was also really excited to discover coroutines late in development.
Early on, I was using a bunch of global counters to animate things over time.
Building a coroutine system into the core game loop really helped simplify this code.
You can look at the CO
and TRANS
functions in the --misc tab if your interested to see this in action.
Thanks to Made By Kevin on Youtube for his excellent tutorial on using coroutines for animation in pico-8.
I was quite surprised to see how quickly my 8,192 tokens evaporated.
As I said earlier, this is my first full game in pico-8 so I know that my code could have been a lot more token efficient.
Still, I was shocked that I ended up using over 7k of the 8k tokens.
I did leave a lot of debug code hanging around (which you can display with a small update to the _DRAW
function).
I also ended up switching code styles a couple times during this project which didn't help the token count at all.
Overall, I'm left even more impressed by the quality of games the community has produce with such tight limitations on code.
Credits
A special thanks to Lazy Devs and Made By Kevin who's Youtube content were instrumental in helping me get this project across the line.
Also, a big thanks to the whole pico-8 community who provided me so much great reference material and inspiration for this project.



This is a very very good take on tetris. The esthetic are amazing. The responsiveness very good, I play using a gamepad, no gliches at all. I love the options. The whole UI is really good.
Again congratulations



This is a great tetris clone, especially for a first game on pico-8. Visually it looks amazing, way better than my bland looking tetris clone



Congratulations! Very good Tetris clone.
I'm not sure if it's intentional, but you can cheat a bit during gameplay. If you keep pushing left or right, the game will not drop the next block even if the block is placed where it belongs.
Maybe that's something to consider for your next update. :)


Great clone of Tetris, really good job you did! In my opinion the left/right movements could be a little slower, maybe increasing the delay between every key press events. But for the rest I really like it!
[Please log in to post a comment]