Multiplayer Card Game

Real-Time Multiplayer • Android • Socket.IO • Firebase-Enabled

Unity C# Socket.IO Node.js Firebase Auth FCM Push Social Invites Real-Time Multiplayer State Synchronization

Project Overview

Multiplayer Card Game is a real-time online card game built for Android, designed to support smooth multiplayer gameplay using a custom Socket.IO client–server architecture.

The project integrates Firebase Authentication for secure user login, Firebase Cloud Messaging for real-time notifications, and social invite flows to improve player engagement and retention.

My Role & Responsibilities

Engineering & System Design

Client–Server Multiplayer Architecture

The game uses a centralized server model where the backend acts as the single source of truth for game state, ensuring consistency and fairness.

Firebase Authentication & Player Identity

Firebase Authentication was used to provide secure and frictionless login using Google and social providers, allowing players to persist identity across sessions and devices.

Push Notifications & Social Invites

Firebase Cloud Messaging enables push notifications for game events such as match invites, turn reminders, and re-engagement prompts.

Network Optimization

Reduced unnecessary data transmission by sending only essential state updates instead of full game state snapshots on every action.

Challenges & Solutions

Challenge: Secure multiplayer access and identity management

Multiplayer games require trusted player identity to prevent impersonation and abuse.

Solution: Integrated Firebase Authentication and validated authenticated user tokens on the backend before allowing multiplayer actions.

Challenge: Maintaining game state consistency in real-time

With multiple players performing actions concurrently, maintaining a single, authoritative game state was critical.

Solution: Implemented server-authoritative logic where the backend validates every move and emits synchronized events to all clients.

Impact & Results

Media

🎥 Gameplay Video