MURMUR: One Move a Day

Everyone sees a different truth. The subreddit gets one shared move.


🌑 Inspiration

Most multiplayer games give every player the same world and ask them to compete inside it.

We wanted to explore the opposite:

What happens when nobody is allowed to see the whole truth?

MURMUR was inspired by the way Reddit communities solve problems collectively. One person notices a detail, another interprets it differently, a minority raises a warning, and the final decision emerges from discussion rather than perfect information.

Instead of building another trivia game, Wordle clone, platformer, or leaderboard-driven daily challenge, we designed a game where the community itself becomes the missing game mechanic.

In MURMUR, every player enters the same living cavern—but receives only one private sense:

  • Echo reveals structure, cavities, and fragile passages.
  • Heat reveals movement, temperature, and living signatures.
  • Wind reveals airflow, exits, and transported contamination.

No single player receives enough information to know the safest path.

The subreddit must combine partial truths and make one shared move per day.


🎮 What is MURMUR?

MURMUR is an asynchronous social perception game built specifically for Reddit Interactive Posts.

A small bioluminescent creature named Murmur is trying to cross a living underground world over a seven-day expedition.

Each day, players:

  1. Enter the current Hollow.
  2. Receive a private, server-assigned sense.
  3. Investigate the environment through a unique interaction.
  4. Interpret an incomplete clue.
  5. Select one of four paths.
  6. Confirm one persistent community signal.
  7. Optionally share a Field Note in the Reddit comments.
  8. Return to discover the community's decision and its consequence.

The winning direction is not chosen by an individual player or by the client.

It emerges from the subreddit.


👁️ Three Private Senses

Echo — Hear what the stone refuses to show

Echo players send up to three resonance pulses through the cavern.

They can detect:

  • Open or blocked structures
  • Hollow chambers
  • Narrow passages
  • Fragile walls
  • Structural contradictions

Echo cannot detect heat, creatures, airflow, or contamination.

Heat — Feel what is waiting in the dark

Heat players press and hold to focus on different areas of the cavern.

They can detect:

  • Thermal gradients
  • Dormant presences
  • Moving biological signatures
  • Rising or volatile heat
  • Cold, silent regions

Heat cannot detect structural stability, cavities, airflow, or spores.

Wind — Follow what the cavern carries

Wind players drag across the world to release visible tracers.

They can detect:

  • Inward and outward airflow
  • Crosscurrents
  • Hidden exits
  • Spores, ash, and contamination
  • Still or violent air

Wind cannot detect temperature, living signatures, or internal structure.

One world truth. Three incomplete projections.

The complete world model exists only on the server.

Each sensor receives a separate projection built from scratch. The client never receives:

  • The safe direction
  • The complete world state
  • The hidden outcome
  • Another sensor's information
  • The player's raw Reddit identity

Across 1,000 deterministic scenarios, every individual sense left multiple plausible routes, while the three senses together produced one unique best path.


🗳️ One Community Move

After interpreting their clue, each authenticated player may cast one active signal:

  • North
  • East
  • South
  • West

Votes are persisted in Devvit Redis.

Players may change their signal while the Hollow remains open, but they can never create duplicate active votes.

The voting system is:

  • Server-authoritative
  • Transactional
  • Idempotent
  • Isolated by installation, post, chapter, and day
  • Protected against negative or inconsistent counters
  • Closed permanently after resolution

If a round receives zero signals, the system refuses to invent a community decision. The Hollow remains open and displays:

WAITING FOR THE FIRST SIGNAL


🧠 How Resolution Works

The selected direction is determined in three steps:

  1. Highest number of signals
  2. Greatest diversity of senses
  3. Deterministic tie-break, only if the first two remain tied

When the Hollow closes, MURMUR reveals the information no single player was allowed to see:

WHAT ECHO HEARD

WHAT HEAT FELT

WHAT WIND CARRIED

The three layers combine into one explanation of what was really inside the cavern.

Then the community sees the consequence of its choice.


🫀 Choices Leave Scars

Every daily decision changes Murmur and the world.

Consequences can be:

  • Safe — Murmur advances and gains a memory.
  • Costly — Murmur advances but receives a persistent scar.
  • Dangerous — Murmur loses vitality and the expedition branches.

