Log In  

Cart #marble_merger-3 | 2023-11-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Seems like everybody's making a clone of Suika Game these days - here's mine!


Drop marbles into the container - if two marbles of the same size touch each other, then they merge together to form a single larger marble, and you get some points (larger merges have larger value). If a marble comes to rest while going past the top of the container, you lose!

It's an endless game, so post your high scores in the comments!

Extra Thoughts

My main goal here was to make this version of the game look and feel as smooth as I could manage. The three features which are most relevant to that goal are:

  • 60 FPS
  • Custom "slightly squishy" physics
  • Antialiased circle-drawing

I've been thinking about adding a mouse-only mode, which could make the game comfier to play on a phone. Let me know if that appeals to you, or if you have other feature-requests! I'm also happy to answer questions about how any part of the code works.


  • 1.0.2: Adding a drop-cooldown and antialiasing-toggle in pause menu
  • 1.0.1: Adding "circle of evolution" to UI, bugfix in transition-rendering
  • 1.0.0: Original upload
P#136646 2023-10-31 01:07 ( Edited 2023-11-01 03:18)


The physics is fantastic!

Best score so far: 1032

P#136648 2023-10-31 01:42 ( Edited 2023-10-31 08:29)

Why is this the most fluid PICO-8 game I've ever played??? Well done!

P#136649 2023-10-31 01:58

Addictive and oh so satisfying! 571 is my best so far, but I think I have a much better run in me.

P#136650 2023-10-31 02:32

score of 543!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

P#136655 2023-10-31 03:30 ( Edited 2023-12-28 06:23)

Very nice game!
BTW my score was 1349.

P#136657 2023-10-31 06:16

I have a suggestion, possibly make the cooldown between drops just slightly longer, I got a higher score spamming than I did thinking about my moves and waiting for things to settle, thanks to the entropy of it bouncing all around

P#136658 2023-10-31 06:29

the squishyness adds a lot to the gameplay 👌

P#136660 2023-10-31 07:00

The physics is so good that I can carefully aim shots to dislodge marbles to make them merge with others. One niggle, however: the movement of the dropper is really frustrating -- it keeps moving a little after I release the button, so I have to move it back and forth trying, and usually failing, to get it lined up where I want.

P#136662 2023-10-31 08:17

This is really good! You did a good job on the physics!

P#136667 2023-10-31 10:07 ( Edited 2023-10-31 10:08)

Got 1395 this morning! This is such a satisfying game to play, I'm hooked.

P#136693 2023-10-31 18:28

This is fantastic! I can't stop playing it. Well done!
Add some catchy music and this is perfect.

P#136696 2023-10-31 19:29

Awesome realization! Why don't you make with @spoke one ultimate game with hes artwork and music and your physics? It will be easily one of the pest pico remakes ever!

P#136735 2023-11-01 11:37

love the squish

P#136740 2023-11-01 13:35

What a game!

P#136753 2023-11-01 17:10

@dredds - that is a pretty wild score! the best i've gotten was just over 1,000.

you're the second person to ask about more precise aiming...another request i've gotten is a pinball-style "tilt" feature, and both of those might want that X button...but maybe i can adjust the way the default movement works (starting slow and accelerating as you hold it longer?) to avoid needing to use the extra button for a "slow movement" mode

P#136755 2023-11-01 17:51

If the other person asking for precise aiming was on Mastodon, that might have been me!

Rather than a tilt feature, how about being able to hold down the "drop" button to launch the marble with more force? And/or being able to adjust the angle with the left and right buttons before releasing the "drop" button?

P#136772 2023-11-01 22:23

Niiice! Simple addicting yet challenging at the same time. I have to work harder to reach 1000.

P#136783 2023-11-02 07:38


P#136858 2023-11-03 16:33

Amazing game, the physics have just the right amount of squish, impeccable tuning. I love it.

P#136860 2023-11-03 17:15 ( Edited 2023-11-03 17:15)

@Inkcat78 and @luchak - those scores are insane, good job! makes me wonder if 2k is possible...

P#136865 2023-11-03 17:43

I'm not sure if I'm a contender for hittin 2k but I improved 1.5k to 1.6k finally so that made me happy

P#136932 2023-11-04 22:58

Been looking forward to getting my hands on this.
The squishy physics is so satisfying!

P#136938 2023-11-05 02:54

Great game, great physics! Better than the original version. I don't care if there are fruits or balls.

P#137088 2023-11-07 19:06 ( Edited 2023-11-07 19:07)

This is one of my new favs. I have it bookmarked

P#137198 2023-11-10 02:07

We LOVVVE this game. I'd love to see inertia added, like if your cursor is moving, your marble will take off on an angle. Like, put a little 'english' on it.
My high score is 1356...oddly enough, I think the first time I played it. Got the wife addicted to it.

P#137394 2023-11-14 01:20

Such an enjoyable and addictive play mechanic, so fantastically executed!

P#137866 2023-11-24 21:23 ( Edited 2024-02-21 11:27)

Ended up here looking for inspiration on physics, ended up having to play a second time to crack 1k (1174) because it's just TOO MUCH FUN

Update: mildly addicted, got to 1600. This is amazingly "immersive" for 16k pixels.

P#137878 2023-11-25 08:18 ( Edited 2023-12-08 21:03)

Better Physics than the original. I got 1375

P#137986 2023-11-28 19:24

My sons Hgh Score

P#139057 2023-12-23 00:57 ( Edited 2023-12-23 00:58)

