Skip to content

JanGutter/battletanks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome poor traveller, to a blasted land filled with the hulks of
might-have-beens, hastily constructed edifices of dizzying height and
baroque architecture doing arcane things that might drive the calmest sage
insane.

If you haven't fled yet, well, this is my entry for the Entelect R100K
challenge for 2013. This is mostly for historical archival purpose: 
I made ONE functional change (if you guys can spot it!) and I added a 
README (this file) and COPYING explaining the sub-licences for the 
projects I used.

Which brings me to the acknowledgements. No work stands alone: if I've come
this far, it's only because of the people in my life that helped me and
shaped me. I obviously have to give thanks to my parents and family: without
their support and understanding I would never have made it this far. They
are NOT to blame for any insanity I still exhibit.

Another one to embarrass is Marc Lanctot, he of http://mlanctot.info/

He gave quite a lot of brilliant tips of how to apply MCTS to the
intractable bits of the problem. Again, any bugs, any hilariously stupid
implementation problems and logical issues are there despite his fervent
efforts to educate me.

Poor Justin Schoeman. I used him as a sounding board and his constant
criticisms kept me on my toes. Yes, the fact that my bots are slightly less
crap was because he kept pointing out how they spontaneously started running
into bullets.

I also have to thank Evan Knowles from Entelect for replying to the millions
of clarification emails I kept sending. Whatever mail system he's using has
surely been stress-tested.

There are many more people who helped make this a worthwhile experience: The
guys from wargeeks, the Google Group set up for this contest and anyone who
commiserated, joked and helped with the despair near the end. Thanks guys!

So, with that out of the way, let me at least point you into one fun
direction:

In battletanks.cpp, if you switch out the line: 
netcore->policy = POLICY_MCTS; 
with
netcore->policy = POLICY_GREEDY;
you can see what my bot does under deterministic situations. I have no doubt
I've broken something particularly bad in the MCTS side (I think it might be
in the interpretation of the MCTS results bit, but I'm not sure yet) that
causes some weird effects. In any case, now you get TWO for ONE: try the
deterministic one and see if it's better or worse than the MCTS "enhanced"
version!

Good luck and may your sanity survive!

Jan Gutter (07 October 2013)

About

Jan Gutter's entry for the 2013 Entelect R100K challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published