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)

Post-Release Comments

@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


P#88163 2021-02-25 16:21

the best pico tetris clone i have seen!

P#90536 2021-04-14 14:03

got score of 209 lines cleared

P#91503 2021-05-04 20:18


P#91756 2021-05-10 13:51


P#95703 2021-08-06 00:46

that's not how you do 4w

P#96315 2021-08-21 14:34

It's really good, well done.

P#96416 2021-08-24 15:25

yesssss, finally got that magical 150 lines

P#96732 2021-08-31 17:52

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2021-10-27 09:52:52 | 0.132s | Q:88