t
Inspiration
Reddit already is a game.
You post.
You wait.
You get judged by strangers.
You rise, vanish, or get buried.
Karma Loop came from staring at that feedback loop and realizing:
this isn’t just social media — it’s a survival mechanic.
Every redditor already understands stakes:
- Will this land?
- Will this flop?
- Will I get cooked in the comments?
So instead of fighting that system, I turned it into the engine.
Karma Loop asks: What if Reddit’s behavior was the gameplay?
What if votes didn’t just measure attention — what if they shaped a world?
That’s the heart of this project:
a daily game where community judgment becomes narrative power.
What I Built
Karma Loop is a daily, Reddit-native game built on Devvit where:
- Each day, the app posts a new prompt in a subreddit
- Every player gets one move per day
- Players submit a short action, law, or story beat
- The community votes
- Votes become:
- Story canon (top entries shape tomorrow’s world)
- Karma points (feeding a competitive leaderboard)
The world evolves.
Players climb or fall.
Low karma = less influence.
High karma = narrative power.
It’s a hybrid:
- 🧠 Collective world-building
- 🏆 Competitive ladder
- 🔁 Daily loop
- 💬 Comment-driven gameplay
Reddit isn’t just hosting the game — Reddit is the game.
How It Works
Each round follows a strict rhythm:
- Devvit posts the Daily Prompt
- Users submit one action
- Real Reddit votes accumulate
- The engine computes:
- Player karma
- Influence weight
- Top story outcomes
- Player karma
- A Daily Results section is posted:
- Winning actions become canon
- The story advances
- The leaderboard updates
- Winning actions become canon
The scoring intentionally mirrors Reddit’s ambiguity:
[ \text{score} = (u - d) + \epsilon ]
Where:
- ( u ) = upvotes
- ( d ) = downvotes
- ( \epsilon \in [-2, 2] ) = fuzz factor
That fuzz keeps outcomes unpredictable, just like real Reddit.
Low-performing players can be temporarily “exiled” (unable to submit the next round).
Top players become “Council Members” whose actions always shape canon.
The community learns the culture of the world by feeling it.
Tech Stack & Build
- Devvit SDK (TypeScript)
- Reddit Developer Platform
- Subreddit-hosted game posts
- State stored via Devvit APIs
- Scheduled daily execution
Core systems implemented:
- Daily scheduler
- Submission tracking (one per user per day)
- Vote parsing
- Karma + influence engine
- Canon story generator
- Persistent leaderboard
- Mobile-friendly post rendering
Everything runs inside Reddit — no external servers, no fake UI, no iframe tricks.
Challenges
- Designing a game that respects Reddit’s culture without copying Reddit
- Making the rules legible without breaking mystery
- Preventing spam while staying open
- Balancing competition with collaboration
- Turning chaotic user input into coherent story
The hardest part wasn’t technical.
It was philosophical:
How do you make judgment feel meaningful without making it cruel?
The answer was to let the world absorb the impact instead of the person.
You don’t lose.
Your idea does.
And tomorrow, you try again.
What I Learned
- Reddit is already a game — it just doesn’t admit it
- Community behavior is a mechanic
- Daily rhythm beats complexity
- Mystery beats explicit rules
- People don’t need power — they need impact
Karma Loop isn’t about winning.
It’s about learning how a crowd thinks.
And then daring to speak anyway.
## Accomplishments that we're proud of
bringing an idea to from concept to something people can interact with
## What we learned
Reddit is already a game — it just doesn’t admit it
- Community behavior *is* a mechanic
- Daily rhythm beats complexity
- Mystery beats explicit rules
- People don’t need power — they need *impact*
## What's next for karma wars
Phase 1 — Make It Real
Create your Devvit app
Spin up a tiny public test subreddit (under 200 members)
Implement the skeleton:
Daily post scheduler
“One move per user” gate
State storage (players, day, submissions)
Basic leaderboard
At this stage it can be ugly. It just has to work.
Goal:
A post appears. People can play. Data persists. Tomorrow changes.
Phase 2 — Give It Teeth
Now we layer the game in:
Karma math + fuzz
Exile mechanic (low performers miss a day)
Council mechanic (top players always shape canon)
Auto-generated “Results” section
World state that actually evolves
This is where it becomes addictive instead of cute.
Goal:
Players feel consequences.
Phase 3 — Hackathon Polish
This is what wins judges:
Clean post layout
Mobile-friendly interaction
Clear onboarding message
Tight README
45–60s demo video
Devpost write-up using what you already drafted
You don’t need 10,000 players.
You need clarity, vibe, and inevitability.
Built With
- daily
- developer
- devvit
- game
- scheduled
- sdk
- state
- stored
- subreddit-hosted
- via
Log in or sign up for Devpost to join the conversation.