What it is

Raidyard is an async base-raid game that lives entirely inside a Reddit post. You build a base on a 9x9 grid, save a raid squad, and pick which edge to attack from. Then, once a day at 00:00 UTC, every raid on the ladder resolves at the same moment, server-side. You wake up to the damage report, watch a tick-by-tick replay of exactly what happened, and rebuild. Clash of Clans compressed to two minutes a day. No microtransactions, no energy bars, just grudges.

Built from first commit to published app entirely within the Submission Period.

The hook

Most games wait for you to play them. Raidyard happens to you. The raid resolves at dawn whether you logged in or not, and checking the damage is the habit. Between sessions there is real anticipation: who did I get matched against, did my east wall hold, did my brutes get through. The design bet is that "something happened overnight" is a stronger reason to return than "come play again."

Eleven days in, that bet is holding. One player built a base with a pocket in the wall on day two. The top of the ladder has thrown his best crews at it six separate mornings. It has never fallen, not once, zero percent core damage every time. That base is still standing, and everyone in the subreddit knows it.

The comment section is part of the game

Raidyard is player-versus-player by design, and the social layer lives where Reddit lives in the comments. After every resolution, the app posts a summary comment listing every raid and pinging each participant by username, so getting cracked sends you a Reddit notification, and the day's results become a thread people argue in. Every raid result has a one-tap share that drops your receipt (with a link back to the game) into any conversation. The competition is between real redditors with real grudges, not against a bot.

Retention, built from Reddit itself

  • The daily job creates a fresh "Raidyard Day N" post after every resolution, so the game generates its own feed content on a schedule. The post writes its own headline from the night's results: upsets, mutual sweeps, broken holds.
  • A persistent trophy leaderboard gives the ladder memory; ranks shift overnight, every night.
  • Community flair keeps the subreddit organized around the game: daily reports are auto-flaired, and players flair their own raid receipts and strategy posts.
  • Per-subreddit storage means each community that installs Raidyard gets its own ladder and its own grudges.
  • Every player's base is a level someone else has to solve. The defenses are user-generated content, and the whole ladder is people trying to break each other's designs.

Shipped during the hackathon

Two playtesters, one of them a developer who runs a daily game of his own, independently diagnosed the same problem: the feedback loop is 24 hours long, so a player who sets up wrong does not find out until tomorrow, and by tomorrow they are gone. Both fixes below came out of that, in the final week.

The commissioning shift. New players were saving a base or a squad, thinking they were done. The yard now shows two locks, yard armed and squad armed, and closing both triggers a one-time dry run: a canned crew comes over your fence, then your squad takes a swing at a practice yard. Two exact replays, no trophies moved, and then the line that was missing: at dawn these split up, your squad raids another player and your yard defends against someone else.

One Seed, One Shot. A daily challenge that needs no base, no squad, and no account. The same handcrafted yard for everyone, one supplied crew, one decision: which edge you come in from. Watch it resolve, get your score, share the run. It is the front door for anyone who wants to see what a raid actually looks like before committing to one, and it is the same deterministic sim the real ladder runs on.

The morning report got a voice. The daily summary now leads with the three stories that matter, the fastest crack, the biggest punch-up, the closest hold, before the full ledger, and ends by asking a named player what they are changing tonight.

How it was built

Devvit Web with a strict client/server split. The entire combat simulation lives in shared code and is fully deterministic: same base, same squad, same seed produces byte-identical results, enforced by tests. That one decision made replays nearly free (they render from stored event logs, no re-simulation), let the client run practice raids locally with no server round-trip, and made the game testable end to end: 246 tests, including a determinism suite and a guard that fails the build if nondeterminism sneaks into the sim.

Balance was done by brute force. An offline harness ran roughly two million simulations against the shared sim code before launch, hill-climbed both the attack and defense metas, and flagged degenerate strategies. Two full balance patches came out of it (splash damage for cannons, per-raid spawn-edge selection) after the lab proved the original meta had an unbeatable defense. The same approach certifies the daily challenge: every practice yard is proven beatable and watchable across the entire valid squad space, 58,320 exhaustive simulations per fixture, gated into the release checklist so an unwinnable puzzle cannot ship.

The game was built with heavy use of Claude Code as an implementation agent, working against a written spec with phase gates, a deterministic test harness, an independent model reviewing every pull request, and a human-gated release checklist. I designed it, specced it, reviewed it, and verified every release on production myself.

Challenges

  • The unbeatable-fortress problem. With attackers spawning from one edge, optimized defense beat 100% of optimized squads. The fix was structural, not numeric: attackers now choose their spawn edge per raid, turning defense into an allocation problem across four approaches.
  • Making a daily game visible on Reddit. Posts decay, so the resolution job creates a new post each day and the summary comment mentions every participant. Retention on Reddit turned out to be as much a distribution problem as a design problem.
  • The 24-hour blind spot. A once-a-day game cannot teach you anything in your first session. That is the hardest constraint in the design, and the commissioning shift and the daily challenge are both answers to it: let the player watch a raid resolve in the first minute, so the real one tomorrow means something.
  • Platform edges. Scheduler idempotency, per-install storage, review-gated permissions, and webview constraints all left scars, most of them documented in the repo's deviations log. The subscribe action in particular turned out to need a separate manual allowlist from Reddit that no amount of correct configuration substitutes for, which took a week to discover.

Where it stands

Live at r/raidyard since day one of development. Approved by Reddit app review and running in production, with 59 yards on the ladder, daily resolutions that have never missed a morning, and strangers cracking each other's cores while the developer's own base gets stonewalled by a wall pocket he still cannot solve. The repo goes public after the event.

Built With

Share this project:

Updates

posted an update —

Day 12: still resolving every morning, and One Seed learned to tell the truth

Twelve days, twelve resolutions, none missed. The ladder is at 63 yards with about 13 raids a night, and the wall pocket from day two still has never fallen.

Shipping this week (in app review now): One Seed One Shot, the daily no-account challenge, now shows you what all four edges would have done after your run resolves, with your pick and the best line marked. You can preview the other edges without changing your result. Your one shot stays your one shot.

Building that surfaced an honesty bug. The card would tell you that you missed "the best line" when you were one tick behind on an eight-tick crack, which is simulator trivia, not a read anyone could make from the yard. The verdict now only claims a best line when the lead is material. When every way in is roughly equal, it says so instead of inventing a winner.

Play at https://www.reddit.com/r/raidyard/. Build a base and save a squad before 00:00 UTC to join tonight's resolution.

Log in or sign up for Devpost to join the conversation.

posted an update —

Day 3: published for review, and the ladder came alive

Big 24 hours for the yard:

Submitted to Reddit app review. Raidyard v0.1.6 is officially in the review queue on developers.reddit.com. Fun platform lesson learned on the way: as-user permissions like the subscribe action are granted only after app approval, so the "Join r/raidyard" button currently degrades to a polite hint toast. It comes alive the moment review clears.

Nine raids in one resolution. Two days ago a daily resolution was two players trading the same fight. This morning's Day 2 report: nine raids, seven cracked cores, and a leaderboard with twelve names on it, most of them strangers who found the game through community posts this week. The daily summary comment now pings every participant by username, so getting cracked literally sends you a Reddit notification.

Fastest crack so far: 6 ticks. u/arxorr, we all saw it.

Play at https://www.reddit.com/r/raidyard/ Build a base and save a squad before 00:00 UTC to join tonight's resolution.

Log in or sign up for Devpost to join the conversation.

Submission history