Murmur carries forward:

  • Vitality
  • Memory fragments
  • Physical scars
  • Previous choices
  • A persistent expedition history

These changes affect the narrative and the future scenario identity without making later puzzles unfair.


🗺️ A Seven-Day Living Expedition

The full journey contains seven chapters:

  1. The First Hollow
  2. The Breathing Wall
  3. The Sleeping Heat
  4. The Spore Choir
  5. The Broken Current
  6. The Chamber That Remembers
  7. The Last Resonance

The expedition can end in one of three outcomes:

The Chorus

The community combined its perceptions successfully and Murmur reached the final chamber with strong memories and vitality.

The Survivor

Murmur completed the expedition marked by the consequences of difficult community choices.

The Fading Signal

Murmur reached the end weakened, leaving one final signal behind.

There is no cheap instant death and no Day 8.

Every ending completes the journey.


📝 Field Notes

After voting, players may optionally share what their sense revealed.

A Field Note contains:

  • The player's private sensor type
  • An interpreted direction
  • A structured observation
  • A confidence level
  • An optional short message

The current release uses an honest copy-to-comments fallback:

  1. The game creates the exact Field Note preview.
  2. The player explicitly copies it.
  3. Reddit comments are opened.
  4. The player publishes the note manually from their own account.

The game never claims that it published, indexed, or stored a manually pasted comment.

Native runAs: 'USER' support is implemented behind a server-controlled flag, but remains disabled by default until real authorship can be fully verified on an authorized deployment.


🔍 The Correct Minority

When structured Field Notes are available, MURMUR can reveal an important social moment:

THE MINORITY HEARD IT

If the community chooses the wrong route but a small number of active Field Notes correctly warned about the safer path, the game recognizes the insight without naming, ranking, or humiliating anyone.

MURMUR never creates a leaderboard of who was “right” or “wrong.”

The purpose is reflection—not punishment.


🔁 Why Players Return

MURMUR's retention loop is based on unresolved social tension:

  • Did the community trust my signal?
  • Was my interpretation correct?
  • What did the other senses reveal?
  • What consequence will today's decision create?
  • How will Murmur look tomorrow?
  • Which ending is our subreddit creating?

A scheduled expedition engine resolves rounds, publishes the following chapter, and reconciles interrupted or duplicated jobs.

The system is designed for at-least-once delivery with effectively-once behavior through idempotency and recovery—not an unrealistic exactly-once claim.


🧱 How We Built It

Client

The interactive experience is rendered with Phaser 4 inside a Devvit Web Interactive Post.

The client includes:

  • Responsive cavern rendering
  • Procedural bioluminescent visuals
  • Three distinct sensor interactions
  • Mobile and pointer input
  • Reduced-motion support
  • Community voting states
  • Field Note composer and preview
  • A five-stage resolution flow
  • Seven-day expedition map
  • Persistent visual scars on Murmur
  • Moderator controls isolated in a collapsible tray

The resolved experience is presented as mutually exclusive stages:

Summary
   ↓
Three Truths
   ↓
Consequence
   ↓
Expedition Map
   ↓
Next Action

Only one primary layer is visible and interactive at a time.

Server

The server is built with Devvit Web, Hono, and TypeScript.

It owns:

  • Reddit identity context
  • Private sensor assignment
  • Complete World Truth
  • Safe sensor projections
  • Vote validation
  • Redis transactions
  • Round resolution
  • Expedition state
  • Consequence generation
  • Chapter publication
  • Scheduler recovery
  • Moderator authorization
  • Field Note contracts

The client never selects its own sensor or decides the result.

Persistence

Devvit Redis stores:

  • One active vote per player and round
  • Community vote counts
  • Trusted sensor identity attached to each vote
  • Resolution snapshots
  • Audit hashes
  • Expedition history
  • Murmur's condition
  • Scheduled transition markers
  • Idempotency records

Usernames and raw Reddit user IDs are not exposed to the client or stored in public game state.

Scheduler and Recovery

MURMUR uses scheduled jobs for:

  • Resolving expired rounds
  • Publishing the next chapter
  • Reconciling incomplete transitions

