Back to work index

Project / 02

UnitZero

UnitZero began as competitive FPS work at Ojowa Entertainment. A later networking milestone made server authority observable and added tested per-bone lag compensation to its Lyra-informed gameplay architecture.

Professional origin / continued engineering

Ojowa Entertainment origin / competitive shooter

Gameplay evidence: shooting, replicated health, death, respawn, and score tracking in UnitZero.
Role
Game Developer
Type
Professional origin / continued engineering
Engine
Unreal Engine 5.5.4
Language
C++ / Gameplay Ability System
Authoritative NetworkingLag CompensationGASAutomation

Evidence record

See the system

Every item is either a direct capture or an explicit note about what is and is not publicly available.

Evidence note / 01

UnitZero gameplay capture

Multiplayer match loop

Shooting, replicated health, death, respawn, and score tracking in the Ojowa Entertainment FPS project. This existing clip predates the August networking instrumentation and is not presented as evidence of lag compensation.

Evidence note / 02

Engineering report / 28–30 Aug 2026

Networking milestone

A dedicated server and two-client milestone covering visible movement correction, server shot verdicts, per-bone rewind, replicated health, deterministic roster logic, and a removable diagnostics layer.

Evidence note / 03

Deterministic tests / honest limitation

Verification boundary

Nine headless tests pass, including a fixed test where rewind turns a miss into a hit. Filmed hit-rate comparisons are intentionally not quoted because human aim variance makes them unsuitable for measuring effect size.

Evidence note / 04

Architecture reference

Lyra reference

Lyra informed the approach to lifecycle, abilities, replication, and multiplayer correctness. It is documented as a reference—not presented as a separate studio project.

The problem

What had to hold together

Damage was already server-only and Unreal movement prediction was intact, but neither was observable—and lag compensation did not exist. The milestone had to prove responsiveness under latency, validate every client shot claim on the server, and make shared state legible without moving authority into the debug layer.

What I built

Ownership, not adjectives

  • 01

    Built server-side lag compensation around a fixed-rate history buffer, per-bone oriented hitboxes, interpolated rewind queries, and math-only ray tests that never move live character meshes.

  • 02

    Rebuilt shooting as a client-proposed, server-validated pipeline with GAS gates, origin and aim plausibility checks, cover-aware tracing, friendly-fire rules, and an explicit verdict returned to the shooter.

  • 03

    Added a removable CVar-gated telemetry layer for dedicated-server sessions: client/server movement, correction distance, shot rejection reasons, rewind state, health, and roster state.

  • 04

    Extracted roster decisions into engine-independent functions and added nine deterministic headless tests spanning rewind behaviour, interpolation, buffer bounds, team assignment, bot fill, and late-join eviction.

Networking milestone / 28–30 Aug 2026

Authority, made visible

The milestone turned an invisible authority model into something a reviewer can inspect, then closed the one real networking gap with a tested lag-compensation subsystem.

5 / 5
P0 networking requirements completed
9 / 9
Headless automation tests passing
60 Hz / 1 s
Fixed-rate hitbox history window
7
Defects found and fixed

Shot pipeline

  1. 01

    Client proposal

    Assign a monotonic shot ID, capture aim and fire time, and play cosmetics immediately.

  2. 02

    Server gate

    Apply GAS cooldown, dead, and invincibility rules before validating origin and aim plausibility.

  3. 03

    Historical resolution

    Trace world cover first, rewind candidate hitboxes, interpolate between frames, and resolve the nearest valid bone.

  4. 04

    Owner verdict

    Return accepted or rejected state, reason, damage, rewind time, and hit bone to the shooter.

What proves it

Deterministic A/B

One test holds every variable fixed and asserts that the same ray hits a rewound target but misses its present position.

Shared state

Dedicated-server logs show the same replicated health ladder on both human clients through death and respawn.

Instrumentation paid back

Shot-reason telemetry surfaced silent cooldown, spawn-protection, team-order, naming, geometry, and observability defects.

System architecture

Architecture, made legible

Lyra informed the modular composition and readiness lifecycle. UnitZero applies that foundation to its own shot-validation and rewind path; Lyra is an architectural reference, not footage or production evidence.

Server-authoritative shot pipeline

Client shot claim
GAS gates
Server validation
Historical rewind
Verdict / replication

Key systems

Inspect the work

01

Historical rewind

A 60-frame ring buffer records 13 skeletal hit zones at 60 Hz; queries interpolate between frames and test oriented boxes mathematically.

02

Shot authority

The client submits intent and immediate cosmetics; the server gates, validates, traces, applies damage, and reports the verdict.

03

Network telemetry

A CVar-gated HUD reveals movement corrections, shot reasons, rewind time, hit bone, health, and roster state without owning gameplay decisions.

04

Deterministic tests

Nine headless tests prove the rewind direction and isolate roster rules from actors, worlds, and editor-only test setup.

Result / Completed all five networking requirements with 9/9 automation tests passing. The instrumentation also exposed and helped resolve seven defects—four of them pre-existing and silent—while the report deliberately leaves lag-compensation effect size unclaimed until a controlled measurement exists.