Multiplayer Game
PersonalAugust 2022

Multiplayer Game

Building a multiplayer game

Tech Stack

C#Unity.NET Core

About This Project

Multiplayer Game Engine

Overview

I developed this real-time multiplayer strategy game during high school — my first large-scale project combining networking, algorithms, and full-stack architecture.
The game allows two players to place, merge, and command 3D-modeled troops in real time. Networking is powered by Riptide, ensuring smooth synchronization and low latency.

To prevent cheating, all pathfinding is handled on the server using the A* algorithm, while the Unity client provides animations, formation logic, and user interaction. The system also includes login, matchmaking, and persistent player data.

Highlights

Real-Time Networking

  • Implemented with Riptide
  • Custom protocol combining
    • TCP for reliable updates
    • UDP for continuous real-time movement

Game Mechanics

  • Place and merge troops (3D models created by my brother)
  • Choose formations and command unit movement
  • Movement interpolation using Bezier curves

Server Architecture

  • Built entirely in C# (.NET Core)
  • Custom update loop with A* pathfinding
  • Optional console-based GUI for troop visualization

Client Implementation

  • Developed in Unity with local prediction for smooth gameplay
  • Fully synchronized with the server for real-time fairness

Challenges Overcome

  • Building a reliable multiplayer server from scratch
  • Synchronizing multiple moving entities in real time
  • Balancing client prediction with authoritative server control

Tech Stack

  • Unity Engine – Game client and rendering
  • C# / .NET Core – Server logic and networking
  • PostgreSQL – Player data and matchmaking
  • Riptide Networking – Low-latency communication layer

Project Links