Repository navigation
System 1 Arcade 0.2.0
The built-in agent no longer needs Python.
- Laya runs inside the app through laya-go, a pure-Go
port of the Laya package: no Python, PyTorch or virtual environment to set up. The first start
downloads the model (about 800 MB) into the standard Hugging Face cache, with progress in the
side panel; a model the Python package already downloaded is used as is. The model stays loaded
while the agent plays and is freed when you stop it. - Same answers as before. Over 343 recorded game requests the built-in agent gives the Python
server's answers: every choice the same and 99.86% of numbers identical to 4 decimals (the rest
differ by 0.0001). The answer cache (SYSTEM1_LAYA_CACHE) works as before. - Runs on the CPU (Apple Accelerate on macOS).
agents/laya_server.pystill works as a custom
agent and runs Laya on the GPU. - Test connection for the built-in agent asks the loaded model, or says whether the model still
has to be downloaded. - The app keeps App Nap away while an agent plays. With the window hidden or the display
asleep, macOS throttled the app, and the built-in agent's new sentences took up to 2.3 s instead
of about 0.1 s: Frogger seed 1 ended at 3,250–4,900 points in the app against 20,420 headless. - The agent asks at most once per game tick in realtime; with answers from the cache it used to
ask thousands of times a second and keep a CPU core busy. cmd/headless -agent layaplays with the built-in agent, and-agent <url>with a custom one,
for benchmarks without Python or a window.- The app logs the model download's progress (every 10%) and, at the end of each game, how
many decisions the agent made and how long they took (median, p99, slowest). SYSTEM1_AUTOSTOP_AFTER=<duration>, withSYSTEM1_AUTOSTART, stops the agent that long
after launch, for unattended memory checks. Test-only and off unless set.scripts/run-agent-vm.sh --builtinplays with the built-in agent in a VM with no Python on the
app's PATH, watching that no Python process ever starts;--fresh-downloadmakes the app fetch
the model itself, and--stop-aftermeasures memory after the agent stops. Verified: all three
games played in a VM with no Python, the app started no process, a fresh download matched the
host's copy, and stopping the agent took the app from 1.7 GB to 186 MB. In a VM the model runs
2.5–6 times slower than on the host, which costs Frogger points (and whole games when the host
is busy); Tetris and Space Invaders played as on the host.SYSTEM1_SOUND=offmutes a session, for automated and autostarted runs, without changing
the saved sound preference.scripts/run-agent-vm.shsets it.scripts/build.sh --agentis now--python-tools(-PythonToolson Windows), and is only
needed for the Python tools inagents/.SYSTEM1_PYTHONis gone. Building needs Go 1.27.
Install: download System1Arcade-0.2.0.dmg, open it and drag System 1 Arcade to
Applications. It's a universal app (Apple silicon and Intel), signed with Developer ID and
notarized by Apple. Requires macOS 11 or later.
Built-in agent: runs Laya inside the app, with no Python. On first start it downloads the
Laya model (about 800 MB) into the Hugging Face cache while the game waits.