Inspiration
We wanted to bring a frictionless, slide-to-move puzzle experience directly to the Reddit feed. The core idea—a vehicle with broken brakes trapped in a mystical, trap-filled dungeon—combines the rewarding logic of ice-sliding puzzles with a charming pixel-art aesthetic. We wanted to build something that was not only fun to play but also highly social, allowing the Reddit community to challenge each other on global leaderboards and even design their own fiendish puzzles.
What it does
Dungeon Parker is a fully interactive, serverless puzzle game built on Reddit's Devvit platform. Players must navigate a runaway car through a dungeon by swiping. Because the car has no brakes, it only stops when it collides with a wall or an obstacle. Players must strategically use the dungeon's environment—avoiding spikes and crumbling floors while utilizing directional arrows—to park the car on the goal in the fewest moves possible.
Beyond the main game, it features a Global Leaderboard to track the top 10 most efficient players per level, and a fully-featured Level Designer that allows anyone to create, test, and instantly publish their own custom dungeons directly to Reddit!
How we built it
We utilized a robust modern tech stack tailored for Reddit's Devvit platform:
- Frontend: We used Phaser, an incredible HTML5 game framework. Phaser made it exceptionally easy to handle complex grid-based logic, pointer/swipe inputs, sprite animations, and dynamic scene management. Its intuitive API allowed us to build the core game, the level editor, and the UI popups very rapidly without fighting the DOM.
- Backend: We used a Node.js v22 serverless environment via Devvit, leveraging Hono for our API and tRPC for end-to-end type safety.
- Database: We utilized Devvit's integrated Redis datastore to handle our global leaderboards (using Redis Sorted Sets) and to save/load user-generated maps instantly.
Challenges we ran into
One of the biggest challenges was ensuring a seamless, responsive experience across both mobile and desktop screens while confined inside an iFrame on the Reddit app. Handling dynamic viewport resizing without memory leaks or canvas cropping required careful tuning of Phaser's ScaleManager and custom scene-lifecycle hooks.
Additionally, we had to carefully engineer the Level Designer so that players couldn't submit "broken" or unsolvable levels to the community, implementing strict validation checks before a level could be published.
Accomplishments that we're proud of
We are incredibly proud of the Level Designer. Giving players a drag-and-drop tool to create their own puzzles, instantly test them, and publish them to a global Reddit feed feels like a massive leap for in-app social gaming. We're also proud of the Global Leaderboard integration—seeing your Reddit username pop up in the top 10 after perfectly optimizing a puzzle route is highly rewarding.
What we learned
We learned a massive amount about integrating stateful, canvas-based applications into serverless environments. Working with Phaser reinforced how powerful and developer-friendly a dedicated game engine is compared to trying to manipulate standard HTML/CSS for game logic. We also learned how to effectively utilize Redis Sorted Sets to manage competitive leaderboards at scale.
What's next for Dungeon Parker
We have big plans for Dungeon Parker! We want to introduce:
- New Trap Mechanics: Teleporters, ice patches, and moving obstacles.
- Campaign Mode: A curated list of increasingly difficult developer-made levels.
- Community Voting: Allowing Reddit users to upvote/downvote custom levels, creating a "Trending" tab of the best community creations.
- Custom Vehicles: Unlockable car skins based on your leaderboard rankings.
Some hand designed levels for you to try: https://www.reddit.com/r/dungeons_parker_dev/comments/1uvxkds/can_you_time_it_right/ https://www.reddit.com/r/dungeons_parker_dev/comments/1uv2w6o/level_two/ https://www.reddit.com/r/dungeons_parker_dev/comments/1uv2rca/submission_level/ https://www.reddit.com/r/dungeons_parker_dev/comments/1uuktkz/my_level/
Log in or sign up for Devpost to join the conversation.