An asymmetric build-and-raid platformer that lives inside Reddit. Every level is a real post, playable in the feed — and every stranger who dies in your trap pays you.
10+Player-made trapsbuilt and published by people other than me
Thirty seconds of the loop — raid, die, build, publish
第1章Chapter 01 — The problem
A game that is the post, not a link to one
Games on social platforms are almost always somewhere else — a screenshot, a link, a store page you have to leave the feed to reach. Every one of those steps loses people. The brief for Reddit's "Games with a Hook" hackathon was to build something native to the platform, and the only version of that worth building was one where the post itself is playable.
The design problem underneath it: a level editor needs players to make things, and players only make things if someone will see them. Reddit already solves distribution — what it needed was a reason for a stranger scrolling past to stop, and a reason for the builder to care that they did.
第2章Chapter 02 — What I built
Build a trap, watch strangers die in it
You build a level in an in-app editor from ten traps on a strict piece budget, prove you can beat it, and publish. Publishing calls the Reddit API and the level becomes a real post. Someone taps it in their feed and it opens playable — precision platforming with instant restarts.
The economy is what closes the loop: every failed attempt on your trap pays you coins, and coins buy nastier traps and bigger levels. Levels nobody has beaten grow a bounty for every day they stand. Around that sit per-level leaderboards, daily streaks, and a death heatmap so a builder can see exactly which corner of their level is doing the killing.
Onboarding sidesteps the cold-start problem entirely — twelve tutorial lessons ship as JSON on disk rather than as posts, so a new player learns each trap before it catches them without a single post needing to exist first.
第3章Chapter 03 — The hard part
The post ID is the primary key
The architectural decision that made everything else simple was refusing to build a content system. A published level has no record of its own — the Reddit post ID *is* the level's primary key, and leaderboards, bounties, heatmaps and the last-victim ticker all hang off it. There is no database of levels shadowing the posts, and therefore nothing to keep in sync.
The raid runs a deterministic 60Hz simulation on a fixed timestep, decoupled from the renderer. Every visual effect — splats, trails, camera punches — is derived from the sim and never feeds back into it. That is what makes times comparable between two people on different machines, and it is the precondition for ghost racing and for replay-based verification later.
The economy is server-authoritative and lives in Redis: balances, unlock prices, anti-farm caps and clear records. None of it is trusted from the client, because the entire premise is that strangers profit from each other and every one of them has a reason to lie.
第4章Chapter 04 — The result
Live on r/trapmakers_game
Shipped and playable on Reddit. Feature-complete across client and server: raid engine, full editor, levels-as-posts, the economy, leaderboards, heatmaps, a ten-state animated character and procedural audio.
Two limitations are stated in the README rather than buried. The publish gate — "you must beat your own level" — is computed and displayed but enforced by nobody, because the deterministic replay verifier that would enforce it properly is not written yet, and the naive alternative risked locking an author out of their own hardest level. Tutorial progress is likewise trust-on-report. The sim was built so both can be closed later.