Back to projects
An online multiplayer game icon

An online multiplayer game

Game built with C# & Unity to learn about UDP sockets and optimization.

An online multiplayer game
UnityC#Game DevelopmentMultiplayerHostingUDP SocketsOptimization

Summary

This project is an online multiplayer arena game where players control spheres to push each other out of the map. The game has two modes, a solo (offline) mode where you fight against AIs in a round-based system, and a multiplayer mode where you can play against friends in real-time with a lobby system. The game is playable on Windows and Mac and it can be downloaded in my GitHub repository.

Why this project?

I did this project to learn about game development but more specifically about how servers work and how they manage to be fast and efficient with no latency. This project was a great opportunity to learn about sockets, UDP vs. TCP, how to secure a server to prevent cheating and how to optimize what data to send to the clients and what data to calculate on the server side.

Features

Key features include physics-based movement and realistic collisions. In solo mode, you fight against AI-controlled spheres, after each round they get stronger and faster. The online mode can be played with around 10 players with no perceivable latency, you can create a private lobby to play with people you know, you can customize the game settings (score, name, etc.).