Turn-Based Network Sync (v1.0.0)
Project Status: Milestone 1 Complete (v1.0.0 Released & Verified)
Role: Lead Engine Developer & Systems Architect
Tech Stack: Unity 6, C#, Zero-Allocation Networking, State Reconciliation, SOAP, EditMode Testing
Project Overview
A high-performance, studio-grade networking architecture simulating asynchronous turn-based multiplayer state synchronisation. Built to solve the volatility of unstable mobile networks in digital tabletop games, the engine pairs zero-allocation command serialisation with an out-of-order state reconciliation pipeline and an automated latency simulation wrapper—guaranteeing deterministic state convergence with zero runtime heap allocations.
Key Engineering & Architecture Highlights
-
Deterministic Command Pipeline (ICommand)
-
Architected an immutable, zero-allocation command processing loop. All network command payloads and state transitions utilise direct memory blitting and pre-allocated circular buffers, eliminating heap allocations and garbage collection pauses during gameplay ticks.
-
State Reconciliation & Rollback Pipeline
-
Engineered a deterministic reversal and fast-forward engine. When out-of-order or late-arriving packets are detected, the system safely rolls back local state to the latest validated snapshot and deterministically re-simulates intermediate actions to maintain absolute parity across peers.
-
Network Simulation & Verification Suite
-
Authored the NetworkLatencySimulatorWrapper, a dedicated testing layer that injects artificial jitter, delivery latency, and interval-based packet drops (tested to 150ms thresholds) into the pipeline without runtime allocations.
-
Rigorous Automated Quality Standard
-
Verified end-to-end functionality across 37 automated EditMode tests, covering deterministic sequence ordering, command inversion safety, snapshot ring-buffer wraparound, and thread-allocation profiling confirming 0 B GC churn.
Want to see more under the hood?
Review the complete production repository, commit history, and release tags on GitHub