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:

  1. Devvit posts the Daily Prompt
  2. Users submit one action
  3. Real Reddit votes accumulate
  4. The engine computes:
    • Player karma
    • Influence weight
    • Top story outcomes
  5. A Daily Results section is posted:
    • Winning actions become canon
    • The story advances
    • The leaderboard updates

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
  • reddit
  • scheduled
  • sdk
  • state
  • stored
  • subreddit-hosted
  • via
Share this project:

Updates