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?
-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)
-Pause menu (with options to retry, go back to title, or mute the game)
- Single rows of garbage are randomly inserted at the bottom, see for how many line clears you can survive!
- There is no winning condition, you just go on until you top out or you get bored
- Game ends after you cleared 150 lines
- You have 2 minutes to clear as many lines as you can
- When you start the game, the well is filled with 15 lines of garbage, clear them all as fast as possible
- The well is filled with walls of respawning garbage left and right, making combos incredibly easy
- Marathon mode, starting at lv 20 (instant gravity, and very low delays, extremely difficult!)
- Yeah good luck with that one, idk why I even implemented it
- It's a secret, don't you dare look it up
- 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
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
- 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
- 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
- Mostly animations: for line clears, hard drops, backgrounds
- Forgot about any other changes, probably just minor stuff
- 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
- Survival mode
- Progress bar is now on by default
Any feedback and recommendations welcome! <3
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
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 :/
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?
@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!
@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.
@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:
@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 :)
@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
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
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.
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.
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.
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.
Really impressed with this! I like a Tetris game that has high enough difficulty options to make me sweat.
I want to implement TGM-style top layer flash, so I'm playing Token Golf - I'm going through your code and looking for ways to save tokens, see what else can get squeezed in here.
With help from a friend, I've squeezed some 200-ish tokens out, mostly via:
- the floor division operator, backslash
- flr(rnd(x))+1 became a function
- removing unnecessary parentheses, rearranging some expressions to make parentheses unnecessary
...and some more elaborate rearrangements when I noticed an opportunity.
there are certainly more opportunities here, but there's now more headroom to develop in. Wanted to share this in case the original author - or others! - wanted more space to add complication with.
No new behaviors yet, this is all golfing.
hey! i'm kistaro's friend. reduced it by like 400 more tokens. the most significant gains came from greatly simplifying the DAS code, rewriting the kick code (and fixing a bunch of bugs in the process) and deleting a bunch of stuff that wasn't used. cheers, this game rocks!!
I have spent all the tokens we reclaimed - and many more, I deleted more dead code and made increasingly aggressive token optimizations to get here - to implement a mode inspired by Arika's "Tetris The Grand Master" series. It has no credits roll challenge, but it does have a TGM-style level system, grading system, and a substantial increase in core game difficulty by using step reset rather than move reset (just moving a piece does not extend the lock timer, you must move it down to a row deeper than the piece has been in before) and preventing floor kicks from popping the piece all the way back up in the air (my algorithm has weird consequences if you carefully climb up a pyramid, run to the wall, and kick it - the piece plummets - but this seems like a very fringe scenario). It also uses a 3-bag randomizer rather than a 1-bag randomizer, so floods and droughts are much worse.
Try "Grandmaster" mode to check it out!
Additionally, does anyone here know a way to reach the original developer? She seems not to have been here for years. I'd love to thank her for her work, and show her what we did - and also give her a copy of one of the versions where we reduced the token count a bunch, since I know she wanted to implement her own additional modes.
This cartridge is very full, and I don't see a way to do a lot more with it without removing things. So, if I want to keep hacking on this, I think I'll copy this to a new PicoTetris cart that always uses the Grandmaster-style rules (so I can delete the logic specific to the standard rules) and removes basically all the "normal" modes - that might free up enough space for Shirase mode to have some surprises.
I wish there was a setting called “Pro controls” which changes up the controls a bit. Left, Right, and Down stay as normal, but the up button will rotate clockwise and a will be used to rotate counterclockwise. The hard drop button will be Space and c is used for hold. (I called it pro controls because the controls will be more familiarised to pros.)
[Please log in to post a comment]