cleanoceans.
Let’s talk ↗

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.

  1. 01

    Unity game client

  2. 02

    ASP.NET Core Web API

  3. 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.

  • Unity Engine
  • C#
  • WebGL · Windows · Linux

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.

  • Unity Lobby
  • Unity Relay
  • Netcode for GameObjects

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.

  • ASP.NET Core
  • MySQL
  • REST API

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.

  • React · Vite · TypeScript
  • Linux · Nginx
  • Management & analytics

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.

CleanOceans management dashboard displaying player, match and gameplay event data
MANAGEMENT & ANALYTICS DASHBOARDCleanOceans / Admin

Unity / C#

Gameplay and the multiplayer experience

ASP.NET Core / MySQL

Accounts, match results and persistent data

React / TypeScript

Management dashboard and gameplay data