I started making a remake of the flash game “Sugar, Sugar.” I have the sugar physics (mostly) worked out, similar though not exactly accurate to the original game’s. I might change some of the assets to like sand or something, but this is just a proof-of-concept that this is feasible in Arcade. It doesn’t use sprites, but instead draws pixels to the background using arrays. It’ll even (somewhat) run on hardware! I get ~24fps on my PyGamer with around 300 pieces of sugar!
Use A to draw normally and B to draw lines. There is no real winning screen though, but you can get sugar into the mugs like the original game.
I can adjust the amount of sugar, and around 5,000 is the most the sim can run (on my pc) without losing frames. Here’s the game with A LOT of sugar.
Let me know if you want to see more mechanics added. I’m thinking about the ability to change gravity like in the original.
Here’s a level (its not too difficult, but may take a couple of tries), it just shows how an actual game like this would play out. (as well as being an unintentional partial remake of Sugar, Sugar 3’s 2nd level but mirrored)
I feel like this game will be much bettew once mouse support gets implemented, but I’ve done the best I can for now. Let me know if you all would like lines not being drawn where sugar is (like right now) or lines deleting sugar in its path. These are likely the only two solutions, as pushing sugar outside of drawn lines may be difficult and appear glitchy (and make it lose a bit of performance).
@Luke Their locations are stored as locations in an array. Each frame, when the particles update, the pixel location in the array gets cleared and placed in the next location. The sugar is coded to go left and right at random and fall. Before they move, they check if there is a wall where they will move and if there is one, they stay in place. Collision, cups, and sugar-color-changers are different colors on the background layer, and certain interactible objects are black and covered by sprites. When sugar overlaps black, it checks what sprite it is overlapping and does a specific behavior, such as changing color or being absorbed by a cup its own color. This is a basic summary of what happens in the code. Also sorry for taking so long to respond.