Inspiration

We wanted to build a game that turned the phrase "haunted house" into an actual management sim. Instead of playing a ghost hunter, the player runs the attraction from the manager's point of view, deciding how spooky it gets and cashing in on every scream.

What it does

Murder! is a fixed-portrait mobile game where guests walk a set floor plan from entrance to exit. Crows posted along the route automatically scare guests for coins and scare points; the player actively triggers bonus ghost and spider scares, nudges guests to keep them moving, and spends earnings upgrading crow costumes and the entrance sign. Each level raises the scare-point target within a fixed time limit, and starting at level four, random news events, such as a robbery, a tornado, or a costume theft, put earnings at risk.

How we built it

Made with Claude Code, Google Flow, and Photoshop. According to Claude, the game is plain HTML, CSS, and JavaScript with no external engine. It was developed across separate source files, including templates, CSS, and per-system JavaScript, and assembled by a small Node build script into a single, unminified index.html for submission. Sound effects are synthesized at runtime via a lightweight ZzFX library rather than shipped as audio files, and background music is a real audio loop played through the Web Audio API. This keeps the build small and fully offline, with everything, including fonts and libraries, bundled locally.

Challenges we ran into

The biggest recurring issue we ran into was overlapping asynchronous state. Characters, crows, ghosts, and spiders all run on independent timers, and early on, stopping and restarting rounds quickly could leave old spawn chains, scared-reaction callbacks, or pending timeouts running alongside new ones, causing duplicate coin awards and characters that appeared to skip waypoints. We tracked down each case by finding the untracked timer or missing guard and adding an explicit cleanup registry, a pattern we reused across every animated system in the game.

Accomplishments that we're proud of

A fully playable core loop with real progression, including four independently upgradable crows, a six-tier sign upgrade, scaling per-level scare targets, tutorial popups, music, and sound, built entirely offline-safe and within the submission's format constraints.

What we learned

Working with Claude Code and vibe coding a game can be genuinely fun and doesn't mean sacrificing the vision for the game. We guided AI toward the exact vision we had for the game, and it delivered!

What's next for Murder!

Next steps are multiple guest types, a larger cast of hireable creatures beyond crows, and a deeper economy connecting staffing, signage, and room upgrades to guest traffic. The goal is to turn this level-based prototype into an open-ended management game.

Built With

Share this project:

Updates

Submission history