Multiplayer Tank Battle

Real-Time Multiplayer • Android • iOS • WebGL • Windows • 1–4 Players

Unity Photon PUN Multiplayer Clean Architecture State Machines Real-Time Sync

Project Overview

Multiplayer Tank Battle is a real-time, Battle City–inspired multiplayer tank game supporting 1–4 players per match. The game is designed to run consistently across Android, iOS, WebGL, and Windows.

This project was built to deeply understand multiplayer fundamentals such as state synchronization, player authority, latency tolerance, and scalable room-based architecture.

My Role & Responsibilities

Engineering & System Design

Multiplayer Architecture (Photon PUN)

Multiplayer engineering focuses on maintaining state consistency, handling network latency, and ensuring fair gameplay.

I preferred using Custom Room Properties and RaiseEvent for deterministic synchronization, avoiding excessive RPC usage to reduce network overhead.

Gameplay State Management

Implemented clean gameplay flow using state machines for both players and AI-controlled enemy tanks.

Challenges & Solutions

Challenge: Synchronizing game start across multiple players

Players often joined rooms at different times, causing desync issues during gameplay initialization.

Solution: Implemented a player-ready system using Photon player properties. The master client triggered scene synchronization only after all players confirmed readiness.

Challenge: Keeping gameplay responsive under network latency

Solution: Minimized network messages, used event-based sync, and allowed local prediction for non-critical visuals.

Impact & Results

Gameplay & Source

🎥 Gameplay Video

💻 GitHub Repository