Inspiration
I loved playing Mario Party growing up, and one of my favorite mini games from the series was called Hotel Goomba which had a similar punching mechanic. It always felt like a concept that could have become so much more than a 30-second mini game though, so I tried building and expanding on that idea myself.
What it does
You punch boxes around a grid to clear a path to the exit, as simple as that! And then I threw in ice, and then bumpers, and then pressure plates, keys, and locked blocks until there were enough features to create some actual challenging puzzles.
How it was built
It is a Reddit Devvit Web app with a React/TypeScript frontend and a Hono server, with each level stored in Redis and tied directly to its post. Uploading a level generates a real Reddit post under the player's username, complete with a splash screen showing the player's Reddit avatar.
Challenges I ran into
The entire movement system had to be rebuilt halfway though lol. I originally had the movement system precalculate the player's path before it did any animating, but I found that the ice mechanics kept causing various race conditions, so I had to switch to a live calculation system to ensure the animations truly matched what was actually supposed to happen.
Accomplishments that I'm proud of
I didn't plan on making a level editor from the start, but I am really glad I did. There are only like 10-15 tile types right now and there already seems to be limitless combinations of levels possible, so I can't wait to see what the community can create.
What I learned
There are sooo many edge cases, and with every new tile added, that number just increased. "What happens when a box on ice gets pushed into a bumper while the player's also moving?" and stuff like that. I'm praying I caught them all but I see why people need game testers now. Turns out simple mechanics and simple implementations are two very different things.
What's next for Punch a Path?
More tile types! I have a notes app full of ideas including trapdoors, teleporters, tnt, and enemies that follow you. That is all for after I polish things up though, next up is some kind of leaderboard system first to make this casual puzzle game a little more competitive!
Built With
- devvit
- hono
- javascript
- node.js
- react
- redis
- svg
- tailwindcss
- typescript
- vite

Log in or sign up for Devpost to join the conversation.