DiplomacyAiClientRelease 4~0Release NoticeIssue 1b John Newbury 24 November 2012 |
Home > Diplomacy > Downloads > AiClient > AiClient 4~0 Release Notice
AI in the Game of Diplomacy: AiClient 4~0 Release Notice
Read the AiClient 4~0 Conditions of Use before use.
This product is called AiClient Release 4~0.
It comprises David Norman's C++ AiClient Framework and his simple clients that are built upon it: BaseBot 4 (the default, a non-playing observer), DumbBot 4, HoldBot 2 and RandBot 2. The only change I made was to include all the client-specific source within a folder (Extras), and a few minor but essential edits to make all work properly. It is released in this form because the client-specific source may, in future, depend on the AiClient Framework source, and the version declared by the binary should change if any of its source is changed. But mainly it is an archive, for the record and completeness, as (essentially) this version of the AiClient Framework source and the binary of DumbBot 4, HoldBot 2 and RandBot 2 were used in my Tournaments and DEMO tests, but are no longer available from David Norman's site. As David Norman did not assign a version to his AiClient Framework, as such, the 4 here means derived from the full ( common and client-specific) sources as they were when he released his then most recent client, DumbBot 4; the ~0 means my modification 0 – it is merely a repackaging, a historical prequel to my later releases, named and packaged for consistency with them.
The binary of all the above clients may be downloaded from johnnewbury.me.uk/diplomacy/downloads/aiclient/aiclient-8~2~b-binary.zip .
It comprises:
aiclient-4~0-release-notice.htm
This Release Notice.
aiclient-4~0-conditions-of-use.htm
Conditions of Use.
New Binary
A folder containing cspdll.dll (contemporary with the binaries) and binary versions of each supplied client:
BaseBot.exe,
DumbBot.exe,
HoldBot.exe,
RandBot.exe.
Each was generated from the source in AiClient, using Visual Studio 6, running under Windows 7. They are not compatible with other editions of Visual Studio. (The version of Windows used to generate the binary should make no difference – assuming Visual Studio can then produce it). Tested in Windows 7.
No further files are required, other than those already in Windows.
As far as can be determined, essentially the same source was used to generate the binaries used in all John Newbury's Tournaments and DEMO tests. In any case, any differences, in general or AI performance, from any of these copies, are probably very small or non-existent.
Old Binary
A folder containing cspdll.dll (contemporary with the binaries) and binary versions of each supplied client, except BaseBot:
DumbBot.exe,
HoldBot.exe,
RandBot.exe.
Each is as was supplied by David Norman, generated using Visual Studio 6, running under Windows XP, from the source in AiClient, or very similar. Tested in Windows XP and 7.
No further files are required, other than those already in Windows.
As far as can be determined, these are very binaries used in all John Newbury's Tournaments and DEMO tests, except, evidently, for Tournament #1, which began on 25 April 2005; the specific copy used is now lost. (It is more certain that the binaries in Old Binary were used, rather than those in New Binary, but not what source corresponded.) In any case, any differences, in general or AI performance, from any of these copies are probably very small or non-existent.
The full source (AiClient Framework and that specific to each client, above) may be downloaded from:
Each comprises:
aiclient-4~0-release-notice.htm
This Release Notice.
aiclient-4~0-conditions-of-use.htm
Conditions of Use.
AiClient
This comprises a Microsoft Visual Studio project that contains all the (Visual C++) source and project control files ready to compile/link to generate a Debug mode version of the default (observer, non-playing) client.
Tested on Visual Studio 6 under Windows 7. Incompatible with other editions of Visual Studio, but should work for Windows XP onwards.
Extras
This folder contains a folder of alternative, client-specific, files for generating each client when registered in the AiClient project:
BaseBot,
DumbBot,
HoldBot,
RandBot.
Only minor source edits were made for the production of this release:
to AiClient\BaseBot.cpp to fix incompatibility with the corresponding cspdll.dll;
to Extras\HoldBot\Bot_Type.h to specify the correct bot.
See David Norman's site and comments in the source for information about the clients themselves.
AiClient, is a Visual Basic 6 project, ready to generate the Debug version of the default (BaseBot, non-playing observer) client. The details of how to use Visual Studio are outside the scope of this document. Visual Studio 6 will automatically generate a pre-processed version of the include files specified by StdAfx.h. To run the client, inside or outside of the project, cspdll.dll must be copied (from the AiClient folder) into the same folder as the .exe file. To avoid confusion when copied outside the project, the .exe file it should be renamed from AiClient.exe to the name of the client – or Visual Studio can be set to generate the required name.
To change clients:
Optionally, to avoid confusion, especially if modifying source, and to save work if repeatedly switching between clients, copy the AiClient folder and use the copy.
Deregister (and optionally delete) any previous client-specific files from the project.
Either:
Copy all the client-specific files from the appropriate folder (from within the Extras folder that is supplied with the release) into the main folder, or
Delete any previous Bot_Type.h file from the main folder. Add the required client-specific folder to the list of include folders to be searched (in place of, or above, those of any clients previously added, to ensure the required Bot_Type.h file will be used).
Register the client-specific files in the project.
Rebuild (not just build) the project (to replace any old, but no longer applicable, object files).
Optionally, to avoid confusion, set Visual Studio to use the name of the new client as the name of the binary program that it will generate.
The following auxiliary products are also required:
Windows XP or later.
AiServer 0.38 or later; AiServer 0.38~1.1 also corrects faults in some variants.
Visual Studio 6, if compiling the source.
The released binaries and all the above run under Microsoft Windows 7, but should all work on Windows XP onwards. However, a modification to Visual Studio 6 is desirable on Windows 7, to allow the debugger to be stopped, without having to restart Visual Studio. (Replace Common/MSDev98/Bin/TLLOC.dll in the Visual Studio application folder by http://www.dr-hoiby.com/TLLOC.dll – see http://stackoverflow.com/questions/2110759/how-to-debug-with-visual-c-6-on-windows-7-x64 .
Changes from earlier versions are unknown.
No known issues, except as outlined in later releases.
The bulk of the product was produced by David
Norman. Grateful
thanks are also due to those in the DAIDE DipAi
group who have contributed ideas over the years.