๐ŸŽฒ Yahtzee Online for Reddit

๐Ÿ’ก Inspiration

We wanted to bring the classic dice game Yahtzee into Reddit in a way that feels native to the platform. Instead of just recreating the traditional game, we asked: What if Redditors could create rooms, invite friends, and compete in real-time directly inside their favorite subreddit? Our goal was to combine nostalgia, strategic gameplay, and community engagement into one seamless experience.


๐Ÿš€ What it Does

Yahtzee Online is a real-time multiplayer dice game built specifically for Reddit using Devvit.

Key Features:

  • Flexible Play Modes: Play solo, against AI opponents, or with friends in local multiplayer.
  • Real-Time Rooms: Create online game rooms for 2โ€“4 players or join available lobbies.
  • Global Competition: Track performance on global and daily leaderboards.
  • Social Integration: Set custom usernames and request rematches instantly after a game ends.
  • Authentic Rules: Full Yahtzee rulebook support, including bonus Yahtzees, upper section bonuses, and the Joker rule for strategic depth.

๐Ÿ› ๏ธ How We Built It

The experience was built using React and Devvit with interactive UI components. To ensure fairness, the architecture is fully server-authoritative:

  • Anti-Cheat: Dice rolls are generated on the server.
  • Validation: Scores and turn orders are calculated and managed server-side.
  • Sync: Game state is synchronized across all players using Devvitโ€™s real-time messaging.

Technical Stack:

Component Usage
Redis Persistent storage for rooms, player stats, and leaderboards.
Realtime Channels Instant state updates for synchronized multiplayer.
Devvit API Reddit integration and serverless backend logic.

๐Ÿง  Challenges We Ran Into

Building real-time multiplayer inside a Reddit-integrated environment introduced unique constraints:

  1. State Synchronization: Ensuring all players see the same dice animations and "held" states simultaneously.
  2. Room Management: Handling edge cases like host disconnections and ensuring proper room cleanup in a serverless context.
  3. Complex Logic: Implementing the nuanced Joker and Bonus rules server-side to prevent client-side manipulation.
  4. Dynamic Player Counts: Allowing games to continue if one player leaves, as long as the minimum player count is met.

๐Ÿ† Accomplishments We're Proud Of

  • Successfully transformed an offline classic into a competitive Reddit experience.
  • Built a robust cleanup system to handle the "messiness" of web-based multiplayer.
  • Achieved a smooth, responsive UI that feels right at home within Reddit's webview.
  • Implemented a comprehensive dual-leaderboard system (All-time & Daily).

๐Ÿ“– What We Learned

We mastered architecting real-time systems within Devvitโ€™s serverless environment. Key takeaways include:

  • Optimizing Redis data structures for high-speed game state management.
  • Handling disconnections and "ghost" rooms gracefully.
  • Balancing UI performance with server-side validation.

๐Ÿ”ฎ What's Next for Yahtzee Online

  • Matchmaking: An automatic pairing system to jump into games faster.
  • Ranked Mode: ELO-based ladders with seasonal resets.
  • Subreddit Pride: Community-specific leaderboards and tournament brackets.
  • Spectator Mode: Letting other Redditors watch high-stakes games live.
  • Achievements: Unlockable badges for perfect games or massive winning streaks.

Built With

Share this project:

Updates