All projects Project Completed

09 / Project / Jan 2026 - Apr 2026

Student Gaming Platform (SGP)

A JavaFX desktop platform for Tic-Tac-Toe and Connect Four with local TCP multiplayer, accounts, lobby matchmaking, in-game chat and leaderboards.

Team members across 5 sub-teams
17
JUnit 5 tests
245
Networked games
2
Connected screens
11

Overview

SGP lets students play Tic-Tac-Toe or Connect Four against each other over a real TCP network, with accounts, lobby matchmaking, in-game chat and a live leaderboard, all in one polished desktop window. It was built by a 17-member team split into five sub-teams for SENG 300.

Leading the integration

I worked on the UI sub-team and was the sole member of the Integration sub-team, which put me in charge of turning the pieces into one product. Before that work, the codebase was a set of disconnected parts: separate game engines, standalone UI screens, a console networking stub, no account system and mismatched APIs.

I refactored both engines behind a shared game-engine contract with immutable state, so every move returns a new state instead of mutating a shared one. I then rebuilt the app as a single window with a custom title bar and callback-based navigation, wiring all eleven screens from Welcome and Auth through Lobby, Gameboard and Win.

Multiplayer and persistence

I replaced the stub with real multiplayer using java.net sockets: localhost port scanning across ports 5300 to 5325, a line-based message protocol, lobby codes, host and join flows, chat over the same connection and thread-safe UI updates. Host-authoritative state also fixed a desync where a rejected move could soft-lock the other player.

Accounts, game saves, player statistics and leaderboards use file-based persistence with atomic saves and FileLock, so concurrent writes cannot corrupt the data.

Quality

I contributed to system design, testing and documentation, including the full PlantUML diagram set and the Iteration 3 documentation, backed by a 245-test JUnit 5 suite of unit and integration tests.

Project summary / 33 pages / PDF

Student Gaming Platform (SGP)