History of the AI Project

In January 2002, a group of programmers got together to produce an environment in which several Diplomacy AI's could compete. This environment was named the Diplomacy AI Development Environment (DAIDE). In its purest form it consists of:

The following utilities are often considered part of the environment and are certainly very useful:

Having created the environment, the developers are now working on their AIs. See the news section for the latest information on how the work is progressing. If you wish to write your own AI, read on.

Writing your own AI

The first thing you'll want to do is join the DipAI Yahoo!Group [External]. This is where all discussion related to AIs and the environment occur. If you post a little note saying you are interested, you'll probably receive a warm welcome along with some useful pointers and attempts at answers to any specific questions that you may have.

In order to write your own AI, you'll first need to understand a little about the environment in which the AIs compete. If you wish to develop in C/C++ for Windows then there are libraries available which makes the learning curve a little less steep. If you want to program for Windows but in a different language then the libraries may be suitable. Just post a message to the list. If you wish to work on another platform then I'm afraid you're on you own. Well, you're not really on your own - many people will chip in with useful advice if you want it, but you will have to start basically from scratch with an implementation of the communications protocol [External].

You'll need to understand the communications model and, if you aren't using an existing library, you'll need to understand the communications protocol [External] as well.

Assuming that you're working on Windows, the next thing you need to understand is the language syntax [PDF][External]. You'll probably want to confine yourself to level 0 (i.e. no press) to begin with. Level 0 covers everything you need to write an AI that doesn't send any press (e.g. getting into a game, submitting orders, getting the current position, etc.). Subsequent levels deal with sending press to other powers. This will all become obvious when you read the document.

After that you should download the development kit and play with the sample bots that come with it. In order to use the sample bots, you'll need to download the AI server [External].

The AI Project and the Real-Time (RT) Community

As it transpires, the AI Server is much better suited to RT games than the Ken-Lowe (KL) judges. As a result, a user interface has been written and RT games are now played exclusively using the AI Server and Mapper. These pages are devoted to AIs rather than RT play. The RT community runs its own Yahoo!Group [External].