Inspiration

Reddit games are strongest when the community leaves marks on the world. Hauntline turns every run into a contribution: mistakes become ghost paths, victories become curses, and the daily post becomes a room shaped by everyone who played before.

What it does

Players drag to aim, release to dash, and try to reach the bell in one dangerous haunted room. Ghost bodies kill on contact. If a player dies, their run becomes a candidate future ghost path. If they escape, they place one fair curse that can haunt tomorrow's room.

The post previews today's haunt, then opens the full playable game so mobile drag controls do not fight Reddit feed scrolling.

How we built it

Hauntline is a Devvit Web interactive post with a Phaser game client, Hono server routes, and Redis-backed daily state for runs, deaths, wins, curses, and recap totals. Local Phaser and Howler assets improve mobile reliability. The visual and audio systems are tuned for a fast, tactile 60-second loop.

Reddit and Devvit

The daily post is the shared social object: it previews the current room, carries the community recap, and seeds the next haunt. Run results are stored per subreddit and day. Death paths, escapes, curse placements, and daily totals all become contribution data.

Retention hook

Today's failures and escapes can become tomorrow's obstacles. Players return to see whether their ghost path was selected, whether their curse survived, and how the community changed the room overnight.

Best use of user contributions

  • Death path: candidate ghost route
  • Escape: completed run
  • Curse placement: candidate obstacle
  • Daily totals: recap and escape rate
  • Community activity: room flavor and future haunt input

Best use of Phaser

Phaser powers the drag-to-dash movement, collision, ghost replay hazards, animated lighting, curse placement, responsive room scaling, and layered moment-to-moment feedback inside Devvit Web.

Challenges

The biggest challenge was adapting a precision drag game to Reddit's mobile feed. Inline play competed with page scrolling, so the final experience uses a real game preview in the post and opens the full playable surface for reliable touch control.

Accomplishments

  • A polished judge path: preview, play, die, retry, win, place a curse
  • Five distinct haunt configurations for rapid variety
  • Devvit server routes and Redis state for the daily loop
  • Mobile-first controls and locally bundled runtime assets
  • A community mechanic where every meaningful run can influence tomorrow

What's next

We will expand rollover selection with more fairness checks, surface which player ghosts and curses made the next haunt, and deepen community-driven room flavor with comments and flair.

Built With

Share this project:

Updates

Submission history