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