Inspiration
While I have been playing games on Reddit, I noticed that in most games, you beat the level, and then its over. I decided to focus on a different approach. I realized that it could be even more rewarding if the goal for the creators of the game focuses more on creating hard puzzles and hope that they take a long time for users to solve. It feels more rewarding to solve something after, for example 5 days, then to solve it in one minute. Thats why I created Create and Crack, to fuel creator and user contribution in the creation and solving of these puzzles.
What it does
Create and Crack is a game where creators can create locked padlocks with a secret four digit combination. They also have to provide three clues for these combinations. Then once they publish their lock, users race to try and solve the lock first, with the given clues. There are two game modes in the game: Regular and 3 chamber lock. Regular is as described above, while the 3 chamber locks are more difficult and have 3 different combinations users have to try and figure out. The game also includes "The Wall", where users and creators alike can view the leaderboard, and find out which specific locks have not been cracked yet. The project is also connected to Claude AI, so new locks can always be generated in the case that there are no new ones being built. This insures that users always have a challenge waiting for them.
How we built it
The platform the game uses is Devvit Web, rendering inside the feed as an Interactive Post. For the frontend, React 19 + Tailwind CSS 4, bundled with Vite. For the backend, we used Hono on Devvit's serverless Node. The theme and style of the game is in CSS and inline SVG. Every sound effect (the tap, the rattle, the toy-piano crack fanfare) is synthesized live with the Web Audio API.
Challenges we ran into
Since there is no scrolling allowed, the game had to be fit in the mobile viewpoint. This constraint was tough to work with, because I envisioned this game to be scrollable. Also, it was quite challenging to create a stable theme throughout the game. We leaned towards a hand drawn effect, and the inconsistent wobbles created that effect. To create the effect, we used the SVG wobble filter, which gave us a promising result. Lastly, brute forcing posed as a problem to the game. Because of how the game is combination based, people are able to brute force the code, and pass the level. This is why we introduced tries wasted, where the more attempts it takes for you to crack the lock, the more tries wasted (this shows up on "The Wall").
Accomplishments that we're proud of
One accomplishment that we are proud of is how we were able to implement code to ensure that vaults can't be short-circuited. This guarantees that you are only able to access the chamber that you are on, and not skip to the last one. The code works like this: it compares the chamber the player claims they are attacking (body.chamber) against where the server knows they actually are (progress), and determines if they match.
// You can only attack the chamber you're actually standing in front of —
// no jumping straight to the final chamber of a vault.
if (body.chamber !== progress || progress >= total) {
return c.json<GuessResponse>({ type: 'guess', result: 'wrong', first: false, /* ... */ });
}
What we learned
We have learned to keep the answers on the server and not hardcoded in each game. Keeping the answer server-side isn't just good for anti-cheating, it's what makes the whole streak idea trustworthy. This project also increased our understanding in Devvit and React, and provided experience to keep creating in the future. We also learned how to work with our resources, and even though the game could not include scrolling, we were still able to work around this and create a viable creation.
What's next for Create or Crack
We have a few things planned for Create and Crack. Firstly, we want to implement a daily heist challenge for everyone to play, and race to be the first one to solve it. Another feature that we were planning to add is the revenge feature, where users can "take revenge" on the person that cracked the users lock and repeat the action to theirs. Lastly, we hope to create more fun game modes.


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