Log In  

Cart #picotetris-5 | 2019-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Another Tetris clone, I know :P

I managed to squeeze in an extra mode, take a look if you want!

Why are you reading this, it's Tetris, you probably already know how it works

Anyways, this clone is guideline-compliant in large parts (except where the guideline is boring or confusing to me), including Standard Rotation System and kicks. It has a steep difficulty curve, and a lot of options to adjust gameplay, animations, or Tetromino sprites (I have 16 now!).

I implemented 9 different modes, and up to 3 highscores are automatically saved per mode (options are also automatically saved btw)

If that description was too dry and boring (writing it wasn't much fun either, so I understand you), it also has lasers and poorly drawn donuts, what more could you want from a game?

Thanks to @Actually_Ed and @DavidMazarro for some great ideas!


  • ⬅️/➡️
    -shift Tetromino

  • ⬇️
    -soft drop Tetromino (locks if hard-drop set to non-locking!)

  • ⬆️
    -hard drop Tetromino (locking by default, can be toggled in options)

  • ❎/🅾️
    -ccw/cw rotation (can be inverted in options)

  • ❎+🅾️

  • Enter
    -Pause menu (with options to retry, go back to title, or mute the game)


  • Survival (new!)

    • Single rows of garbage are randomly inserted at the bottom, see for how many line clears you can survive!
  • Infinite

    • There is no winning condition, you just go on until you top out or you get bored
  • Marathon

    • Game ends after you cleared 150 lines
  • Sprint

    • You have 2 minutes to clear as many lines as you can
  • Garbage

    • When you start the game, the well is filled with 15 lines of garbage, clear them all as fast as possible
  • Combo

    • The well is filled with walls of respawning garbage left and right, making combos incredibly easy
  • Master

    • Marathon mode, starting at lv 20 (instant gravity, and very low delays, extremely difficult!)
  • Invisible

    • Yeah good luck with that one, idk why I even implemented it
  • Secret Grade

    • It's a secret, don't you dare look it up


Please note these are all from old versions, I'm just too lazy to update them

Title screen

Options menu

Standard mode, standard sprites, standard everything

Alternate sprites, don't like these as much

This one's so good

Here is an image of garbage mode, with another good set of sprites (btw theres a rounded version of this one too)

This is what combo mode looks like

The mode that you shall not play


  • 0.9.1

    • Added Secret Grade mode
    • Changed Combo mode so walls are rebuilt as you clear lines
    • Combo mode ends if you drop the combo
    • Small changes to how hold works
  • 0.9.3

    • Different mode descriptions
    • Automatic saving and loading of options and highscores
    • Highscore menu, with option to delete all scores
    • Mini Tetrominoes in preview can now use the downscaled preview sprite
    • Changed game over screen to show your score if appropriate
    • Probably a bunch of other minor stuff I lost track of
  • 0.9.5

    • Mostly animations: for line clears, hard drops, backgrounds
    • Forgot about any other changes, probably just minor stuff
  • 1.0

    • I kept notice of my changes this time
    • When hard-drop is non-locking, soft-drop locks instead
    • Levelling is now static (30 lines/level)
    • Gravity increases twice as fast per level now (not sure if that makes it harder overall than before)
    • Line clears give more points on higher levels
    • Introduced higher delays between pieces
    • Why do you even read this
    • On higher levels, ghost/grid disappear, also delays incrementally decrease (brutal difficulty above lv20)
    • Highscore shown to the right
    • Several UI changes, SFX in menus
    • Progress bar and background grid (both adjustable)
    • Optional laser SFX for line clears
    • Game can be muted from pause menu
    • A bunch of new options to play with
    • Some new sprites, including donuts
    • Bugfixes
  • 1.1

    • Survival mode
    • Progress bar is now on by default

Old versions

Cart #picotetris-4 | 2019-04-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #picotetris-3 | 2019-04-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #picotetris-2 | 2019-04-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #picotetris-1 | 2019-04-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #picotetris-0 | 2019-04-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Any feedback and recommendations welcome! <3

P#63193 2019-04-02 18:34 ( Edited 2019-04-29 13:11)

All Comments

As a huge Tetris fan, this has been my favorite Pico-8 tetris clone so far! It's got a whole bunch of modes and options that I love. I think I see a bunch of TGM influences, too. :p
Here are my recommendations:
When locking hard drop is turned off, let down be the lock button instead.
In invisible mode, show the playfield in all its holey glory when the game is over.
Make line clears a bit more flashy! Add some particle effects or something, have fun with it :p

P#63370 2019-04-10 03:44

Sometimes I think up is the rotate button when it's actually hard-drop!

P#63448 2019-04-12 12:10

Amazing Tetris clone, has everything people want in a classic Tetris game (and some, with the extra sprites). :)