@Helacaster - wow, that's a great score!

P#139058 2023-12-23 02:06

I had to register an account just to let you know how much I love this game. I wish I could buy it on Steam honestly.

P#139127 2023-12-24 22:23

I'm a simple guy. I see bouncy jiggly balls, I play with them.

Fun game. Very satisfying.

P#139224 2023-12-26 23:24

Amazing work, the squish adds so much to the gameplay!
First run: 888

P#139413 2023-12-30 16:30

Nicely made! Love the squish physics. :)

P#139418 2023-12-30 18:10

Played it every day since I downloaded it, amazing. The merging and ensuing chaos is so satisfying.

P#139546 2024-01-02 18:19

This is so good, definitely going on my RGB30.

P#139881 2024-01-09 11:43

Fantastic job the physics feels great. The antialisaing helps loads.

1135 first attempt

P#139970 2024-01-10 21:59

Please, add this game's art to screenscraper

P#140140 2024-01-15 01:57

Help, I don’t understand why this game gives an error on my Miyaoo. I download marble_merger-3.p8 - it gives an error.
All the rest of the program is fine.

P#140258 2024-01-17 12:51 ( Edited 2024-01-17 12:53)

@Hedgehog-77 - well that's weird! i've never used that device so i don't really have any guesses offhand, but i'll ask around and see if anyone has any ideas

P#140268 2024-01-17 16:20

@Hedgehog-77 - someone in some forum thread suggests that it might be related to bad autosave data, so maybe try deleting the autosave file for this game? maybe not good enough if it broke on the first run, but worth a shot i guess. the only info this game actually tries to save is the high-score and the enable/disable antialiasing setting.

i also see someone saying that FAKE-08 struggles with games that were saved from more recent versions of Pico-8 - so maybe it's worth importing the game into an older version of the engine, saving it from there, and then trying with that "old fashioned" .p8 file? i don't think this game is using any brand-new features, so an older Pico-8 build might be able to run it, but it might complain about loading a cart that was made in a newer version - if so, you might be able to gradually reduce the version 41 line at the beginning of the .p8 file until it accepts it. this might cause it to load incorrectly, but it's worth a shot. if that doesn't work, you could also manually copy the game over to a fresh cart in an older version - it's just code and sound effects, no sprites/map. note that lots of sound effect slots are empty on startup and get populated by the code, so if you copy sounds over manually, make sure you get all of them (the last slot with content at edit-time is 26).

a more extreme fix: you could try removing all the dset()/dget() calls, since those are the places where it's reading/writing saved data, and maybe that's what messes it up. this would remove support for saving stuff permanently to disk (your highscore and the antialiasing setting), but if you want to try that, it'd need a few small changes to the code:

during startup, antialias=(dget(1)==0) can be changed to antialias=true (or false if you want the game to turn off antialiasing by default), and then inside of inside of toggleantialias(), the line dset(1,antialias and 0 or 1) can be deleted entirely. once that is done, you should still be able to toggle antialiasing from the pause menu, it just won't save your choice for later, when you quit and re-open the game. it's worth trying to run it again after making these changes to the antialiasing storage, because this is the one place where it calls dget() during startup, and maybe that's bad on the device, somehow.

if that doesn't do it, you could try removing the permanent highscore stuff, as well. you'd need to add a new highscore=0 var on startup (next to the edited antialias=true line would be fine), and then you'd also have to change this bit in resolvecollisions():

if score>dget(0) then


if score > highscore then
    highscore = score

and finally, in drawscore(), local n=dget(0).."" becomes local n=highscore.."". at that point, there should be no more usages of dget() or dset() anywhere. it'll track your highscore across multiple playthroughs inside of one launch of the game, but when you quit the game entirely and re-open it, the highscore will reset to zero.

P#140270 2024-01-17 17:08

@Hedgehog-77 - another dev suggests that if you're trying to run it with FAKE-08, you should try this wrapper for real-pico8 instead. he says the game fails for him with FAKE-08, but runs correctly with the real-p8 wrapper (on a Miyoo)!

P#140273 2024-01-17 17:29

Excellent excellent game. Well done! Reading through the comments the only suggestion I'd second would be to have a moving curser add a little inertia to the drop. That seems like it would be elegant and in keeping with the game as it stands. not sure it even needs it though.

visuals and sound design are fantastic. If you could add some optional music it would be nice. But it would to be top shelf repetitive tunes to match the standard of the rest of the game :-)

P#140910 2024-01-31 09:25

This game rocks hard, which is weird cos its so squishy at the same time!

P#140960 2024-02-01 00:49

I got 767 Points by Just spaming the O Button and no < or >. Stil a solid game!

P#142347 2024-03-03 12:11 ( Edited 2024-03-03 12:11)

This is super fun! I love the physics of the balls, it makes them look extra squishy

P#142624 2024-03-08 19:00

Love this! Great physics.

P#142638 2024-03-08 21:08

Your physics engine doesn't account for a kind and loving god, because no good god would allow for this to happen.

P#142689 2024-03-09 16:36

Finally broke out of the 1600's! This one took a while.
Love the game.
I've been thinking about what a practice mode could look like... Maybe hitting the 'X' button could skip to the next ball? It's hard to toy with the physics of the bigger balls, about brown stripe and higher, because it's hard to get more than one on screen at a time.
Then of course it doesn't count for high score! :P

P#144556 2024-03-26 17:36 ( Edited 2024-03-26 17:36)

[Please log in to post a comment]