Some AI authors have provided some or all of their code to help others get started. These development kits usually consist of libraries to implement functions that are common to all AIs.
Andrew Rose's AI Development Kit (v00.03.0462)
This kit is for all Windows AI writers. It comes as DLLs and header files for C/C++ although any language that can make use of DLLs can use this package. The kit contains the following items
- Client Server Protocol DLL - Handles all the low-level TCP/IP communications and has a number of codexes to present the received messages in various different eary to understand forms.
- Bots source package - 4 of Andrew's bots as examples.
- Connection Log Cracker - Plain text display of a connection log captured during a run.
- Test Server - Very useful for testing AIs in isolation. Also allows easy setup of alternative maps/positions so that particular AI functionality can be tested.
Andrew Rose's AI Development Kit Redistributables
The DLLs only from the above kit.
David Norman's AI Client Framework
The AiClient Framework forms the basis of C++ clients. It is used by both the AI and Real-Time communities as the reference implementation.
The latter includes updated full source and binary versions of David Norman's example clients, which are based on AiClient Framework - BaseBot, DumbBot, HoldBot and RandBot. The cspdll library is no longer used and MFC need not be used. All are now suitable for later (free) editions of Visual Studio.
Henrik Bylund's Java AI Communication API
Handles all the low-level TCP/IP communications, presenting a listener style interface to AI writers.
Fredrik Blom's .NET development kit
The SDK includes all that you need to start programming a bot from a .Net language including the binaries to describe a Diplomacy game, connect to a DAIDE server, and a base implementation for a Bot. The SDK has been updated to use .Net 2.0.
Angela Fabregues' Java Bot Development Framework
Completes Henrik Bylund's Java AI Communication API (jac) with a new layer in the top of it providing an object oriented representation of the game.