Battlecode is an AI competition that uniquely challenges partipants to combine game strategy, programming, and artificial intelligence. Although the game theme and rules change year-to-year, Battlecode remains a turn-based strategy game where 2 teams of virtual robots face off with only 1 team emerging as the winner.
Battlecode is MIT's longest running (20+ years) programming competition. It typically spans about 22 days and partipants can work either alone or on a team. The competition welcomes everyone from beginner programmers to advanced programmers. Participants often incorporate knowledge of artificial intelligence, pathfinding, distributed alogorithms and/or networking communications when developing their player program. Learn something new in those 22 days? No problem! Players are able to test and refine their AIs as the competition goes on.
Previous final competitions hosted by MIT can be found here.
We want to challenge UTM students to program their own AI robots. The competition is also open to all levels of programming experience.
In this year's game, play as a wizard while at war with another wizard. In this war, the wizards do not fight themselves, they instead fight by controlling their armies to capture the opposing wizard's flag, or bring him to submission by crushing his army.
Non-technical game manual Technical game manual
This game is built with Python and Pygame
- Python 3.9
- pygame 2.1.0
- Bash Shell for automated testing
- CMD or bash for manual testing
To test your code see our general guide
Submissions will be enabled January 6th and announcements will be made. You only need to submit your copy of =grid_player.py= and any new files that you created. You do not need to submit any of the helper classes that are provided to you. Your files should be at the root of the zip. You can achieve this by compressing to zip in your host OS.
To verify that you've zipped correctly, you can either =vim submission.zip= to ensure there are no folder only files or simply unzip your submissions and confirm that no folders are created.
Contributions are appreciated and should be submitted through pull requests. We've broken the project down into tickets which are viewable on the Deerhunt Battlecode Board.
Contributions can be made by following these steps:
- Clone this repo
- Create a branch:
git checkout -b your-change
- Make changes
- Push your branch
- Open a pull request