My code for the AI Challege 2011
A Go learning experience...
This code lives at https://github.com/jcdny/bugnuts
The branch submission contains the code that was actually submitted for the contest including the file submission.zip which is the version uploaded to aichallenge.org.
The master branch is a cleaned up version of that code with more comments and some of the copy/paste idiocy I inflicted on myself removed. Also includes final maps.
The executable is built in src/cmd/bot
(see main.go for
that), the packages are in src/pkg
. The botN packages are
particular versions of the Bot, bot8.go is the last version
which was submitted for the contest, and statbot.go is a
logicless bot which supports taking in the true gamestate from the
replay engine and stats generated internally to validate my code),
movement logic resides mostly in Bot, replay
and engine
are the
packages for implementing replay parsing. Symmetry analysis lives
partly in maps
and partly in torus
. The state
package handles
game state updating, metrics, and statistics; combat
does all the
combat evaluation and risk calculations; and watcher
contains
timers and watch point evaluation; and debug
manages debug flags.
There is a fancy replay analyzer that lives in src/cmd/analyze
that I
mostly wrote to learn how to use channels.
See the wiki for more gory details and pretty graphs.
Copyright © 2011 Jeffrey Davis [email protected], All rights reserved.
The source code is licensed under GPL version 2 or later, see the file LICENSE for details.
Documentation and images here are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.