The Origins of Sproingers & Marshmallows


Hi, I'm in the process of making a little puzzle/platformer game, which I (currently) call Sproingers & Marshmallows. In this game, you play as a little guy named Teetoe who vaguely resembles a marshmallows. The gimmick of this game is that you can grab and throw "enemies" such as a sproinger, each of which type have a unique mechanic which is used to complete puzzle-like challenges.

Despite the fact that I've only started working on this game recently, this project has actually had a fairly long history and I want to talk about all of those old games that Sproingers & Marshmallows is a continuation of. This is quite a long post, so get your popcorn at standby.

Here is a screenshot of the current state of the game for context:


I first thought of the concept of enemies being tools instead of simple challenges or annoyances from a game called Klonoa. I never actually played that game, I just watched some game review on it by like Nitro Rad or something, I don't remember who. I think in that game, you can grab some enemy type and use it to double jump or something? I don't remember.

The first iteration of this game idea is a 2019 release I made called "another platformer". It's named that because I made other platform games before. And I also had no idea what to call it. And it was also made in Scratch. (Link here) 


As you can see, the resemblance to Sproingers & Marshmallows is uncanny. But there are a few subtle differences that may be hard to spot. One is that the graphics look considerably worse. The second is that you don't actually play as Teetoe; instead you play as a green guy. And this level, which is where sproingers are first used in-game, is also probably way too difficult. The previous two levels were just basic platforming with no sproingers. But here there are, but I don't ever explain that you're supposed to bounce on them to knock them out. It's also kind of difficult to do so in the first place since they jump up and down, so you need fairly precise timing on your jump.

That would already run out the patience of most people who clicked on this game, considering this is Scratch. Most people on there are like 9 years old and don't have much gaming skill, and there are tons of more appealing games on that platform. But next, once you get to the second sproinger, you're supposed to throw it on the edge of that one block, bounce on it, and then grab onto the small seam between the ceiling and that floating block (there is ledge-grabbing in this game). I watched one of my friends play that and what they did instead was throw the sproinger on the small thin block to the left of that small gap and then jump on it. It looked more difficult to perform than my intended solution.

So it's clear that this game has a lot of flaws... But I did like the concept of the game, and while the execution wasn't ideal the idea had potential. So, about two years after I made this, I decided to revisit Another Platformer and I thought, Hm... what if I tweaked it so that you could hold onto a sproinger while bouncing off of it? Then I tweaked it so that you could hold onto a sproinger while bouncing off of it. Then I made a sequel.

It's called "cool platformer game", following the tradition of uncreative names for the game. It has several improvements and new additions over the original game. I added a bombguys, a health and checkpoint system, music, helpful in-game instructions, and even a boss battle at the end. I also replaced the green guy from the first game with a cute OC that was new at the time: Mr. Vidgame! (Later I renamed them to Teetoe.) (Link here)


I also realized when developing this game that this game would probably work better as a bit of a puzzle game. Well, the first one had some puzzles, like when you had to lure the bouncy cannonguy bullets to bounce onto a button, but I wasn't really designing them as puzzles. For this game though, I designed several challenges with the intention of making it so that it required brain over brawn (a.k.a. skill).

For example, this level revolves around a single puzzle. The problem of the puzzle is that you can't simply pass through the small tunnel that goes to the room on the right, because if you try to the cannonguy will shoot you until you run out of health and Teetoe passes out and you have to restart. The solution to the puzzle here is to grab the bombguy and blow up the cannonguy with it, so that with the cannonguy temporarily incapacitated you have safe access through the tunnel and can beat the level. Although, doing so is a bit challenging because the bombguy doesn't explode on contact with the cannonguy--you have to throw the bombguy at the right time so that it blows up when its arc reaches the cannonguy, and that's pretty much trial and error.

I think, minus that, the puzzle was fairly well-designed, but most of the puzzles are flawed in that they're too difficult. I've gotten a lot of comments from people not knowing how to beat the very second level of the game, where you interact with the first sproinger. That's because you were supposed to use the fact that you can hold sproingers while bouncing off of them simultaneously to throw them on a fairly small platform and bounce on them again. I thought it'd be obvious that you were supposed to throw them downwards so they don't bounce off the platform, but from my observations of people playing this game it seems that it actually wasn't that obvious. Everyone I watched would throw it at the wall, which caused it to bounce off fast enough to overshoot the platform you needed it to be on. I think the reason they didn't realize you could simply throw it downwards is because they were just getting the grasp of how grabbing works and probably didn't realize you could aim it with your mouse, which is not stated in the instructional text. (Note that I did not have anyone else playtest this game before I first published it on Scratch.)