Also, "relaxing game of Tetris" can be an oxymoron sometimes, can't it?

P#63482 2019-04-13 21:30

Thanks, glad y'all like it :D

@Actually_Ed great recommendations!
So what you're saying is, if hard drop doesn't lock, make soft drop lock? (if the Tetromino is on the floor ofc)
Also I had big plans with animation, like line clears, screen fades or shakes, a prettier menu, but I'm close to hitting both compressed size and token limits, I don't know how much more I can implement and what to give up first :/

P#63615 2019-04-17 14:40

WOW! This is seriously one of the best Tetris versions I've ever seen, no joke. I specially love the animations you added in 0.9.5, it makes it so satisfying to play. The only thing I miss from other Tetris versions is the ability to save a tetrimino for later, but I understand that it's a PICO-8 limitation that you only have two buttons.

Did you base your animations in some resource out there, or did you come up with them on your own?

P#63778 2019-04-21 19:55

@DavidMazarro thank you! I also noticed I like it so much more now, even though core gameplay hasn't changed a bit - fascinating what a few simple animations can do, right?

About coming up with them on my own - depends on what you mean. Some were inspired by other games, though I didn't closely copy any one, some I just thought "Hey what if I did this thing, how would that look, lets try". Then I just enabled all at once and realized how well the swoosh and the crumble animations fit together, it looks like a Tetromino-seeking laser now :D

Also, you can actually do that, you need to press both buttons at once (that is what "hold" in the top left corner means). I guess I'll put a small hint in the game, thanks for pointing that out!

P#63781 2019-04-21 20:51 ( Edited 2019-04-22 10:39)

@Vanessa Ohh, I see! Then this is pretty much perfect!

Some suggestion I thought of: it would be cool to have some background pictures for the play area where tetriminos fall. Though maybe it would be better to prioritise other things, knowing that you're already reaching the token limit.

P#63783 2019-04-21 21:17

@DavidMazarro A still background would be doable, it would primarily take sprite/map space and a few tokens for the map() call, I'm just not sure if I could come up with something fitting (although that's what kept me from trying animations so long and they turned out fine)

The other thing is that I think backgrounds might be distracting for some people, yet I don't have the tokens left for an animations/backgrounds menu :/

Perhaps I'll just try and see how it turns out, thanks for the suggestion!

EDIT: ok so this is probably not what you had in mind, but I just tried putting in a grid (along with new ghost colors) and this is what it looks like:

I'm really not sure yet if I like it, especially with that leftmost column, and the ghost piece looking less like a shadow now (leaving it dark grey makes it melt into the grid lines)

P#63827 2019-04-22 10:38 ( Edited 2019-04-22 12:18)

@Vanessa Yeah, once again when I was thinking of a background, I had in mind something with dim colors, but I didn't consider the restricted color palette of the PICO-8.

I think the grid is cool, maybe you should allow in the options to turn it on/off, but I definitely like it :)

P#63884 2019-04-23 16:13

Wow, this is much more eye-candy and features than my Tetris clone! I think I can learn how to do proper animations here, too. Thanks for the great cart!

P#63887 2019-04-23 16:48

@DavidMazarro ok done, you can now choose from 8 different grid styles (0 being blank)

@bob1996w Thanks! Feel free to take a look and ask me if anything is unclear :)
Btw, I've played your tetris before, thats where I got the idea to offer several sprites for the different types of blocks, so thanks for your cart too! <3

P#63986 2019-04-26 14:17

Love the new changes! Thanks for doing the soft-drop-lock thing, that's personally my favorite way to play. The options sticking around is nice, too! I also think the new difficulty curve on gravity is much better. I see you're reeeeally squeezing those tokens, so I don't really know what I can suggest without turning your code into an unreadable mess of optimizations :p

