Pocket Fiasco was, with Manuel Sanjurjo, our submission to the weekend game jam Mini Jam 190: Underground at itch.io. Design work was a collaborative effort. Manuel handled level design and art, while I was responsible for the rest of the development in Godot. Some external assets were used for the level tiles and music.
This jam had an optional theme, which was underground, and a mandatory limitation: “pocket size”. We took 3rd place, achieving the highest raw score for ‘Concept’ against 52 entries. You can play it in your browser (PC and Mobile) below:
The idea
“Pocket-sized” is inherently related to something small. From the beginning, we knew we wanted to rely on a pun (a word game). We thought it would be funny to take this literally and make the game about an actual pocket. The theme—”underground”—was just a context, so we went with a miner. After some brainstorming, the conversation roughly went like this:
- “So, okay… do miners have pockets?”
- “Probably, they do.”
- “Uhm… but… how can a pocket be interesting?”
- “Let’s make the miner ride a pogo…”
- “…”
- “And… uhm… the miner has something in his pocket.”
- “Riding a pogo with things in your pocket without dropping them seems kinda difficult.”
- “Let’s do it.”
Beyond the humor, we recognized the concept’s potential. We also realized that developing a solid base controller could serve as the foundation for an interesting platformer, and set the perfect stage for a rage game. It seemed doable in a three-day project (with about 16 hours of work per day). At this point, we thought about Happy Wheels and decided to aim for something similar.
Also, we were sure we wanted to rely on humor and we tried hard to add little detail that can make you smile like the bouncy title sign or the miner losing its hat when hitting a bird. And an amazing feature: You can even see the miner pants when jumping!
Design Challenges
As we developed the idea, we ran into some design challenges, which we discussed before even writing code:
- “How does the player see what’s inside the pocket?”
- “What kind of controller should we use?”
- “How do we make the objects drop?”
- “What exactly is the challenge?”
- “How should the level design develop?”
Since we had experience with physics-based controllers in other projects like Renegade Jammer, and I’m comfortable with physics, we decided that this type of controller was perfect for a rage game. We chose to make the challenge of the game revolve around the controller itself. Because of the time constraints, we let some of the other questions slide and resolved them in a way that felt playable in practice.
The solution
The controller
I studied real-world pogo sticks and found they rely on a main spring force, so I replicated that mechanic. I started with the movement and left the “pocket mechanic” for a more advanced phase.
This was achieved efficiently using Godot’s DampedSpringJoint2D node. This node simulates a spring connection between two physics bodies, allowing for realistic elastic behavior with damping.

The player can decide the jump angle with the mouse cursor and, when pressing down left click, it begins to contract. The more time the player is pressing, the harder the jump. When the player releases the click, it releases the spring from the potential energy and makes it naturally jump. With a right click, the player cancels the jump.
To gain some control over the stick, I “stuck” it to the ground so it does not slide or move while on the ground. The stick unlocks only before applying the jump spring force and while in the air.
The pocket
The pocket system was the most complex technical component. The idea was simple, but turning it into a working system (and making it fun to play) was a challenge.
Since this project was about physics and chaos, I drew inspiration from double pendulums and chaotic systems. I tried to attach the pocket to a pendulum, that was attached at the same time to the stick that depended directly on a spring force. It’s not exactly a pendulum (more like another spring system) but I got the “A physics-system that was depending on another physics-system” idea.
We soon realized that managing both the pocket’s contents and the controller created the perfect tension for a ‘rage game’. It required the player to divide their attention between two distinct tasks, which was exactly the experience we wanted.
Sudden movements introduced chaos into the system, causing objects to drop. So we centered the challenge just in this spot. Tuning the parameters of the pocket system (as with most physics systems) was a time-consuming phase, but worth it.
Visually, the pocket needed to be displayed on-screen, to see in real-time what objects are inside and how they are moving. To approach this, I used a separate camera with a separated layer to render the pocket objects.

Then, I passed a reference of the separated pocket to the pogo scene and, in the ready() function, I bound a RemoteTransform2D set in global transform mode inherited from the pocket body in the pogo stick. This way, the pocket sprite in the separated rendered scene follows the pocket body global position.

Objective
With the core systems in place, we defined the objective of the game: reach the end of the level without dropping any object. We added birds that would disturb the player and make it drop objects and jumps that would make the player adjust the pocket position and jump strength. To make the end of the level a highlight moment, we added a bell that had to be rung by the player when it reached the end of the level.
Future improvements
Due to the time restriction, the game lacks a few features that I think would make it better:
- Time trial: As it stands, the game is just about precise jumping and avoiding obstacles without dropping items, and it’s all about the controller. A time trial would add a new challenge to the game, forcing the player to risk it instead of playing it safe.
- More Levels: We only had time for four levels, but the mechanics support many more.
- Mobile Port: The simple controls (click and drag) would work perfectly on touch screens.
- Game Modes: While we were developing the game, we thought about different game modes, but (obviously) we did not have time to implement them. A battle royale mode, a keep it alive mode, where bombs are dropped from above and birds would disturb the player… We got a lot more ideas, but the time was against us. And, of course, the fact that so many ideas came to mind so easily validated that the core concept was fun.
- Deeper mechanics: A ‘Crazy Mode’ where players can throw pocket items to interact with the environment, sacrificing them as ‘lives’ to progress; picking up objects that you have already dropped would restore a life.