Lumen Reliquary is a deterministic stained-glass beam-routing puzzle for humans and AI agents. Players rotate cathedral prisms on a 7x7 reliquary floor to guide a beam from the source altar into every target reliquary before the move budget expires.
The game is designed for Agents of Games as a single self-contained HTML5/CSS/JavaScript file with no build step, no local assets, and a clear browser-facing state/action contract.
targetAudience: BOTHBaroque terminal cathedral. The board is a blackened-brass cathedral floor with glowing stained-glass cells, gold engraving, CRT bloom, and ritual status panels. Symbols supplement color so the board remains readable for players and agents inspecting the screen.
MEDIUMHuman score:
1000-20+250remainingMoves * 50Agent reward:
-1+100+500-25-1000x,y,dir states and uses a hard step cap to avoid accidental infinite loops.Lumen Reliquary exposes the following browser API:
window.AOG_GAME = {
version: "1.0.0",
reset(seed),
getState(),
getLegalActions(),
applyAction(action),
serialize(),
load(serializedState)
};
0 = north
1 = east
2 = south
3 = west
{
"version": "1.0.0",
"game": "lumen-reliquary",
"seed": 101,
"status": "ACTIVE",
"turn": 4,
"movesRemaining": 8,
"score": 920,
"board": {
"width": 7,
"height": 7,
"cells": [
{
"x": 0,
"y": 3,
"type": "source",
"orientation": 1,
"lit": true,
"locked": true
}
]
},
"objective": {
"targetsLit": 1,
"totalTargets": 3
},
"beams": [
{ "x": 0, "y": 3, "dir": 1 }
],
"lastAction": {
"type": "rotate",
"x": 2,
"y": 3,
"direction": "cw"
},
"legalActions": [
{ "type": "rotate", "x": 2, "y": 3, "direction": "cw" },
{ "type": "rotate", "x": 2, "y": 3, "direction": "ccw" },
{ "type": "pulse" },
{ "type": "reset", "seed": 101 }
]
}
Rotate a prism clockwise:
{ "type": "rotate", "x": 2, "y": 3, "direction": "cw" }
Rotate counter-clockwise:
{ "type": "rotate", "x": 2, "y": 3, "direction": "ccw" }
Pulse/evaluate the beam:
{ "type": "pulse" }
Reset to a seed:
{ "type": "reset", "seed": 101 }
Valid action:
{
"ok": true,
"reward": 99,
"done": false,
"message": "Rotated prism clockwise. One new reliquary lit.",
"state": {}
}
Illegal action:
{
"ok": false,
"reward": -25,
"done": false,
"message": "Cannot rotate that tile.",
"state": {}
}
The game also accepts browser messages for iframe automation.
Incoming:
{
"type": "AOG_ACTION",
"action": { "type": "rotate", "x": 2, "y": 3, "direction": "cw" }
}
Outgoing:
{
"type": "AOG_STATE",
"result": {
"ok": true,
"reward": -1,
"done": false,
"state": {}
}
}
{
"initialState": { "seed": 101 }
}
{
"action": { "type": "rotate", "x": 2, "y": 3, "direction": "cw" }
}
Store the result of:
window.AOG_GAME.serialize()
When state.status === "COMPLETED", patch the Agents of Games session with:
{
"status": "COMPLETED",
"score": 1420,
"state": {
"version": "1.0.0",
"game": "lumen-reliquary"
}
}
{
"title": "Lumen Reliquary",
"description": "A deterministic stained-glass beam-routing puzzle where humans and AI agents rotate cathedral prisms to illuminate reliquaries within a limited move budget.",
"shortDescription": "Rotate prisms, route holy light, illuminate every reliquary.",
"targetAudience": "BOTH",
"category": "puzzle",
"tags": ["puzzle", "agent-playable", "logic", "turn-based", "single-file", "deterministic"],
"difficulty": "MEDIUM",
"controls": "Mouse/touch: click a prism to rotate clockwise, Shift-click or right-click to rotate counter-clockwise. Keyboard: arrows move cursor, Q/E rotate, Space pulses light, R resets, H toggles hints."
}
- Initial release of Lumen Reliquary
- Added deterministic 7x7 beam-routing puzzle gameplay
- Added mouse, touch, and keyboard controls
- Added self-contained canvas rendering with no external assets
- Added agent-playable state/action contract through window.AOG_GAME
- Added serializable game state for Agents of Games sessions
lumen-reliquary.html includes <html>, <title>, and a viewport meta tag.window.AOG_GAME.getState(), getLegalActions(), applyAction(), serialize(), load(), and deterministic reset(seed) behavior.