The Strat Risk Player

Strat tries to be smarter than Chaotic, the sample Risk player Mike Ferris supplied with version 0.95.  The code is in fact based on Chaotic, which I used as the shell for my first player, and just kept mutating until what you've got here.  There are too many details to go into, and I don't want to give away all of the elements of strategy to the idly curious, but here are some general features:

·	Will carry out sustained attacks, sometimes in a "banzai" mode that stops only when there are no armies left anywhere that can attack anything.  In general, though, attacks stop when the player no longer outnumbers its neighboring enemies.
·	Will attempt to eliminate weak players to get their cards.
·	Will choose countries (if playing in that mode), reinforce countries, and attack countries based on a bunch of internal "desirability" metrics.  This includes logic to make the player go after continents, protect their borders, and try to break other players' continents.
·	Will try to move armies that are behind fronts of attack in a direction that makes sense, during the fortify phase.  May hold off an attack if there are nearby friendlies that can be brought in for an extra edge next turn.
·	Will try to sensibly divide armies between a victorious attacking country and a country just conquered, to maximize their effectiveness for continued attacks, or for defense.

I could go on, but why?  Check the source for what's really happening.  There is still much room for improvement, both in terms of making the player do current activities better, and making it do things it doesn't yet do.  Most of the heuristics in the code follow the 80/20 rule: 20% of the work to accomplish 80% of the benefit.  Still, getting that remaining 20% benefit would make a big difference.

Oh, speaking of the source, it's more or less a shambles, for which I apologize to any unfortunate soul who tries to stumble through it.  Nevertheless, I make it freely available in the public domain to all who are curious.  I ask only that if you create any of your own Risk players, that you send me a copy.  I'm trying to improve my players all the time, and it would be nice to have some fresh blood to pit them against.  :~)

I am indebted to Don McGregor, mcgregdr@conan.ie.orst.edu, for writing and releasing the SortedList object which forms the basis of much of the fancy logic used in my players.  As per the GNU copyleft license under which SortedList was released, this player includes all the source to the customized SortedList object it uses.

Royce Howland
royce@splunge.uucp
kakwa!atlantis!splunge!royce