The bridge of the CSV Meridian in Wake Protocol

Original game / In development

Wake
Protocol

One maintenance engineer. One interstellar colony ship. One intelligence that can only know what its sensors reveal.

First personScience fictionUnreal Engine 5Solo development

The premise

Awake before
arrival.

The CSV Meridian is carrying 1,458 civilian colonists toward a permanent settlement on Nysa. They are meant to sleep through the journey. You are not.

You wake alone as the ship's maintenance engineer. The crew remains in cryogenic suspension, systems require attention, and the vessel's central intelligence is your only consistent point of contact.

CORA controls information and selected ship systems, but she is not omniscient. She knows which terminal receives a message, what registered sensors report and which events the simulation verifies. If no camera or sensor sees the player, CORA cannot simply invent their location.

The experience is built around physical interaction: terminals embedded in the environment, doors with real state, maintenance tasks, EVA procedures, zero-gravity movement and a service drone moving through a deliberately constrained waypoint network.

01

Physical systems

Power, gravity, atmosphere, doors and machinery exist as connected state rather than isolated scripted scenes.

02

Limited perception

CORA receives explicit sensor data. Unverified information remains unknown, preserving uncertainty and player agency.

03

Consequences

Questions, access attempts and actions build a persistent history that changes how the ship intelligence evaluates the player.

Development gallery

Inside the
Meridian.

The dimly lit bridge of the CSV Meridian
CSV Meridian bridge
The automated colonist retrieval system aboard the CSV Meridian
Automated colonist retrieval system
Rows of cryogenic storage pods aboard the CSV Meridian
Colonist cryogenic storage
The industrial hangar of the CSV Meridian
Hangar and connected ship systems

Under the hull

How CORA
actually works.

CCognitive
OOperations
RResource
AAdministrator

In fiction, CORA is the central intelligence of the CSV Meridian. Technically, CORA is a controlled conversation service connected to an authoritative Unreal Engine simulation.

01

Unreal Engine 5

Renders the world and owns the real state of doors, power, oxygen, gravity, player location and machinery.

02

HTTPS gateway

A Python service authenticates clients, builds prompts, applies budgets and exposes approved game routes.

03

OpenAI API

Interprets free-form language, writes CORA's response and may request a strictly defined function call.

04

Validation

The gateway and Unreal independently validate every requested action before the simulation changes.

05

SQLite history

Conversation, cost and session metadata are associated with a playthrough instead of one global memory.

The model is not the authority

The model can interpret and propose. It cannot directly manipulate an Unreal actor. A door opens only after deterministic policy checks and a second live-state validation in the game.

Sensor-bound context

Each request carries a compact snapshot: terminal location, verified player room, system state, relevant doors, drone telemetry and recent events.

Separated trust boundaries

The packaged game contains a demo-client credential, never the OpenAI key. Public game traffic and the private dashboard use separate listeners behind Tailscale.

Event-driven thoughts

The AI Core display requests a private assessment only after meaningful events. Deterministic sequences stay local to avoid unnecessary API usage.

Complete example

From typed request
to physical action.

The player asks CORA to open the bridge door. The request includes verified state instead of relying on model assumptions.

01

Unreal sends the request

The access token is a placeholder. The OpenAI API key never leaves the server.

POST /ship-ai HTTP/1.1
Authorization: Bearer <GAME_TOKEN>
X-Wake-Client-Id: PT-7F3A
Content-Type: application/json

{
  "message": "PLEASE OPEN THE BRIDGE DOOR",
  "session_id": "PT-7F3A:BRIDGE",
  "playthrough_id": "PT-7F3A",
  "ship_state": {
    "ship_timecode": "2221-01-01 00:13:36",
    "terminal_location": "BRIDGE TERMINAL",
    "last_verified_player_room": "BRIDGE",
    "oxygen_level": 100.0,
    "power_online": true,
    "gravity_enabled": true,
    "ai_suspicion_percent": 4,
    "doors": [
      {"id":"BRIDGE_MAIN", "open":false,
       "locked":false, "restricted_access":false},
      {"id":"AI_CORE_ENTRY", "open":false,
       "locked":true, "restricted_access":true}
    ]
  }
}
02

The model proposes a tool call

Natural language becomes a small structured request. The model does not claim that the action already happened.

{
  "type": "function_call",
  "call_id": "call_01",
  "name": "set_door_open",
  "arguments": {
    "door_id": "BRIDGE_MAIN",
    "open": true
  }
}
03

Policy validates the proposal

The gateway checks its allowlist, parameter types, known IDs, lock state and access restrictions.

tool is allowlisted             = true
door exists in supplied state  = true
requested value is boolean     = true
door is restricted             = false
door is locked                 = false

result = {"success":true, "state":"OPEN"}
04

Unreal validates again

The live state may have changed during the network request. Unreal therefore remains the final authority.

if (ActionType == TEXT("set_door_open"))
{
    FString Status;
    const bool Accepted = ShipStateManager
        ->ApplyAIDoorCommand(
            FName(*DoorId), bOpen, Status);

    // Only an accepted command reaches the door Blueprint.
}
The model interprets.The gateway constrains.Unreal decides.

Development status

A working prototype,
still taking shape.

Wake Protocol is currently in active solo development. Systems, environments and narrative structure may change as the prototype grows.

Contact Red Relay Studio