TECH
Behind a shared experience.
From gameplay to persistent data: the game client, multiplayer connection and management infrastructure behind CleanOceans.
01 / SYSTEM ARCHITECTURE
Connected systems. Clear responsibilities.
- 01
Unity game client
↔ - 02
ASP.NET Core Web API
↔ - 03
MySQL database
The game client and management dashboard access persistent data through the API. Real-time multiplayer communication uses Unity Lobby, Relay and Netcode for GameObjects.
02 / GAME CLIENT
Unity and C#
The 2D underwater environment brings together movement, waste collection, recycling, animal rescue and teammate revival. Registration, sign-in, lobby, inventory and match result screens complete the game flow.
03 / MULTIPLAYER
One lobby. One shared world.
Unity Lobby brings 1–4 players together. Relay provides connectivity, while Netcode for GameObjects synchronizes player movement and in-game events. WebGL uses WSS connections; desktop builds use UDP.
04 / DATA AND BUSINESS LOGIC
The match ends. Progress stays.
The ASP.NET Core Web API manages accounts, player profiles, match results, scores and the in-game economy. MySQL stores persistent data. Controller, service and repository layers separate communication, business rules and data access.
05 / MANAGEMENT AND DEPLOYMENT
Behind the scenes.
The React and TypeScript dashboard tracks players, matches, economy transactions and gameplay events. A Linux and Nginx deployment architecture is designed to serve the API and web interface.
04 / BEHIND THE GAME
From a game to an end-to-end project.
CleanOceans was developed as a computer engineering graduation project. The game client, backend, database and management dashboard work as parts of one system.

Unity / C#
Gameplay and the multiplayer experience
ASP.NET Core / MySQL
Accounts, match results and persistent data
React / TypeScript
Management dashboard and gameplay data
