Project Setup
Environment Configuration
Game files are stored in an environments directory. The default isenvironment_files in the project root.
You can configure this in your .env file:
Directory Structure
The environments follow this directory structure:Creating a New Version
Copy your existing version folder to create a new version:metadata.json with the new version (more info):
Editing the Game File
The main game logic resides ingame-id.py. This file contains:
| Name | Type | Description |
|---|---|---|
sprites | dict[str, Sprite] | Sprite templates with pixel arrays and properties |
levels | list[Level] | Level objects with sprite placements and configuration |
GameId | class(ARCBaseGame) | Game class implementing gameplay mechanics and logic |
Editing Existing Sprites
Modifying Sprite Pixels
To change an existing sprite’s appearance, edit its pixel array directly in thesprites dictionary:
This sprite in ls20.py now uses colors 8 and 10 instead of 9 and 12.
Editing Sprites in Level Definitions
When sprites are placed in levels, you can modify them inline:
Additional Information
Level Data
Thedata dictionary stores level-specific configuration. This will vary for every game.
Other Techniques
Dynamic Sprite Addition/Removal
Querying Sprites
Animation Pattern
For multi-frame effects, delaycomplete_action():
step() until complete_action() is called.

