Tanks Game Project
(framework for an AI competition)
Note: All developers/potential developers should take a look at design/GoodCodingPractices.txt
Graphics work, and everything is located in nice OOP classes.
No collisions, since physics system has not been implemented yet
(I've already explained why in great detail in TanksPrototypeIII.py)
Modular AIs can be built and they work! (though they will probably work differently in their final state)
TanksDemo.py - Basic player controlled tank; minimalist code.
AIDemo.py - Very simple AI example (currently stationary).
TanksAIPrototype.py - More complex AI example (won't work unless you're Seiji or have access to his AI project directory ;) )
TanksPrototype.py - The first Tanks prototype
TanksPrototypeII.py - The second Tanks prototype
TanksPrototypeIII.py - The third Tanks prototype (TanksDemo is a simplified version of this)
tanks - Contains the bulk of the tanks codebase
(actors.py, entities.py, and utilities.py)
graphics - Contains image resources used by the game
(projectile.png, target.png, tank_body.png, tank_turret.png, and original tank.psd file)
(feel free to replace these as they were done in a rush - I might eventually try modeling the
tank in blender and getting a render from there)
ai - Shared AI files: contains an example AI class and outline
(This directory used to be much more useful before I gutted it and pulled my custom AI code to a more secure
data - Doesn't currently contain anything; level files and related data (and any other stored plaintext/binary data) should be stored here
design - A few misc. files worth tanking a look at
misc - Put miscelaneous stuff here.
Currently contains MathReference.txt: since it has occured to me that not all participating individuals will have the
same degree of mathematical knowledge, I wrote up a little math reference to try and make things a little more fair.
MathReference contains all of the important (relevant; not immediately obvious) mathematical knowledge that I've
used so far on this project (mostly trig). I'm also available as a tutor at the next meeting to bring any interested
individuals up to speed.