Get started with cambc starter
If you haven’t already, run cambc starter to scaffold your project. When prompted, choose to create the starter bot — it gives you a working bot to build on.
Bot structure
Every bot is a Python file containing aPlayer class with a run method. The engine creates one Player instance per unit and calls run(controller) once per round.
main.py
Key concepts
One Player instance per unit
One Player instance per unit
Each unit (core, builder bot, turret) gets its own
Player instance. Instance variables persist across rounds for that unit, but are not shared between units. Use markers for inter-unit communication.The Controller object
The Controller object
The
controller argument passed to run() provides all game queries and actions. See the full Controller API reference.Imports from cambc
Imports from cambc
from cambc import * gives you all game types: Team, EntityType, Direction, Position, ResourceType, Environment, GameConstants, GameError, and Controller.Time limit
Time limit
Each unit gets 2ms of CPU time per round, plus a 5% buffer that refills when you use less. Locally there are no time limits — use remote test runs to check performance on the actual hardware.

