Competed in MIT Battlecode 2026, placing top 6 at US Qualifiers and top 12 at Finals.
Battlecode is a month-long programming competition where teams iteratively design and develop AI algorithms to control virtual robots in a fast, turn-based strategy game. This year’s theme involved warring rat factions fighting over territory, resources, and survival, all while contending with erratic NPC cats.
All bot code can be found under /src. Battlecode has 4 main tournaments, including 2 sprint tournaments, the qualifier tournament, and the final tournament. My bots initially had fun food-themed names (I competed as team food), but I renamed the files for clarity.
| Name | Description |
|---|---|
| examplefuncsplayer | Starter bot provided by the organizers that randomly moves around. |
| rushbot | My first bot. Prioritizes rushing the 3 possible enemy king starting locations. |
| sprint1bot | Less aggressive; more focus on collecting cheese and natural exploration. |
| benchbot | Minor bug fixes. Used as a benchmark for all future bots. |
| sprint2bot | Complete rewrite with cleaner code and a heuristic-based combat system. |
| usqualsbot | Lots of bug fixes, fine-tuned behaviors, and new features. |
| finalsbot | Same as above. |
You can find a mix of custom and official maps under /maps.
This is the Battlecode 2026 Java scaffold, containing an examplefuncsplayer. Read https://play.battlecode.org/bc26/quick_start !
README.mdThis file.build.gradleThe Gradle build file used to build and run players.src/Player source code.test/Player test code.client/Contains the client. The proper executable can be found in this folder (don't move this!)build/Contains compiled player code and other artifacts of the build process. Can be safely ignored.matches/The output folder for match files.maps/The default folder for custom maps.gradlew,gradlew.batThe Unix (OS X/Linux) and Windows versions, respectively, of the Gradle wrapper. These are nifty scripts that you can execute in a terminal to run the Gradle build tasks of this project. If you aren't planning to do command line development, these can be safely ignored.gradle/Contains files used by the Gradle wrapper scripts. Can be safely ignored.
You are free to directly edit examplefuncsplayer.
However, we recommend you make a new bot by copying examplefuncsplayer to a new package under the src folder.
./gradlew buildCompiles your player./gradlew runRuns a game with the settings in gradle.properties./gradlew updateUpdate configurations for the latest version -- run this often./gradlew zipForSubmitCreate a submittable zip file./gradlew tasksSee what else you can do!
Look at gradle.properties for project-wide configuration.
If you are having any problems with the default client, please report to teh devs and
feel free to set the compatibilityClient configuration to true to download a different version of the client.