What it does
Escape From Spire is a daily asynchronous expedition game on Reddit. Every day, all players share the same weather and three possible destinations. You pick one destination, pack your loadout (weapon / armor / bag) and consumables into a limited bag grid, and launch a run.
A run resolves as a sequence of events and (up to) a few combats, then you return to a clear, readable “Return Log” that confirms what happened: whether you found the boss, what you gained, what you lost, and how your active tasks progressed.
Risk/reward is anchored by inventory space:
- Winning a fight lets you loot the opponent’s gear and bag items, prioritized by value, but only up to your remaining free space.
- Dying is full loss: you lose your equipped loadout and everything in your bag.
- Draws result in both sides retreating.
- A rare “corpse find” event gives a low-risk, high-reward chance to grab leftover loot.
Between runs, you manage items in the Warehouse, list items on the Flea Market, and accept/turn in trader Tasks. The Flea and comment-friendly Return Logs are designed to make “waiting time” feel playable, encouraging regular mobile check-ins.
⸻
How we built it
We built the game using Reddit Devvit (Devvit Web) and designed the loop around request/response interactions rather than real-time play.
Key systems:
- Daily Key: A shared daily seed determines the day’s weather, the three destinations, and where the boss is hidden.
- Pack Screen: Players equip a weapon / head armor / body armor / bag, then choose what to bring for the run. Bag capacity is strictly limited, and that constraint is the game’s core concept: it determines both how prepared you can be and how much loot you can carry back.
- Run Resolution: A run generates a fixed-length sequence of events (10 for normal, 5 for bonus). Encounters, boss chances, task-related events, and rest events are rolled under clear probability rules.
- Return Log (History): The server-side resolution produces a compact, readable log designed for sharing in comments (“boss encountered / not encountered” is valuable information either way).
- Flea Market: Asynchronous listing and buying fits Reddit’s strengths. Purchase conflicts resolve cleanly as “sold out,” and we keep a transaction log for debugging.
⸻
Challenges we ran into
- Making preparation meaningful: We wanted packing decisions to matter every day. We tuned the economy so “free space” is as valuable as bringing more tools.
- Designing fair, shareable dailies: The daily conditions had to be consistent across players while still producing enough variation to create discussion and discovery.
- Keeping combat simple but interesting: We built a minimal turn-based model with weapon cycles, armor charging, reload timing, and status effects—while avoiding stalemates through retreat rules.
- Making the Flea Market economically meaningful: We didn’t want the Flea Market to be “just trading,” so we had to create ongoing demand that keeps items valuable. We anchored demand in Trader Tasks (turn-ins), Hideout upgrades (resource sinks), and full-loss on death (replacement demand) so gear continuously leaves and re-enters the economy. To avoid runaway inflation, we also introduced listing fees as a sink and a lever for tuning the market. ⸻
Accomplishments that we’re proud of
- A full loop that feels “daily”: Today → Pack → Run → Return Log → Warehouse → Flea/Tasks/Base.
- A preparation system where inventory space drives strategy (loot priority + bag capacity makes every square meaningful).
- A Return Log format that’s readable and “comment-ready,” encouraging organic community strategy.
- A working Flea Market that stays fun even when players are not actively running.
⸻
What we learned
- “Asynchronous” works best when players still have meaningful actions between runs (packing, trading, planning, reading logs).
- Comment culture can be a game mechanic: if you give players the right summary and templates, collaboration and meta-strategy emerge naturally.
- Hard consequences (full loss) can be motivating if the player feels in control through preparation and clear information.
⸻
What’s next for Escape From Spire
Implement a wipe system: Periodically reset the economy and world state to keep the daily loop and market fresh.
Moderator dashboard + balance controls: Give moderators tools to control operational parameters such as return time and wipe timing, so communities can tune pacing and season length.
World progression per subreddit: Leverage the fact that each subreddit’s data is fully isolated to create separate world states per community—for example, unlocking new expedition regions over time and rotating or evolving the boss roster. ⸻
Built With
- Reddit Devvit (Devvit Web)
- TypeScript / React (Devvit Web UI)
- Redis (state + indexes + transaction logs)
Built With
- devvit
- react
- redis
- storybook
- typescript
Log in or sign up for Devpost to join the conversation.