P#64008 2019-04-27 18:03 ( Edited 2019-04-27 18:05)

Great work @Vanessa !
It only missing the original song ^^

P#64272 2019-05-09 19:48
:: Domu

This is absolutely incredible. Between this and tetramini deffect we've got it all. Thanks so much for this!

P#67191 2019-09-03 17:44

very good tetris clone, lvl 5 , 55 to go, PANIC... failed.....

P#68791 2019-10-12 15:44
:: dan9er

Amazing Tetris port. Very configurable and easy to play. I see you like The GrandMaster?

P#68848 2019-10-13 21:05
:: dw817

I'm really not terribly fond of Tetris as while it's a puzzle, it's an action puzzle and I'm not very good at those.

But this cart has a feature sorely lacking in most, and that is to get a preview of where your block will land giving you a chance to rotate and position it best for a match. Makes it a lot easier for me to think about what to do next.

Nicely done ! Star for you.

P#68858 2019-10-14 02:01 ( Edited 2019-10-16 15:21)

Brilliant version! Love all the options. Additional joypad control options would be appreciated! :)

P#68930 2019-10-16 08:42

this is undoubtedly my favourite pico-8 game
everything is great, the sprites are running very smooth, the hold function works perfectly, you can start playing in seconds. Well Done, i hope to see more games like this.

it crashed somewhere at 17 lines in marathon but still.

P#71181 2019-12-18 10:01

Nice. feels very authentic, although I got a Runtime Error about 3/4 of the way through Marathon, not sure why... I wish I wrote down the error code.
(I just like to think that I played so well that the game couldn't handle it. lol)

P#74134 2020-03-23 05:14

@Custardly23 I've been encountering the same error, except it seems to occur every time I finish a finishable mode. I assume it has to do with high score saving.

@Vanessa, can you examine this more closely? It's the only flaw in this otherwise perfect game.

P#74136 2020-03-23 06:37
:: orion

@JWinslow23 I have the same issue as well. Kinda sucks because it ruins the focus and smoothness of the game. Other than that, it's pretty great!

P#75922 2020-05-06 01:59

Like @Custardly23 and @JWinslow23, I got a runtime error before finishing the 'marathon' and 'garbage' modes, here is the error code:

runtime error line 65 tab 6
  if s[i+1]>s[i]or 0==s[i] then
attempt to index local 's' (a nil value)
in addscore line 65 (tab 6)
in update_game line 310 (tab 2)
in _update60 line 47 (tab 0)
at line 0 (tab 0)

Otherwise, good job on this port! I really liked the combo mode and the number of options available.

P#76559 2020-05-14 14:04

I could be playing all my life if i didn´t lose all the time
This game is great, thanks for sharing

P#76560 2020-05-14 14:14

Really, really clever!
I kinda want music in the game tho, maybe we could team up or something.

P#76694 2020-05-16 12:19
:: Mot

I also broke the game with my ninja Tetris skills :-)

But also, wow, there's some seriously high production values and attention to detail going on here.
And I've only tried marathon so far.

P#76820 2020-05-18 07:54

Great version of tetris, but found a bug:


P#77465 2020-05-31 22:46
:: Coko

What a great port!!!

It got super fast, but then it broke :(


P#78113 2020-06-15 09:32

I figured out how to fix the crash upon clearing certain modes!

On code tab 6, there's a function called INV_SCORES. It gets called when a mode is cleared to record high scores. It takes every value in a list and multiplies it by -1.

For some reason, the RETURN S line is commented out.
The crash can be fixed by uncommenting this line.

P#78382 2020-06-22 04:29 ( Edited 2020-06-30 23:12)

That’s a fantastic version of Tetris! Just wanted to look at some of the games before starting to work on my own pico-8 project but ended up playing this for hours!
@MarkGamed7794 Thanks for the crash fix!

P#78729 2020-06-30 22:30

Game crashed as soon as I cleared a line.
Blocks were going fast, so I think I beat the game?

P#78784 2020-07-02 06:31

Very nice version and plays very well. Big thumbs up from me.

P#78796 2020-07-02 16:08

Great game! However I think I might have maxed the game out as it crashed as I was playing https://imgur.com/a/yLMhIoQ

P#79221 2020-07-12 20:27

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2020-11-28 02:13 | 0.251s | 4194k | Q:168