The Story Behind Clock It
The Idea
Honorable mention: also inspired by @moonmediagames TIMI VS EVERYONE !!!
It started with a simple question: what if the game mechanic itself was invisible?
Most timing games show you a timer. You watch it, you react, you stop it. That's not skill — that's vision. We wanted something different. Something that forces you to feel time instead of watching it.
The concept: show the player a target time, hide the clock, and ask them to stop it as close to the target as possible. No visual feedback during play. No countdown. Just instinct, rhythm, and the quiet confidence that you've found the right moment.
That became Clock It.
Why Two Modes?
Early in development we realized "start and stop a hidden timer" was one thing, but it wasn't quite enough variety for a community game. We wanted a second mechanic that felt genuinely different.
Moon mode is player-driven. You decide when to start and when to stop. It rewards calm, deliberate timing and a good internal clock.
Star mode flips the script. The system fires the first pulse — you can't control the start. You wait, feel the rhythm, and when the second pulse fires and stops the clock automatically, you then choose the right moment to confirm. It's about reading a signal rather than generating one.
Both modes use the same core skill (sense of time) but demand it in opposite directions.
Building on Devvit
We chose Devvit because we wanted the game to live inside Reddit — not linked from it. A Reddit post that is a game, not a link to a game. That distinction matters. No app store, no separate login, no leaving the thread.
Phaser gave us a proper game loop inside the WebView. Devvit's Redis gave us persistent leaderboards and match state without spinning up external infrastructure. Devvit Realtime let us synchronise PvP rounds between two players in different sessions with a single channel subscription.
The whole thing runs inside a single Devvit post.
The PvP System
PvP was the hardest part to get right.
The naive approach — "first player to submit wins that round" — doesn't work for a timing game. If the first submitter's result triggered the round winner immediately, the second player's result would arrive after the match had already moved on. You'd get score desync, stale round data triggering transitions on the wrong screen, and phantom wins.
The fix was to keep the round open on the server until both submissions arrive. The first submitter lands on a waiting screen. The second submission resolves the round, sets lastRound with both gaps, and the realtime channel pushes a notification to the waiting player. Both players advance together.
We also had to handle the forfeit case carefully. When a player gives up mid-match, the server marks the match complete with forfeitedBy set. Any subsequent attempt to start a new round against that match returns a recognisable error that the client catches silently and routes to a "Rival Gave Up" screen — no "Traffic Full" toast, no confusion.
Automated Community Layer
One thing we were deliberate about: the game shouldn't just be a widget that sits there. It should create rhythm for the community.
- A daily pulse post goes up each day with the target time for both modes. Players can see what they're shooting for before they even open the game.
- A weekly hype post builds anticipation before Saturday's knockout tournament.
- When a Weekly Knockout champion is crowned, a post announces it automatically.
- Subreddit flairs update in real time as players climb the leaderboard. Top players get emoji-highlighted flair that's visible everywhere in the community — a persistent signal of who's good at this.
The game exists in the post. The community exists in the subreddit. The automated layer bridges them.
What We'd Do Next
- Seasonal Finals — the Weekly Knockout winners from Summer and Winter meet in a live-stream grand final. The bracket exists, the infrastructure is there. We just need the season to play out.
- Replay sharing — let players share a link that reconstructs their attempt visually, so others can see how close they got.
- Custom daily targets — let mods set special target times for events or anniversaries.
One More Thing
The grading system took longer than expected to get right. "MYTHIC" for a 5ms gap. "LEGENDARY" for 20ms. "UNREAL" for 75ms.
We tested it ourselves. Getting MYTHIC is genuinely hard. Getting LEGENDARY requires real practice. The grades are honest.
That honesty is the whole game.
Clock It — No timer. All instinct.
Log in or sign up for Devpost to join the conversation.