If you need help with
git, please ask your neighbor or ask a dev!
Assuming you’re working in Python, your basic workflow should look like this:
# Stage your AI changes to be committed git add AI.py # Stage any new files you wrote git add MyGreatStragegy.py git add MyNewDataStructures.py # Commit your changes git commit -m "Update strategy to super good strategy" # Push your changes to SIG-Game's website git push # ... type in password # View your commits on SIG-Game's website and pick which versions # you want to submit to the arena
If your teammates push up code, you will need to get their changes by
git is smart, and it can usually figure out how
to merge your code together. Sometimes you may need to perform a
manual merge. Ask a dev if you have any trouble.
SIG-Game highly recommends that competitors push their code to the website frequently. This helps teams to back their code up, keep track of AI versions, and collaborate with teammates.
Push early, push often.
SIG-Game also highly recommends that competitors submit their AIs to the arena early and often for the following reasons:
- You can verify that your code works in the arena. AIs that immediately crash or fail to compile will be eliminated early from any tournaments!
- You have backups! If you submit an AI to the arena which doesn’t work, you can re-submit an old version that does work. This can be very useful if you do not have enough time to fix your AI.
Submit early, submit often.
Many competitors chose to use integrated development environments (IDEs) to develop their AIs. However, these tools can sometimes change the structure of AI repositories in a way that breaks the build process required by the arena.
If you or your team chooses to use an IDE, be very sure that your
code still builds with
make and runs with
run. Consult the
Arena Doc Page for more details about how your
code runs in the arena.
Just because it runs in your favorite IDE doesn’t mean it’s going to run in the arena.
Function Not Implemented
Note: This error is not a super frequent one. However, it does happen on occasion, and this is how to handle it.
This error is related to shared drives (
s:/) and making changes to
shared files from separate machines
The only solution that we are aware of is to create a new folder (with a different name) outside of your current repository and re-clone your repository from the SIG-Game website.
For example, let’s assume that your code is in
you’ve gotten a
function not implemented.
# Change to your repository's parent directory cd ~/code/ # Reclone your code with a different name by changing the last # argument in your provided clone command git clone ... myteam-new.git # Copy/paste any new changes to source files that you can recover from # the old copy of your repo (myteam/) into the new copy (myteam-new/) # Remove the broken copy rm -rf myteam/ # Proceed to work in myteam-new/
Be sure to commit your code and push your changes to the website
periodically. This will help to reduce the work you may lose to a
function not implemented error.