Clients
From DAIDE
Bots
See John Newbury's Bots page for a table of all known bots that are not known to be (unduly) unreliable on his Windows XP system, including their main features, and links to obtain the latest binaries, with source and documentation where available, via the authors' sites where still existant. (He has not run all the bots extensively; reliability on other platforms may vary, either way. Andrew Rose's bots are omitted there because, regrettably, they all tend to fail very quickly on John Newbury's XP systems; they presumably run fine on at least one platform!)
Writing a HoldBot or a RandBot - see several versions, below - is often a good way to start writing your first bot. See Introduction#Writing your own Bot.
Andrew Rose's Bot Package (v00.03.0462)
- Holdbot - All units hold and disband when dislodged. All builds are waived. (Equivalent to David Norman's bot of the same name.)
- Randbot - Orders each unit (uniform) randomly from all valid orders. (More naive than David Norman's bot of the same name.)
- Selfbot - As Randbot except that all orders involving enemy units are excluded.
- Consbot - As Selfbot except that orders are self-consistent (e.g. no unused support or convoys). (Like David Norman's RandBot.)
Download from Bot Package (v00.03.0462).
David Norman's Holdbot
All David Norman's HoldBot's units hold and disband when dislodged. All builds are waived. (Equivalent to Andrew Rose's bot of the same name.)
See the author's page for details and to download.
David Norman's Randbot
David Norman's RandBot picks a random order for each unit from the subset of the possible orders that are self-consitent. (It is therefore, confusingly, like Andrew Rose's ConsBot, rather than like his RandBot.)
See the author's page for details and to download.
David Norman's DumbBot
The author says, "DumbBot is, actually, really quite good for 2 days work. Has been known to win in a game against all human opposition." There is an explanation of the bots behaviour at the DumbBot algorithm page.
See the author's page for details and to download.
John Newbury's BlabBot
BlabBot 2.1 is built on David Norman's DumbBot (and hence his AiClient Framework too), adding the ability, unconditionally, to offer and accept peace agreements. In the presence of sufficient, or suitably placed, clones, it tends to do pretty well. However, it never attempts to stab any of those powers supposedly at peace with it, nor ever detects a stab by any such power! It will enable a draw if only supposedly peaceful powers remain. Source not fit for release!
BlabBot 3 is in development, intended for release of a reasonably clean C++ source, with many internal enhancements too, but with minimal improvement in actual play. The initial intent of BlabBot (a.k.a. BB) was just to extend David Norman's AiClient Framework to convert all DAIDE press expressions to and from token form and associated C++ classes, with canonicalization where different forms have equivalent semantics. BlabBot 3 does this, and much much more, including significant non-press facilities too - but includes little AI as such.
See BlabBot for details, and to download version 2.1.
Andrew Huff et al's Project20M
Project20M was produced as coursework for a degree, this AI was the one to beat at the start of 2005. The project write up can be found in the Reading page.
Download via John Newbury's Homeless Products page.
Brian Roberts's Man'chi
Man'chi effectively provides seven bots in one program, each with a different "personality".
Download via John Newbury's Homeless Products page.
Francois McNeil's Diplobot
Francois has provided running instructions for Diplobot.
Download via the author's page.
Fredrik Haard's HaAI
Fredrik produced HaAI as part of a Master's degree. The corresponding paper can be found in the Reading page.
Download via John Newbury's Homeless Products page.
Jason van Hal ~ (Stretch)'s KissMyBot
KissMyBot (a.k.a. KMB) is a bot capable of level 10 press.
See the author's page for details and to download.
Jason van Hal ~ (Stretch)'s Albert
Albert is a rapidly developing bot originally based on KissMyBot. It is probably unanimously acknowledged as the best released bot so far, by far!
See the author's page for details and to download.
Adam Shelly's RubyBot
RubyBot (a.k.a. Ruby Electronic Diplomat (RED), and PeaceBot) handles Level 10 Press - at least partially.
Download via John Newbury's Homeless Products page.
Karsten Kremer's Minerva
The author says, "Minerva is currently a very basic bot, plays only press level 0, and is still quite stupid. She doesn't use convoys, doesn't know when it would be wiser to build fleets instead of armies, and isn't even able to tell the difference between spring and fall turn. She makes no attempts at cooperating with other players or at anticipating other player's cooperation."
Download via John Newbury's Homeless Products page.
Webb, Chin, Wilkins, and Payce's Diplominator
The authors say, "Diplominator is based on the heuristics of DumbBot, it can play a basic press game of Diplomacy. It plays well at press 10... Does not do convoys or suggests moves but forms peace and constructs perceived alliances. Made for a University project."
Download via John Newbury's Homeless Products page.
Michael Jones's Brutus
Brutus is a preliminary version of a bot in development.
See the author's page for details and to download.
Stragotiator by Markus Kemmerling, Sebastian Uellenbeck, Wolfgang Walz, Niels Ackermann and Marc Gorzala
"The Stragotiator is an Artificial Intelligence (AI), also called Non-Player Character (NPC) or bot, for the game Diplomacy. He is implemented in Java and designed to be used with the Diplomacy AI Development Environment (DAIDE).
"In contrast to other existing bots, the intended goal was the development of a human-like bot that is fun to play against. While most bots focusing only on playing strength and how to win, the greatest efforts in the Stragotiator project were done to create a bot with good negotiation capabilities that interacts with other players and appears to be mostly human. This efforts resulted in a bot capable of press level 20 of the DAIDE language. An adequate amount of playing strength was achieved with elaborate heuristics and evolutionary movement optimization. Only convoy moves and demilitarized zones are not yet support by the Stragotiator. Since the most time while playing the board game is spend in negotiations, the Stragotiator is the best choice for all who want to play against a bot. He plays quite well, is a reliable ally and supporter and an intelligent negotiator."
See the author's page (near the bottom) for details and to download and Nested Look-Ahead Evolutionary Algorithm Based Planning for a Believable Diplomacy Bot for more details.
Packages
Paul Camina has zipped a number of bots and AIs and made these available to members of the RTNow Yahoo group. Note that the versions in these zip files may not be the most recent versions of the bots and AIs.
- Albert, BlabBot, DiploBot, DumbBot, and KissMyBot. AI zip file 1
- Manchi and Project20. AI zip file 2
The latest versions are available via John Newbury's Homeless Products page when no longer provided on the Web by the authors.
Mappers
A "mapper" is a human interface that enables people to compete against AIs on the DAIDE system.
David Norman's AiMapper
AiMapper (a.k.a. DAIDE Mapper) is the only mapper currently available. Used by the Real-Time community for all their games.
See the author's page for details and to download.