Game developed with C# and Unity to learn UDP sockets and optimization.

This project is an online multiplayer arena game where players control spheres to push each other off the map. The game offers two modes: a solo mode (offline) where you face AI opponents 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 can be downloaded from my GitHub repository.
I built this project to learn game development, but more specifically to understand how servers work and how they manage to be fast and efficient without latency. This project was an excellent opportunity to learn about sockets, UDP vs TCP, how to secure a server to prevent cheating, and how to optimize the data to send to clients versus what to calculate server-side.
Key features include physics-based movements and realistic collisions. In solo mode, you face AI-controlled spheres that become stronger and faster after each round. Online mode can accommodate around 10 players without noticeable latency, you can create a private lobby to play with people you know and customize game settings (score, name, etc.).