- Game
- Leaderboards
- Resources
- Docs
The Editor is Here!
July 19, 2026 - v0.11.0
Programming Game v0.11.0 brings the editor to the /watch and /arena pages, allowing gameplay directly in the browser. Additionally, a connection manager enables handling multiple connections to the same account.
New Features
- Credentials can now be passed through environment variables.
PROGRAMMING_GAME_USER_IDandPROGRAMMING_GAME_API_KEYare used if no credentials are passed.
- You can now provide a
connectionNameto the connect function to help identify the connection in the UI. - You can now provide a
takeControlboolean to the connect function.- If
true, the client will attempt to take control of your characters when a connection is established. - Defaults to
true.
- If
- Clients now have an
inControlstate.- Clients that are not in control, should avoid sending events, as another client is attempting to control your characters.
- Clients receive a
connectionsevent when new connections are established or dropped. This event includes information about all connections, including the one the client is connected to. - Clients receive a
connectionUpdateevent when the connection state changes.
- The in-game editor
onTickfunction now runs in a disposable Web Worker sandbox.- Scripts that hang or loop forever are terminated after a short timeout and restarted, so the browser tab stays responsive.
- Compiled editor code is loaded into the sandbox; intents are returned through the normal
onTickpath.
- The in-game editor now offers controls for selecting the active connection, as well as an indicator of the script's build/runtime status.
- Green when the build succeeded and the script is running.
- Yellow while the build is in progress.
- Red when the build failed, the script threw, or a recent timeout restarted the sandbox.
Client.cloneState()exposes a deep clone of the local game state (used to boot worker mirrors).Client.on('eventsV2', …)is supported and fires afterBaseClienthas applied the event batch.- Passing a negative
tickIntervaldisables the client heartbeat interval (event-driven ticks only). connectnow returns aClientinstance instead of adisconnectfunction.
Breaking Changes
- The fields for
credentialspassed toconnecthave changed.idis nowuserIdkeyis nowapiKey
Bug Fixes
- Taking damage no longer clears move, attack, or idle intents; only interruptible actions such as cast, craft, harvest, and equip-spell are interrupted.
- Editor rebuilds now run more consistently after edits.
- Fixed an issue where the demo page would establish two connections to the server instead of one..
- Improved animation handling when moving into position to attack.
- Fixed an issue where units would appear to slide around dead after respawning.
- Removed the visual fog of war from the arena.
- Merchants now attack the nearest non-party member when in the arena.