-
-
Welcome Screen with Stats like number of Attempts, number of successful completions
-
Game grid with obstacles, knights and checkpoints
-
Instructions on how to play
-
-
Game grid with explosive barrels
-
Leaderboard on level completion
-
if Knights collide with each other then game over
-
if Knights collide with barrel then game over
-
Design considerations
Dual Knights
Inspiration
Inspired by Newton's Third Law of Motion—"For every action, there is an equal and opposite reaction"—our puzzle game brings this principle to life through two contrasting knights: the Flame Knight and the Aqua Knight, who move in perfect opposition to each other.
What It Does
The game mechanics are elegantly simple yet challenging:
- When Flame Knight moves right, Aqua Knight moves left
- When Aqua Knight moves up, Flame Knight moves down
- Both knights must reach their respective checkpoints simultaneously to solve each puzzle
Sounds straightforward? We invite you to test your strategic thinking and discover the delightful complexity hidden within this simple concept.
How We Built It
The entire puzzle game is playable directly within Reddit, constructed entirely using Devvit Blocks. For storing puzzle data and maintaining player statistics including leaderboards, we leverage Reddit's Redis database infrastructure.
- User has to create a level using level designer, this gets information is shown in Community Guide.
- Once the level is created as per user's satisfaction, user can copy the encoded level data and post it as a new level with some name using community's Menu Button.
- Once the level data is received successfully and it is parseable as per the logic of a valid game, the devvit app creates a new post.
- Using this post id of the newly created post, the devvit app sets the level data in redis for this post id.
- The post loads in Reddit platform, gets the respective data set in redis.
- Users play the puzzle level and stats and leaderboard gets updated which is also implemented using redis.
Challenges We Faced
As a backend engineer, UI design presented a significant learning curve. However, I recognized that visual appeal is the gateway to user engagement—only after attracting players can we encounter the scaling challenges where backend engineering truly shines.
Accomplishments We're Proud Of
After thoroughly exploring Devvit's APIs and blocks, we created an experience that feels native to Reddit. Our design principles included:
- Creating a seamless experience that feels natural to Redditors
- Designing puzzles that are quick to play but intellectually stimulating
- Balancing simplicity of concept with depth of challenge
Embracing Reddit's community-driven culture, we implemented a level designer that allows users to create and share their own puzzles. Creators must complete their puzzles to prove they're solvable before moderators approve them for public release.
What We Learned
Implementing a leaderboard system proved surprisingly accessible, opening new possibilities for community engagement and competitive play!
Note: Since video has to be 1 minute or less, i had to speed up level design. Here's the unedited level creation, posting and then solving the level for reference : https://youtu.be/yYeAoo9Nj8E
Feel free to create a post levels. If you put some garbage data the the level creation using menu button, a default level will be loaded. Please don't try that since it seems like a repeated level.
Note : The DPad has tappable blue or red colour inside it, you can tap it and take control of Aqua (blue) or Flame (Red) knight.
I have noticed that If I am on subreddit for some time and then try to upload a new level using the menu action button, then it doesn't work. If I refresh the subreddit webpage, it works perfectly. I guess this is because I have not published the app in release yet.
Have fun! Let me know how you like it. I'll be frequently reviewing comments here! Thank you for your time!


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