Skip to main content

Log in

Before submitting, authenticate the CLI with your platform account:
cambc login
This opens a browser window to complete the OAuth flow. Your session persists until it expires or you run cambc logout.

Via CLI

cambc submit ./my_bot/
If you pass a directory, the CLI auto-zips it. You can also submit a zip file directly.

Via the platform

  1. Go to game.battlecode.cam
  2. Navigate to Submissions in the sidebar
  3. Upload your bot zip

Bot requirements

Your submission must contain a main.py file with a Player class. The file can be at the root of the zip or inside a single top-level directory.
ConstraintLimit
Zip size5 MB max
Decompressed size50 MB max
File count500 files max
Native extensionsNot allowed (.so, .pyd, .dylib, .dll)
ImportsMust be top-level (file I/O is blocked during run())
All imports must happen at the top of your file, not inside run(). The sandbox blocks file reads during gameplay for security.

What happens after upload

  1. Your zip is validated (structure, size, no native extensions)
  2. Status is set to ready
  3. Your latest ready submission becomes your active bot on the ladder
  4. The scheduler pairs you against other teams every 10 minutes

Ladder

The ladder ranks all teams by Glicko-2 rating. Every 10 minutes, the scheduler creates one match per team, pairing you with a similarly-rated opponent. Each match consists of 5 games — the team that wins more games wins the match. Ratings update after each scheduler cycle. See How matches work for details.
Use cambc test-run to test your bot with full time limits on the same hardware as the ladder before submitting. Use cambc unrated to challenge specific teams without affecting your rating.