Skip to content
This repository

Write AI for tanks and watch them battle it out!

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 PlanetCute PNG
Octocat-spinner-32 Sounds
Octocat-spinner-32 brains
Octocat-spinner-32 tank
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README.md
Octocat-spinner-32 brain.py
Octocat-spinner-32 config.py
Octocat-spinner-32 main.py
Octocat-spinner-32 symbols.py
Octocat-spinner-32 tank.py
Octocat-spinner-32 utils.py
Octocat-spinner-32 world.py
README.md

Brain Tank

Summary

This is a little project to teach programming skills as well as basic AI. To run it just execute main.py with python.

Simulation Rules

Every time a trank becomes "idle" it will run the think() function associated with that brain to queue up more commands. The tank then executes these, which can take a variable amount of time. Tanks can also fire shots in the direction they are facing. They must turn to aim. Turning one facing takes half a second, turning twice takes one second. The shots move at twice the speed of a tank.

Tile Rules

  • Crossing dirt will take twice as long as regular tiles.
  • The tank will abort a move if it runs into a blocking tile or other tank.
  • Shots can destroy blocking tiles such as trees or rocks.
  • Driving into water will destroy the tank.

Making a Brain

Copy brains/wander.py to brains/yourname.py and add "yourname" it to config.py. For now it will only read the first two brains listed. There is a small guide that describes what this brain does and what is available for brains to use in wander.py.

TODO

  1. Add explosions and other animations.
  2. Make sound effects for actions.
  3. Add GUI elements like victory screen, etc.

Requirements

Running

$ python main.py brains/amanda.py brains/phil.py

Licensing

The code is GPLv3, but the art/sound is not.

Attribution

  • The Planet Cute sprites are from the venerable Danc. Check out his site.
  • The tank is by Saypen on Open Game Art.
  • The Main song is by Mister Electric Demon on Jamendo.
  • Everything else I've made and is in the public domain.
Something went wrong with that request. Please try again.