# Multiplayer games and the servers behind them.

> Multiplayer game development by Dream Awake Labs. Server-authoritative sessions, replicated gameplay, and the operator tools around them, for Unity, Unreal, and native engines, from a shared headset session in one room to a replicated inventory in a roguelike.

The problem: Networked gameplay goes wrong in the details: a dropped player who cannot rejoin, an inventory that disagrees between machines, a level that generates differently on each machine, a floor nobody can run.

Who it is for: For game teams and venues that need several players, or several headsets in one room, to share one correct session.

## One room, several headsets, one session

Spatial Venue is our server for location-based XR. It owns the roster, phases, scores, course, props, and settings of a session, validates what each headset reports, and streams bit-packed snapshots to every headset 30 times a second over UDP, with reconnect tokens so a dropped headset rejoins in place.

Around the server sit the tools a floor needs: a client library shipped as a Unity package, a read-only status page with a live feed, a command-line control tool with a JSON mode for people and for agents, and a DASP control socket so automation can drive a session without patching the game. Load tests run 48 simulated players across 8 sessions, and the decoders are fuzzed.

- The Spatial Venue status page during a test session: a "Stop all" button with tick count and uptime, and a table with one session, Floor A, Ready on hole 1 of 3, and four headsets, each Aligned with 100% battery, tracking ok, and a heartbeat under one second. (The read-only status page served by the venue server. Captured in testing with simulated participants.): https://dreamawakelabs.com/work/venue-runtime/status-page.webp
- Diagram of three layers: a game as a thin layer of subclasses and data assets on top; the GameplayFramework plugin in the middle with abilities and attributes, data-driven input, characters, event-driven UI, inventory, spawners, AI and projectiles, and pickups and collectibles; and Unreal Engine 5 systems at the bottom. (In Unreal, GameplayFramework gives a game a replicated base so it can be mostly data and a few subclasses.): https://dreamawakelabs.com/work/gameplay-framework/architecture.svg

Case study: [Spatial Venue](https://dreamawakelabs.com/work/venue-runtime.md)

## How it works

- [Spatial Venue](https://dreamawakelabs.com/technology#venue-runtime): runs server-authoritative sessions with reconnects, a status page, and a control tool.
- [GameplayFramework](https://dreamawakelabs.com/technology#gameplay-framework): gives an Unreal game replicated abilities, attributes, inventory, and seeded procedural levels that every client generates identically.
- [DASP](https://dreamawakelabs.com/technology#dasp): lets automation drive a session through a control socket instead of patching the game client.
- [XR foundation](https://dreamawakelabs.com/technology#xr-foundation): is the Unity starting point for the headset side on Meta Quest 3 and Android XR.
- [Spatial Unreal](https://dreamawakelabs.com/technology#spatial-unreal): is the Unreal plugin for games and installations that take part in DASP experiences.

## What we can build

- **Session servers**: Deterministic, server-authoritative state streamed to every client, with reconnects that put a dropped player back in place.
- **Replicated gameplay**: Abilities, attributes, inventory, and spawning that stay correct over the network, configured with data rather than code.
- **Engine packages**: Native client libraries shipped as Unity and Unreal packages, with one codebase per engine across devices.
- **Procedural content**: Seeded levels and layouts that every client generates identically.
- **Operator tools**: Status pages, control tools, and JSON interfaces so people and agents can run sessions.
- **Load and fuzz testing**: Simulated players that fill sessions, and fuzzed decoders on every network boundary.

## Projects

- [Spatial Venue](https://dreamawakelabs.com/work/venue-runtime.md): A Rust server that runs shared sessions for several headsets in the same room, with a live status page, a command-line control tool, and a DASP control socket for automation.
- [Puttscape: Mixed-Reality Mini-Golf](https://dreamawakelabs.com/work/mixed-reality-mini-golf.md): Mixed-reality mini-golf on Meta Quest 3 and Android XR from one codebase, with holes generated from the scanned room and a venue client that connects the game to our Spatial Venue server.
- [GameplayFramework for Unreal Engine](https://dreamawakelabs.com/work/gameplay-framework.md): An open-source Unreal Engine plugin for building replicated, data-driven games on the Gameplay Ability System. GlitchWalker and Collectors Edition are built on it.
- [GlitchWalker](https://dreamawakelabs.com/work/glitchwalker.md): A third-person roguelike in Unreal Engine 5, built as a thin layer of data and subclasses on GameplayFramework.

## One mode, server-authoritative

We run one game mode server-authoritative with two to four players, or load-test the server you already have with simulated players.

What you get: The running mode or the load-test report, and a written note on what to fix or build next.

What you bring:

- The engine and the current networking, if any
- The mode or the session shape to test
- Access to a build and to the server

- [Plan a multiplayer system](https://dreamawakelabs.com/start?from=%2Fmultiplayer)
- Email: hello@dreamawakelabs.com

## Other areas of expertise

- [Story & World Intelligence](https://dreamawakelabs.com/story-intelligence.md): Film search, AI characters, and interactive stories.
- [Interactive & Physical Experiences](https://dreamawakelabs.com/experiences.md): Experiences that respond to the people in the room.
- [AI agents & business automation](https://dreamawakelabs.com/agents.md): AI agents for everyday business work.
- [Synthetic data & digital humans](https://dreamawakelabs.com/synthetic-data.md): Synthetic data for training and testing AI.
- [Agent-Ready Web Applications](https://dreamawakelabs.com/agent-ready-web.md): Web apps for people and AI agents.
- [Digital Twin Simulation](https://dreamawakelabs.com/digital-twins.md): Simulated people, spaces, and systems in a game engine.
- [Custom engineering](https://dreamawakelabs.com/software.md): Engineering for the parts no off-the-shelf product covers.