The recovery system handles cases such as:

  • Duplicate jobs
  • Lost responses
  • Expired locks
  • A resolution completed before state was updated
  • A post created before its ID was recorded
  • Simultaneous moderator and scheduler actions

A repeated job returns the existing result instead of creating a duplicate chapter.


🧪 Evidence Over Claims

We built an evidence pack alongside the game instead of relying on unverified pitch statements.

Current automated evidence includes:

  • 30,000 synthetic sensor assignments
  • 1,000 validated hidden-world scenarios
  • 10,000 complete seven-day expedition simulations
  • 70,000 simulated chapter resolutions
  • Concurrent duplicate-resolution tests
  • Duplicate chapter-publication tests
  • Payload-leakage audits
  • Browser-based responsive matrices
  • Real Chrome/CDP interaction tests
  • Reduced-motion verification
  • Transaction and idempotency tests
  • More than 170 automated tests

Sensor Assignment Distribution

Echo:  33.40%
Heat:  33.74%
Wind:  32.86%

Scenario Solution Distribution

North: 236
East:  254
South: 242
West:  268

Expedition Simulations

10,000 complete expeditions
70,000 resolved chapters
0 accidental Day 8 chapters
0 blocked expeditions
0 invalid terminal states

We do not present these simulations as human retention data.


🧗 Challenges We Faced

Designing incomplete information without making it arbitrary

The hardest design problem was ensuring that each private sense remained useful but insufficient.

If one sensor revealed the solution directly, discussion would be unnecessary.

If the clues were too vague, the community decision would feel random.

We solved this with a server-only validation system that rejects scenarios unless:

  • Exactly one best route exists
  • Every sensor leaves multiple plausible paths
  • The projections remain internally consistent
  • The combined projections identify a unique answer

Preventing duplicated votes and chapters

Daily community games must survive retries, refreshes, concurrent requests, and duplicated scheduled jobs.

We implemented transactional voting, request idempotency, leases, immutable snapshots, transition markers, and reconciliation rather than assuming every network operation executes once.

Making several systems understandable on mobile

MURMUR contains perception, voting, resolution, expedition history, Field Notes, and moderator tools inside a compact Interactive Post.

Early testing revealed overlapping overlays and controls.

We replaced the simultaneous resolved-state UI with an exclusive presentation flow and verified it in real Chrome viewports using CDP-generated clicks and screenshots.

Being honest about Reddit User Actions

Publishing as a Reddit user is sensitive.

Instead of presenting an unverified integration as complete, we shipped an explicit fallback that lets players preview, copy, and manually publish their Field Note.

The app never impersonates the user and never claims a comment was published when it was not.


📚 What We Learned

We learned that a Reddit-native game should not merely use Reddit as a container.

The platform becomes meaningful when identity, persistent community state, comments, asynchronous participation, moderation, and recurring posts shape the mechanics themselves.

We also learned that polish is not only visual.

For a social game, polish includes:

  • Correct state transitions
  • Honest error handling
  • No invented results
  • Recoverable scheduled work
  • Accessible interactions
  • Privacy-preserving data contracts
  • Clear limitations

🏆 What We Are Proud Of

We are proud that MURMUR is not a reskinned standalone game.

Without Reddit:

  • There is no subreddit-specific expedition.
  • There are no persistent community signals.
  • There are no distributed private perceptions.
  • There is no asynchronous chapter feed.
  • There is no native discussion layer.
  • There is no community-created history.

MURMUR exists because many people can see different pieces of the same mystery.

Alone, you have a clue. Together, you have a way out.


🚀 What's Next

The current submission focuses on one complete and auditable core loop.

Future work may include:

  • Verified native User Actions for Field Notes
  • More physical-device accessibility testing
  • Additional visual themes for different communities
  • New seven-day expeditions
  • Community-created Hollow variations
  • Optional premium cosmetic layers through Reddit's supported systems

We intentionally did not add currencies, crafting, combat, artificial intelligence, or unrelated progression systems to the hackathon build.

The hook remains simple:

Three private truths. One shared decision. One world that remembers.

Built With

Share this project:

Updates