Tanks Game Project
(framework for an AI competition)

Note: All developers/potential developers should take a look at design/GoodCodingPractices.txt 

Current state:
    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
    Modular AIs can be built and they work! (though they will probably work differently in their final state)

Files: - Basic player controlled tank; minimalist code. - Very simple AI example (currently stationary). - More complex AI example (won't work unless you're Seiji or have access to his AI project directory ;) ) - The first Tanks prototype - The second Tanks prototype - The third Tanks prototype (TanksDemo is a simplified version of this)

    tanks - Contains the bulk of the tanks codebase
        (,, and
    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.