Speed Sudoku: Real-time Multiplayer Puzzle Game

Project Overview: Speed Sudoku is an innovative multiplayer Sudoku game that allows players to race against each other in real-time. Built for the Web Dev Challenge Hackathon S2.E2, it features collaborative gameplay where players can see each other’s moves instantly, creating an engaging competitive experience.

Objectives

  1. Create a real-time multiplayer Sudoku experience
  2. Implement WebSocket communication for instant updates
  3. Develop an intuitive user interface for game rooms
  4. Build a robust game state management system
  5. Ensure smooth gameplay synchronisation across devices

Features

  1. Real-time Multiplayer:

    • Instant move synchronisation between players
    • Color-coded moves for each player
    • Live game state updates
    • Room-based gameplay system
  2. Game Modes:

    • Collaborative Race mode
    • Shared puzzle solving experience
    • Real-time progress tracking
    • Competitive gameplay elements
  3. Room Management:

    • Easy room creation and joining
    • Shareable invite links
    • Player color assignment
    • Real-time player tracking
  4. User Interface:

    • Interactive Sudoku grid
    • Color-coded player moves
    • Real-time game state display
    • Responsive design for all devices

Technology Stack

  • Frontend: React, TypeScript, Tailwind CSS
  • Backend: Node.js, TypeScript
  • Real-time Communication: PartyKit (WebSocket server)
  • Workflow Management: Temporal
  • Game Logic: Custom Sudoku puzzle generator

Future Improvements

  1. Game Modes:

    • Implementation of Blind Race mode
    • Difficulty-based board generation
    • Move validation system
    • Win condition detection
  2. Enhanced Features:

    • Player statistics tracking
    • Leaderboard system
    • Custom difficulty settings
    • Game history recording

Outcome

Speed Sudoku successfully demonstrates the power of real-time multiplayer gaming in the browser. The project showcases effective use of WebSocket technology and modern web frameworks to create an engaging, interactive gaming experience. It was a great opportunity to work with real-time data synchronisation and game state management.