Inspiration

I wanted to make a game where the world did not belong to one player. Reddit communities already solve problems, build shared knowledge, and name things together, so a persistent map felt like a natural fit for the platform.

In Echoes, opening the post tomorrow should feel different from opening it today. Other players may have uncovered new territory, repaired a crossing, found a relic, or proposed a name while you were away.

What it does

Echoes gives every player one expedition per day and a limited supply of embers.

During an expedition, players can chart unknown tiles, explore ruins, recover relics, repair crossings, and leave markers for future explorers. Everything they change remains on the shared map for the rest of the subreddit.

Finding a landmark starts a community naming process. The finder proposes a name, other players vote, and the winning name becomes a permanent part of the world.

When players return, an overnight activity report shows what the community accomplished while they were gone. The Museum of Discoveries records recovered relics and credits the people who found and named them.

After an expedition ends, players can still wander through territory the community has already charted.

How I built it

I used Phaser to create the map, movement, fog, lighting, weather, particles, touch controls, and exploration effects. React handles the menus, expedition screens, voting interface, and museum.

The game runs inside a Reddit post using Devvit Web. The server validates player actions and stores the persistent world state in Redis.

The terrain is generated deterministically from the world seed and tile coordinates. This allows the client and server to independently agree on what should exist at every location without storing the entire map.

Shared rules also determine action costs and valid movement. This keeps exploration responsive while preventing invalid actions or duplicate rewards.

Challenges

The hardest design challenge was fitting a complete game inside Reddit's post viewport. Early versions had tall menus that were clipped or required awkward scrolling. I rebuilt those screens as compact dashboard layouts so the important information and controls remain visible.

I also had to solve Devvit server bundling problems and migrate the project to the current Devvit Web structure.

The shared world created another challenge. Two players can attempt to discover or interact with the same location at nearly the same time. I designed the server actions to be repeat-safe and to ensure that important discoveries are only awarded once.

What I am proud of

I am most proud that discoveries become community history instead of disappearing into a personal save file.

A single relic can lead to a naming proposal, a community vote, a permanent landmark, a museum entry, and a reason for players to return the next day. The map slowly becomes a record of the people who explored it.

What I learned

I learned that building inside a social platform changes how a game should be designed. The most interesting reward was not a personal score. It was leaving something behind that another person would see later.

I also learned to treat the Reddit post viewport as part of the game design instead of treating it like a normal browser window. Clear objectives, compact menus, and touch-friendly controls became just as important as the world itself.

What's next for Echoes

I would like to add seasonal regions, larger relic collections, community mysteries, and special events that require several explorers to contribute over multiple days.

I also want to expand the Museum and add more ways for subreddits to make their version of the world feel unique.

Built With

Share this project:

Updates