Skip to content
Elliot Mousseau
All projects
Game Backend AI Cloud

VERTEX

Cross-platform multiplayer training platform on AWS GovCloud.

Role: Lead engineer (game team of 3); built portal, infrastructure, and multiplayer server solo Period: 2024 to present
VERTEX

Summary

A cross-platform multiplayer training platform built around a Unity 6 simulation. WebGL browsers and Meta Quest VR headsets share the same session, synchronized through a real-time multiplayer server on AWS GovCloud at FedRAMP High.

Problem

Emergency-services training is expensive, dangerous, and limited by physical space and equipment. VERTEX is a multiplayer training platform where instructors run scenarios for trainees on any device. Cross-platform multiplayer means VR trainees and laptop trainees share the same session, with synchronized scenario state, equipment, AI characters, and vehicles.

Architecture

I led a game team of three on the Unity 6 client and built the rest of the stack solo. The game uses a host-authority architecture where the first player owns simulation-critical state with automatic host promotion on disconnect. The Node.js multiplayer server I built handles real-time state synchronization across WebSocket and UDP, enabling VR and WebGL players to share a session. The Laravel portal I built wraps the experience, integrates AWS GovCloud end-to-end, and embeds AWS Bedrock with a RAG system so trainees can ask for reference material from the game or the portal. The Node server is never directly exposed; all traffic is gated by the Laravel proxy with short-lived Sanctum auth, hardened, and audit-logged.

Outcomes

  • Two deployment targets from a single Unity 6 codebase: WebGL and Meta Quest VR
  • VR and WebGL trainees synchronized in the same multiplayer session through AWS GovCloud
  • Bedrock-powered RAG for in-game and in-portal reference material lookup
  • Full AWS GovCloud deployment at FedRAMP High
  • Led a game team of three; built the portal, infrastructure, and multiplayer server solo

Hardest bits

  • VR and WebGL players sharing the same multiplayer session synchronized through GovCloud
  • Hardening the boundary between the Laravel portal and the Node multiplayer server so the Node server is never directly exposed
  • Authenticated browser sessions tied through to the Unity WebGL build via .jslib interop so the game can make authenticated API calls
  • Operating inside AWS GovCloud at FedRAMP High while keeping development velocity reasonable

Stack

Unity 6 C# WebGL Meta Quest Node.js WebSocket UDP Laravel 12 AWS GovCloud AWS Bedrock