
Hollow Lullaby
Game agentic coding — Rust · Bevy · Lua.
A Bevy game whose gameplay is authored by agents. Rust engine, hot-reloadable Lua logic and a command-buffer pattern that lets an AI iterate on live game behavior.
> cat ./overview.md
Hollow Lullaby is a 2D game built in Rust on the Bevy engine (v0.19), with gameplay scripted in hot-reloadable Lua 5.4 via mlua. It targets macOS for development and iOS for deployment.
The architecture separates the engine from the logic: Bevy owns the ECS, rendering and input, while Lua defines per-frame behavior through lifecycle callbacks (`on_start`, `on_update`). Rather than mutating the ECS directly, Lua queues commands the Rust core drains each frame — a clean command-buffer boundary.
That boundary is what makes it a testbed for agentic coding: an AI agent reads engine state and issues scripted commands back, and hot reload means edits to the Lua behavior take effect instantly — the tight iteration loop agent-driven development depends on.
> ls ./features
Rust + Bevy Engine
Bevy 0.19 ECS handles rendering, windowing, input and the game loop in native Rust.
Hot-Reloadable Lua
Edit the Lua behavior script and changes take effect immediately — no rebuild.
Command-Buffer Boundary
Lua queues commands the Rust core processes each frame — a safe, agent-friendly interface to the ECS.
Agent-Driven Iteration
An AI agent reads state and writes scripted behavior back, closing the loop for agentic game development.
Cross-Platform
macOS for development, iOS for deployment via a static Rust library linked into a UIKit app.
One-Command Builds
`make run` for desktop, `make ios-run` for the simulator — friction-free iteration.
> open ./screenshots

> cat ./stack.json
{
"name": "Hollow Lullaby",
"category": "Game / Agentic Coding",
"stack": [
"Rust",
"Bevy 0.19",
"Lua 5.4",
"mlua",
"iOS / UIKit"
]
}