posted an update —

Redeal Roguelike is Hackathon-Ready!

We are thrilled to submit Redeal to the Reddit Hackathon! Redeal is a fully-featured, poker-inspired deckbuilding roguelike designed to run natively inside Reddit feeds using the Devvit platform.

Here is a log of what has been built and polished for this launch:

Key Features Implemented:

  • 150+ Synergistic Jokers & Card Customizations: Build crazy point engines with card modifications (Glass, Lucky, Foil, Polychrome) and seals.
  • Interactive Community Challenge Builder: Design custom deck rules, starting consumables, custom jokers, and money multipliers. Publishing a challenge automatically creates a flared post on the subreddit.
  • Reddit Comment Leaderboards: Play scores are validated on the server and automatically edited into a stickied leaderboard comment under each post in real-time.
  • Daily Rewards Calendar & Streaks: Claim points daily, build consecutive win streaks, and watch the next-reward timer tick down.
  • Subreddit Sidebar widgets: Automatically syncs community rules, sets up a text navigation panel, and maintains a clickable challenge calendar.

Tech Stack and Architecture Snippet:

We used tRPC v11 mounted over Hono for end-to-end type-safe client-server communication. By constructing a custom React-based board instead of importing a heavy game framework, we kept the bundle size extremely light, allowing the inline splash view to load instantly in the feed.

Here is a look at the RunState definition schema that gets serialized and saved to Redis on every player action:

export type RunState = {
  id: string;
  userId: string;
  postId: string;
  seed: string;
  deckType: DeckType;
  stakeLevel: StakeLevel;
  phase: Phase;
  ante: number;
  blindIndex: number; // 0: Small, 1: Big, 2: Boss
  score: number;
  targetScore: number;
  handsRemaining: number;
  discardsRemaining: number;
  money: number;
  deck: GameCard[];
  hand: GameCard[];
  jokers: JokerInstance[];
  consumables: ConsumableInstance[];
  handLevels: Record<HandType, number>;
};

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