Added new sample AI - "vixen", improved "basic_python"
authorSam Moore <[email protected]>
Tue, 20 Dec 2011 10:41:29 +0000 (18:41 +0800)
committerSam Moore <[email protected]>
Tue, 20 Dec 2011 10:56:33 +0000 (18:56 +0800)
commit72df4ec14efff5668c6237cd25e1e51ddd801c32
treeb4e423d1cb41e3865cdc6e7ce30b9a7c957437f5
parent6e5327743543d606ff88e4a8228989460f8a5a30
Added new sample AI - "vixen", improved "basic_python"

I was going to create a highly advanced super AI and not reveal the source code. Then I would win the competition!
But, turns out it is just as shit as all the others, so I added it to git. Also I made the competition, so that seems fairly self defeating.

It was easier to add some extra stuff to basic_python than to force it into the new AI.

"vixen" (where do I get these names? Well, a fox is smart, and a vixen is a fox. Therefore, "vixen" is a smart AI. Q.E.D)

I basically copied asmodeus' "optimised score" and path finding technique, but I changed the way scores are calculated to include probability.
At one point I was adding the scores for paths that began with the same direction. This seemed like a brilliant idea. It was not.

After all this, vixen beats asmodeus some of the time, I haven't tested how often, but each AI has beaten the other at least a few times.
Most of the time vixen loses seems to be due to losing the marshal or general on bombs. Its pretty good at countering the spy.

It turns out writing a decent stratego AI is harder than I thought :P

In other news, in the manager program, I removed the automatic hiding of the AI's pieces when a human is playing, because its useless and annoying.
progcomp/agents/basic_python/basic_python.py
progcomp/agents/vixen/asmodeus.py [new symlink]
progcomp/agents/vixen/basic_python.py [new symlink]
progcomp/agents/vixen/info [new file with mode: 0644]
progcomp/agents/vixen/path.py [new symlink]
progcomp/agents/vixen/vixen.py [new file with mode: 0755]
progcomp/judge/manager/game.cpp

UCC git Repository :: git.ucc.asn.au