And that was just the second level! The game was supposed to get more difficult than that as the levels progress, but I couldn't even do that right because the difficulty curve is a bit uneven. There's this one level I've never seen my friends beat without a hint from me, which if I recall correctly is the third/fourth-to-last level, where you need to throw a bombguy over a wall too tall for the bombguy to reach over if thrown from the ground. The rest of the levels my friends were able to beat alone.

Anyway, so the next game I made is a bit of an outlier from this platformer game formula. I started making this game relatively close to the time I released Cool Platformer Game, so this was before I analyzed the game design of cool platformer game and watched my friends play it and realized how crappy it was. At one point I thought, Hmm... What if Cool Platformer Game, but multiplayer? Then I decided to make cool platformer game, but in Roblox. Or maybe I just thought of making a 3D platformer in Roblox with Teetoe in it because Teetoe was very cute and used those earlier games as inspiration. Regardless of why I decided to make it, it has Teetoe in it, and it has sproingers.


I was going to make this game a co-op multiplayer game, where you have to solve puzzles that require teamwork. There's this one part in this test level where you have to throw one of your friends across a water pit so that they can activate the switch and allow everyone else to pass through. Other than multiplayer, there are several differences between the normal platformer games and what was planned for this one. There are things such as collectibles and a new enemy type called electroballs, but the most significant difference in gameplay that only appears in this game is that you can have your Teetoe extend their antenna to grab onto grapple points, which are telegraphed with red and sticky-looking spheres or extrusions, and swing around them just like in a game I made long ago called Grapple Jump (where you play as a legally distinct blue Yoshi).

I never actually finished this game though. It's still kind of cool. I will note an important change I made in this game that made it to Sproingers & Marshmallows, which is the ability for the player to simply drop an enemy. Previously if you grabbed an enemy you were forced to throw it somewhere, which is an annoyance in the case where you grabbed an enemy but later decided not to throw it. In the Roblox version, I finally got to accounting for that train of thought. Well, the way I did that in this game is actually kind of jank because at the time I felt like it was dumb to have to move your cursor to the center of the screen when you dropped it. So instead, I made it so you have to move your mouse fast enough in the direction you want to throw it in when you release the grab button. If you aren't moving your mouse it will simply drop. Thus, throwing is a bit more difficult in this version.

And now, we have gotten to the very latest iteration of this game concept, Sproingers & Marshmallows itself. A few years after I made Cool Platformer Game I revisited it again and figured that I liked the idea of the game, but the game itself kind of sucked. So I thought, Hmm... What if Cool Platformer Game, but good? Fortunately, compared to back then I actually had friends, so I was able to get a few of them to test out Cool Platformer Game so I could evaluate what I could improve and whatnot. After some testing and evaluation, I released a revised version of Cool Platformer Game, and planned to add further changes including more levels and a graphical overhaul, especially since I had redesigned the look of Teetoe in that period of time. But I later realized that version could not be salvaged and I decided to start a new game from scratch (unintentional pun).

Here is a super super early version of Sproingers & Marshmallows, which was initially made in Scratch (that's the pun):

And here is a slightly less earlier version of the game. Fortunately some point after the slightly less earlier version of the game, I learned the errors of my ways and migrated the project from Scratch to Love2D, a Lua game framework, so I could not go insane coding it and also so I could have more graphical fidelity and performance. Then I was having problems with Love2D so I decided to switch the project to Haxe and Heaps.IO and here we are at the present day!

A bit of a tangent: the reason I switched away from Love2D was that my computer started hating Love2D all of a sudden and when I ran the game for a few minutes it would freeze indefinitely. The only way to unfreeze it afterwards would be to open Task Manager. And by that, I don't mean terminate the program from Task Manager. I literally mean simply opening Task Manager would unfreeze the game somehow. I asked some Love2D folks about this issue and no one knew what I was talking about because apparently only I had this problem. Maybe it had something to do with my graphics drivers. Anyway, I could have just switched to developing the game on Linux, which didn't have the problem, but instead I decided to switch to another language/framework because I missed coding in a typed language. I chose Haxe because I learned that it was used to code LDtk, the level editor that I used, and based on the fact that the only official API LDtk provides is for Haxe. I also researched the language and thought it was nice and liked the fact that it had code-only game frameworks similar to Love2D. The only code-only game frameworks I knew, other than Love2D of course, was Monogame and Raylib. I didn't like Monogame's content system, and for Raylib... I don't really know why I didn't decide to use Raylib. Maybe I simply haven't learned of that yet. Plus, Haxe/Heaps.IO has HTML5 export.

Anyway, that's the entire history of Sproingers & Marshmallows! I applaud you for reading until the end. If you're interested in the game, it is still in development, so be sure to follow me for updates. Actually, I could have a playable build right now, but I just want to fix a couple of things before I share it and add a world map or level select... so if you're interested in that do stay tuned! Until then, see you next time!

Leave a comment

Log in with itch.io to leave a comment.