Inspiration

I wanted to build something for Reddit that people would open every single day — not a one-and-done game, but a daily ritual with real tension. The idea started as a climbing game, but it felt flat until it became an escape: you're not just climbing, you're outrunning something. That reframing — climb toward the light before the darkness below catches you — is where Ghost Summit clicked. The name captures both the setting and the threat.

What it does

Ghost Summit is a daily one-shot climbing escape game that lives inside a Reddit post.

  • One daily mountain. Every day a fresh, procedurally-generated mountain drops as a post — the same mountain for everyone, so the whole community is racing the same climb.
  • 3 climbs a day, best score counts. You get three attempts; your best run is what lands on the daily leaderboard.
  • Climb or die. A ghost rises relentlessly from below — keep climbing or it catches you. As you ascend, the darkness gives way to sunlight at the summit.
  • Shoot the hunters. Bats zigzag across your path; tap/click to shoot them (12 rounds, reloads as you climb).
  • Community built in. A daily leaderboard, auto-posted result comments that seed conversation, and a "yesterday's champion" crown on each new day's post.

How we built it

Built on Devvit Web (Reddit's Developer Platform) using Phaser for the game, TypeScript throughout, Hono for the backend routes, and Redis for all persistent state.

  • Client: Phaser scenes for the menu, comic intro, and gameplay — physics-based climbing, a dynamic darkness/spotlight system that brightens with height, procedurally seeded levels, and an in-engine-drawn ghost and bat with particle effects.
  • Server: Hono routes handle the daily seed (derived from the UTC date so everyone shares a mountain), the best-of-3 attempt tracking, and a Redis sorted-set leaderboard.
  • Daily loop: a Devvit scheduler cron auto-creates a fresh post each day and crowns the previous day's champion.
  • Assets: free CC0 art (Kenney) and CC0 music (Tinyworlds).

Challenges we ran into

  • Making it fun, not just functional. The first version — a plain climb — was boring. The breakthrough was turning it into an escape with a rising threat. Getting the jump-reachability, chaser speed, and difficulty ramp to feel fair-but-tense took a lot of iteration.
  • A ghost system that fought back. The original concept replayed real previous players as ghosts. I built it end-to-end, but couldn't get multiple ghosts rendering reliably in time, so I made the pragmatic call to pivot to scripted sweeping ghost hazards — which ended up feeling tighter and more readable anyway.
  • Testing time-based mechanics. A daily one-shot game is hard to test when you're locked out after one attempt — I had to build (and later strip) dev tooling to simulate replays.
  • Mobile controls. Balancing swipe-to-move/jump against tap-to-shoot without the gestures fighting each other took careful threshold tuning.
  • Polish gaps. Hunting down a jarring blue loading flash, overlapping menu text, and clipped intro captions — the small things that separate "template" from "finished."

Accomplishments that we're proud of

  • Going from zero Devvit experience to a complete, polished, published game solo in just a few days.
  • A cohesive experience end to end — branded feed card, animated comic intro, themed loading, and consistent dark atmosphere with audio.
  • A genuine daily-retention loop — shared daily mountain, best-of-3 scoring, leaderboard, auto daily posts, and daily champion recognition.
  • Knowing when to cut scope (the real-ghost replay) to ship something that actually feels good, rather than something ambitious but broken.

What we learned

  • Feel beats features. The game only became good once I stopped adding systems and tuned how it played.
  • Ship the fun version. Cutting the ambitious-but-broken ghost-replay system for a simpler mechanic that felt better was the right trade.
  • A ton of hands-on Devvit Web, Phaser, and Redis — daily-keyed data, sorted-set leaderboards, schedulers, and app-account commenting.
  • How much polish and transitions matter to whether something reads as "finished."

What's next for Ghost Summit

  • Real player-ghosts — finish the original vision: replay actual redditors' climbs as ghosts on the shared daily mountain.
  • More threat variety — new hazards and mechanics deeper up the climb.
  • Seasonal events & special summits — themed daily mountains to keep the loop fresh.
  • Deeper community features — flair for milestones, weekly leaderboards, and reaching the Reddit Developer Funds engagement milestones.
Share this project:

Updates

Submission history