Diplomacy

DTDT

John Newbury       8 October 2011

Home > Diplomacy > Tournaments > DTDT

AI in the Game of Diplomacy: DTDT


DTDT stands for DeepLoamSea Tournament Director Tools. The tools currently comprise various, somewhat ad hoc, C++ functions within DeepLoamSea itself. A tidier version is planned, to be part of the second release of BlabBot source expected end 1Q2009, ultimately to be subsumed in my long-term DEMO sub-project. DTDT, and now DEMO, are intended for debugging, testing and tuning DeepLoamSea bot, but have proved useful and reliable for running regular tournaments, of arbitrary length and format, between a wide selection of bots.

These tools provide recovery mechanisms for when the bots, Server or Mapper occasionally hang or otherwise fail, which would otherwise cause the whole tournament to hang. This includes checking various windows for satisfactory progress, using timeouts, simulating clicks on buttons and, if all else fails, killing errant processes. Simulated button clicking or keyboard entry is also used to set Mapper in my preferred way and removing unwanted bot windows from the screen, although some initial windows do still annoyingly flash on the screen. (I recommend that all programs involved should at least have an option for keeping any windows minimised until requested otherwise.) Various statistics are logged to an Access database, which allows many unanticipated analyses to be done later. A variety of, mainly ad hoc, Access Queries (database views) have been written. DTDT can properly restart a tournament, even after being closed down, by reading required data, such as each bot's game counts, latest Strength or Tenacity, from the database. A few tournament controls are available during a tournament, such as clean termination, or whether or not to hide the Server window or include Mapper. However, currently there is no proper Windows or even command-line interface, and none is currently planned – tournaments have to be defined at program level.


At least two other DAIDE tournament directors exist: DTD and Tournman. DTDT will shortly be subsumed within MARS.

DTD has a good Windows interface. Unfortunately, on my system at least, it did not work very reliably, probably due to problems with the bots that I ran, as described above. DTD also appears to insert unnecessary delays between various steps (DTDT waits for appropriate windows to be created, which is more responsive and works reliably on my system). Like DTDT, DTD also has adjustable timeouts for various steps, but did not recover often enough to be viable for a long tournament on my system. The Visual Basic source is released.

Tournman mainly comprises various functions from which a tournament can be defined and run, but configured by means of a control file, rather than by the direct programming of DTDT, or the Windows interface of DTD. The C source is available and could easily be extended. Indeed, having such a collection of functions was the inspiration for DTDT.


Tracking, including use of cookies, is used by this website: see Logging.
Comments about this page are welcome: please post to DipAi or email to me.