----------------------
| 		SCAIL		 |
----------------------

This is the README for the Tournament version of the SCAIL Starcraft AI system.

The tournament version differs from the full version by having some non-critical systems disconnected, or parameters tweaked, in order to comply with limits on 
frame-time processing for 2012 tournaments, it is otherwise essentially the same. SCAIL makes use of particle filters, A-Star search algorithms, clustering 
techniques, heuristic targetting and firepower-distribution algorithms on top of a custom, drive-based architecture capable of exhibiting goal-directed behaviour.  

SCAIL plays the Protoss race.


--------------------------
| 		 Setup		 	|
--------------------------

SCAIL makes use of learning via stochastic optimisation to discover which strategies work well against its opponents. To do this, it records 
its experiences over the course of play to XML files. By default, it is configured to comply with the rules specified for the 2012 AIIDE tournament 
regarding file writing as described in the following post by Dave Churchill: https://groups.google.com/d/msg/scai2012/Mu4KI8hQ78c/N0la3QUDiIEJ

In short, SCAIL will attempt to write its experiences to a write folder, and read from a read folder. The locations of these folders are specified by the following file: 

	- scailconfig.xml - this file is included in the archive, and must be placed in the same directory as Starcraft.exe (ie. c:\starcraft\). 
						It can be edited to tell SCAIL where to look for its read and write directories. It is an XML file with 
						a single root element and default vars:
						
							<config readtarget="bwapi-data/read/" writetarget="bwapi-data/write/" />
	
To learn, SCAIL will expect that the contents of the write folder will periodically be copied to the read folder. It will also expect that these directories exist 
before it starts up.

--------------------------
| 		 Building		|
--------------------------

This archive contains binaries, but to build from source you must specify the environment variable BWAPI_DIR to point to BWAPI 3.7.4, as the 
project is configured as specified here: http://webdocs.cs.ualberta.ca/~cdavid/starcraftaicomp/registration.shtml


-------------------------------------
| 		 Archive Contents		 	|
-------------------------------------

The archive contains the following:

	README
		- This file
	
			\binary\
				- Contains the SCAIL DLL to be loaded using Chaoslauncher, along with scailconfig.xml
				
			\source\
				- Contains the Visual Studio 2010 project for SCAIL, along with all source code for the tournament version.
			
			


-------------------------------------
| 		 Acknowledgements		 	|
-------------------------------------

This work makes use of:
	BWAPI - http://code.google.com/p/bwapi/
	BWTA - http://code.google.com/p/bwta/
	The TinyXML library - http://www.grinninglizard.com/tinyxml/
	and contains some code adapted from the BWSAL library - http://code.google.com/p/bwsal/