Clients

From daide
Jump to: navigation, search

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). NB. These do not to work well or at all in Windows XP onwards.

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 the author's version.

See John Newbury's AiClient for full source and binary of an updated version, which does not use cspdll and need not use MFC, also suitable for later (free) versions of Visual Studio.

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 the author's version.

See John Newbury's AiClient for full source and binary of an updated version, which does not use cspdll and need not use MFC, also suitable for later (free) versions of Visual Studio.

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 the author's version.

See John Newbury's AiClient for full source and binary of an updated version, which does not use cspdll and need not use MFC, also suitable for later (free) versions of Visual Studio.

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 Downloads 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 Downloads 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 Downloads 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!

Albert now plays Level 30 press games with press for the arrangement of orders. (XDO)

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 Downloads 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 Downloads 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 Downloads 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.

The latest versions are available via John Newbury's Downloads 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 the author's version.

See John Newbury's Downloads page for full source and binary of an updated version.