1Author:	Alexander		Icq: 138100896					email:	alexander.seizinger
2		Seizinger		Jabber: alexander.seizinger@jabber.org				@gmx.net
3
4# Installation:	Windows users:
5
6Simply extract the archive into your spring\ai\ folder and make sure, the following subfolders exist:
7
8\ai\aai			-> readme, faq and different logs
9\ai\aai\cache		-> map data (metal spots, water, etc)
10\ai\aai\cfg\map		-> map config files
11\ai\aai\cfg\mod		-> mod config files
12\ai\aai\learn\map	-> map learn files
13\ai\aai\learn\mod	-> mod learn files
14\ai\aai\log		-> log files
15
16\ai\bot-libs\aai.dll	-> main ai dll
17
18If one of these folders does not exist, AAI will crash!
19
20
21#Linux users:
22
23AAI will get the path of a writable directory from spring and load/save its files there
24e.g.  /usr/local/games/spring
25
26Apart from that the structure is the same as for windows users.
27
28
29
30Please note, that there are hardly any buildtables included in this release. AAI should make better unit choices after a while. For further information, have a look at the AAI FAQ.
31
32Furthermore I want to emphasize that there are quite some opportunities to change/improve AAI's way of playing the game. Have a look at the cfg/help/mod.cfg for further information. If you think you created a cfg file which makes AAI play a certain much better than the default one mail it to me to include it in future releases.
33
34
35
36#License
37Since AAI v0.70 all files have been released under the GPL
38
39
40
41#Mod Support:
42AAI must know the internal names of the starting units of the different sides (e.g. ARMCOM
43and CORCOM for most TA-mods). There are also some constants you may want to play with, so
44AAI tries to load the config from a file in the aai subfolder. The name must be the same as
45the modname, with ".cfg" extension (e.g. xta_se_v066.cfg for XTA mod). If you are not sure
46about the correct filename, just start a game running that mod. AAI will complain about
47missing cfg files and put the desired cfg filename in the log files.
48
49See example.cfg for more information.
50
51By default, AAI has cfg files to support the following mods:
52- XTA
53- TA:WD 5.65
54- AA 2.23 Standard
55- AA 2.23 Forge
56- Balanced AA
57- OTA Shiny 5.5
58- OTA Classic 5.5
59- BoTA 1.3
60- KuroTA 0.47
61- Star Wars 1.0
62- TLL 1.04
63- FF 1.19
64- Gundam Annihilation
65- Expand & Exterminate 0.163
66- Spring 1944
67- TA Battle Fleet
68
69
70
71Remember due to updates of these mods the filenames might change as well, so you have to rename the mod.cfg file yourself!
72
73
74
75#Known bugs/Limitations:
76- AAI sometimes suffers from a bug in the pathfinding (units sometimes get stuck when close to buildings/objects)
77- AAI does not use nukes, antinukes, emp missiles
78
79#Thanks to
80
81 - Yuritch for testing and providing me with improved mod config files, numerous ideas and suggestions and coding contributions (since AAI v0.83)
82- Nicklas Marcusson for porting/compiling the linux version of AAI, lots of help with debugging
83- TA Spring devs for creating the best open source rts game I know
84- Jelmer 'JC' Cnossen for some functions and a lot of helpful discussions
85- Krogothe for his mex spot algorithm
86- AccidUK for debugging and some coding suggestions
87- Tournesol and Firenu for helping me getting debugging to work
88- All other testers who are not listed here
89- All other people who gave some feedback
90- Brandon Potter for his TBT 12 cfg file
91
92#Change Log
93AAI v0.90
94- Completly redone scouting algorithm
95- Enemy units on radar are taken into account now as well
96- AAI will delay non-combat-critial buildtasks & upgrading of buildings when under pressure
97- Redesigned the way attacks are launched. AAI should play more aggressively now, attack poorly defended areas
98  more often and better coordinate attacks on maps with more than one landmass (e.g. island maps)
99- Improved the factory/builder selection algorithm
100- Improved construction and placement of radar towers
101- Fixed a bug that crashed the game when a mobile factory (= construction unit that may buil other units) was
102  killed on its way to the buildsite
103
104AAI v0.88
105- Current ammount of land/water within the base is taken into account when selecting factories (e.g. dont order
106  water factories on a land map anymore)
107- Improved AAIs behaviour on water maps with start positions on islands/land masses
108- Improved metal extractor construction algorithm (spots closer to available builder, faster algorithm,
109  works better if there are land and sea spots available at the same time)
110- Continent file version bumped to 0.87
111- Fixed a crash on shut down introduced in Spring v0.77
112
113AAI v0.87
114- Proper detection of amphibious ground units (was causing AAI to freeze on water maps)
115- Prevent AAI from blocking buildqueues for combat units by requesting too many scouts
116- Added proper handling of resurrected units (however AAI does not build resurrectors atm)
117- Added some unit specific combat behaviour: Units with high ranged weapons  will now try to keep enemies distant (if
118  their turnrate is not too low)
119- Added some new variables to mod config file:
120  FALLBACK_DIST_RATIO 0.9 - units will try keep enemies at this ratio of their maximum weapons' range
121  MIN_FALLBACK_RANGE 500  - units with lower weapons' range will not try fall back at all
122  MAX_FALLBACK_RANGE 800  - units with higher weapons' range will not try fall back at all
123  MIN_FALLBACK_TURNRATE 250 - units with lower turnrate will not try fall back at all
124- Added submarine defence map -> AAI will now store its defence capabilities vs submarines separately from other
125  naval units
126- AAI now takes continents into account when sending scouts to positions (e.g. it does not try send ground scouts to
127  positions on other islands/continents anymore)
128- AAI now takes continents into account when sending builder/assistant builders to positions (e.g. it does not try send
129  ground builders to positions on other islands/continents anymore (unless they are amphibious))
130- Fixed a bug that caused builders to leave the buildsite during construction
131- Fixed various freezes that have been caused by AAI flooding the ai interface with thousands of orders per frame
132- Fixed a bug that could prevent AAI from rebuilding destroyed factories
133- Bumped mod learning file version to 0.86 due to some changes in handling of amphibious units
134
135AAI v0.86
136- Added NON_AMPHIB_MAX_WATERDEPTH float (default is 15) statement to mod cfg file, specifies the max water depth
137  non amphibious ground units can cross
138- Added detection of amphibious units
139- Added new continent detection system: AAI will divide the map into continents marking connected land(water)masses
140  AAI will make a lot of use of this knowledge in future versions
141  -> map cache file version bumped to 0.86
142- Improved base expansion on water maps (e.g. AAI should no longer expand into a small pond on Small Supreme Battlefield
143  rather than the big ocean next to it)
144- Added COST_MULTIPLIER key word to mod cfg file, it allows to override the costs of a unit, e.g.
145  COST_MULTIPLIER armzeus 0.5 causes AAI to treat Arm Zeus as if it would cost half as much as it really does
146  This feature has been requested by Argh to porperly deal with unit squads (building a single unit will
147  provide the player with several independent units)
148- Fixed a stupid bug that prevented AAI from placing static defences according to terrain if map has already
149  been played before (bug in loading routine of map cache file)
150
151AAI v0.85
152- Added TRANSPORTERS keyword to mod cfg file, works like SCOUTS or ATTACKERS. Note that AAI does not use transporters
153  yet, but it may be used in future times
154- Redone scout selection, AAI may now use cloaked scouts, reduced GROUND/AIR/SEA/HOVER_SCOUT categories to one
155  SCOUT category
156-> Due to those changes buildtable version has been bumped to 0.85
157- Fixed a bug that prevented AAI from building builders under certain conditions (S44 was suffering from that)
158- AAI will remove sectors where it lost all its buildings from base (may add them again at any time later though)
159- Completly redone defence building placement (AAI will now take terrain into account as well as already existing
160  defences) It should give much better results now especially on maps that dont have rather flat terrain
161- AAI will take allied structures into account when looking for rally points for its combat units (helps to
162  better prevent AAI from blocking allied bases with its units)
163- Different instances of AAI now share several kind of map information (saves ram space) and do not expand to
164  sectors occupied by allied AAIs anymore
165- Added DONT_BUILD keyword to mod cfg files, it works like SCOUTS or ATTACKERS, units listed after DONT_BUILD will
166  not be build by AAI in any case (and will not been taken into account for internal statistics)
167- Added ATTACKERS keyword to mod cfg file to force AAI to use specified units as combat units despite all other
168  capabilities of the unit (e.g. buildoptions)  (implemented by Yuritch)
169- Resurrectors now may ressurect corpses instead of reclaiming them (however ressurectors chase newly resurrected
170  units trying to repair them - needs some work) (implemented by Yuritch)
171- Improved mex and power plant building rules a bit
172- AAI will upgrade the least effective metal extractors first (only important if a mod has more than two metal
173  extractors with different efficiencies)
174- Fixed a few potential crash bugs
175
176AAI v0.80
177- Improved/tweaked/fixed attack behaviour, AAI will try to withdraw when facing much stronger enemy forces
178- Added attack behaviour for air only mods
179- Added support for different reading/writing paths (only important for linux users)
180- Completly redesigned factory/builder management to support mobile factories and other stuff in the future
181  (EE hub system is NOT supported though)
182- Extended mod learning about usage of different unit categories with respect to elapsed game time
183- Reduced unit categories: LAND/SEA/HOVER/AIR_BUILDER are now in the same category GROUND/SEA_FACTORY
184  are now in the same category (slight performace increase and nicer code)
185- Improved mex spot selection (to prevent unnecessary long ways for builders), AAI will now also build better
186  extractors (e.g. moho mines) outside the base (according to safety)
187- Improved placement of stationary defences and tweaked selection of them a bit
188- Cleaned up buildtables, removed some old stuff, mod learning filesize decreased
189- Decreased map-learning filesize by removing stationary artillery learning and some other unnecessary stuff
190  (map-leraning version changed)
191- AAI no longer crashes when one of its units get captured
192- AAI now builds air bases/refuel pads (thx to yuritch for finding the bug)
193- Fixed various issues/bugs that could cause stalling / prevent AAI from building further factories, builders
194- Fixed a few bugs that could cause erroneus behaviour on water maps as well as a submarine related bug
195- Fixed lots of crash bugs
196- Fixed a possible memory leak in AAIBuildTable
197- Increased mod learning file version
198
199AAI v0.75
200- Completly redone attack system: AAI will now attack more elaborately
201  (attackers move on if are cleared, bombers returning to base when target destroyed, attack groups now
202  retreat under several circumstances, combat groups are guarded by aa units - however it still tends
203  to send in streams of attackers - will be adressed in one of the next versions ) Please note that at the
204  moment the new attack system does not work with air only mods such as FF at all. AAI will build a base
205  as well as combat units and react to the actions of the player but it will not attack in a proper way
206- Added MAX_ATTACKS statement to mod.cfg which determines the max number of independent attack waves at
207  the same time (set to 4 by default)
208- Modified artillery sorting in preparation of artillery support in one of the next versions.
209  Added GROUND_ARTY_RANGE, SEA_ARTY_RANGE and HOVER_ARTY_RANGE statement to mod cfg. These replace the
210  former MOBILE_ARTY_RANGE statement (it's no longer valid, remove from old cfg files)
211- For linux users: AAI will now store its files in the only writable datadirectory automatically (where
212  spring saves all its other files)
213- AAI now tries to get a safer rally point if combat units are killed en route
214- Builders now try to flee when attacked
215- AAI now takes allied buildings into account when expanding its base (to prevent AAI from building within
216  the base of someone else)
217- Improved AAI's building placement at the beginning of the game (buildings will not be spread out
218  that much anymore to reduce walking time of commander (thx to Accid_UK for the idea - should have been
219  already implemented in 0.70 but has somehow been commented out)
220- Tweaked economy/factory/defence building placement and selection
221- Fixed a bug that prevented AAI from building naval power plants
222- Fixed a bug which sometimes caused builders to leave their construction site
223- Fixed a bug that caused AAI to temporarily run out of scouts when requesting several scouts it could
224  not build at that time
225- Fixed a bug that caused serious confusion concerning unit speeds (unfortunately mod learning file
226  version had to be changed)
227- Fixed a very rare crashbug in the building placement algorithm
228- Fixed a possible crash bug in the airforce handling (thx to Nicklas Marcusson for reporting it)
229
230AAI v0.70
231- AAI now handles anti air/assault units, bombers and fighters with different groups
232  (requires a little bit of learning to work properly)
233- Added new category SUBMARINE_ASSAULT to improve AAI's behaviour on water maps
234- Added MAX_ANTI_AIR_GROUP_SIZE, MAX_NAVAL_GROUP_SIZE, MAX_SUBMARINE_GROUP_SIZE
235  and MAX_ARTY_GROUP_SIZE (not in use yet) statement to mod cfg
236- Added FAST_UNITS_RATE and HIGH_RANGE_UNITS_RATE statements to mod.cfg
237- Added different sub-groups for air only mods (light, medium, heavy & super heavy air assault)
238- Added a message being displayed from time to time when AAI has not been loaded successfully
239- Completly new combat unit selection (in theory, aai should react more dynamically to its
240  opponent's behaviour - requires some learning to work porperly)
241- Improved/fixed building of stationary defences - only terporary, defence placement will be reworked
242  within the next versions (MIN_SECTOR_THREAT statement added to mod.cfg)
243- Idle builders will now try to reclaim wreckages/features in/close to the base
244- Improved unit detection a bit (some bogus weapons like mobile jammers in aa will not be considered
245  being combat units anymore, static mobile units (like dragons claw) will be filtered out as well)
246- Improved assistance management e.g. factories will now call assisters both based on buildque length
247  and buildtime of single units (thx to accid_uk for his suggestion)
248- Added MIN_ASSISTANCE_BUILDSPEED statement to mod cfg
249- AAI now takes the position of its base into account when placing stationary defences for
250  extractors outside of its base
251- New power plant selection (fixed AAI not building pocket fusions in ff)
252- Fixed a spelling bug when reading cfg files (keyword had been MAX_ASSITANTS instead of MAX_ASSISTANTS)
253  (thx to Acidd_UK for reporting this bug)
254- Fixed a bug that prevented AAI from upgrading metal extractors
255- Fixed a bug that could cause AAI to freeze when builders get stuck
256- Fixed scout spamming bug
257- Fixed possible buffer overflow when reading cfg files (thx to FizzWizz for reporting)
258- Fixed a bug that crashed the game on small maps when MAX_MEX_DISTANCE was greater than
259  map size (e.g. small divide)
260- Fixed a bug that prevented AAI from rebuilding killed builders
261
262AAI v0.63
263- AAI now upgrades radars/jammers
264- Added MIN_FACTORIES_FOR_RADAR_JAMMER statement to mod cfg
265- Added support for Expand&Exterminate
266- Added support for mods with buildings as starting units (like AATA)
267- Added mod cfg file for BoTA (thx to yuri)
268- Tweaked defence building selection
269- AAI now prefers armed metal extractors when building far away from its main base
270- Fixed some bugs in the BuildTable (buildtable version changed)
271- Fixed a bug causing the buildmap not to be cleared when a building has been destroyed
272- Fixed a bug concerning speed groups
273- Fixed various crashbugs (big thank you to nicke for helping me finding them)
274
275AAI v0.60:
276(AAI's folder structure changed as well as all cache/learning files - i heavily recommend deleting old
277 AAI versions before installing AAI 0.60)
278- Experimental water map support, view FAQ for more details
279- Changed buildtable: Hover crafts got their own category (no longer part of ground units) and several
280  code cleanups to optimize speed
281- AAI remembers which usefulness of different assault categories and orders further combat units based on
282  that (i hope this will especially help adjusting the amount of land, hover and sea units aai uses on a
283  mixed land/water map)
284- Added support for stationary artillery (e.g. berthas) (added MAX_STAT_ARTY statement to mod cfg)
285- Added support for air repair pads (added MAX_AIR_BASE statement to mod cfg)
286  edit: seems to be broken somehow
287- Added support for several factories of the same type (added MAX_FACTORIES_PER_TYPE statement to mod cfg)
288- AAI now defends extractors outside its base up to a certain max dinstace with cheap defence buildings
289  (added MAX_MEX_DEFENCE_DISTANCE statement to mod cfg)
290- Builder selection improved, AAI now uses closest idle builder
291- AAI now sorts combat units into groups according to their max speed
292  (added UNITS_SPEED_SUBGROUPS statement to mod cfg)
293- Improved Air Force handling (added MAX_AIR_GROUP_SIZE, MIN_AIR_SUPPORT_EFFICIENCY statement to mod cfg)
294- Improved/Fixed several mod cfg files
295- Improved ressource management/AAI will now upgrade extractors to better ones
296- Improved defence building selection
297- Fixed a bug that crashed game right at the start on certain maps (eg. Battle Holmes)
298  (thx to HiEnergy for reporting this bug)
299- Fixed a few crashbugs
300- Fixed various smaller issues/bugs
301- Extended memory sharing between multiple instances of AAI and fixed a shared memory related crashbug
302
303AAI v0.55:
304- AAI is now compatible with the modified ai interface of spring 0.70
305- Extended map learning files/every mod now creates own map learing files
306- AAI tries not to send builders in setors which turned out to be too dangerous
307- Fixed a rounding related crashbug
308- Fixed a bug causing AAI to stop constructing new buidlings
309- Fixed a bug causing AAI to build rows of sensor towers in SW:TA
310- Fixed several bugs in the energy management causing aai not to build any further power plants
311
312AAI v0.50:
313- Completly new ressource management system (will be further improved in future versions)
314- Buildtable will now be shared by all instances of AAI (this mainly reduces aai's memory usage as well as
315  a slight increase in loading time when running more than one aai-player at the same time)
316- Improved factory/builder request system/modified buildtable, to be able to add support for AATA
317- Improved radar/jammer placement
318- AAI now builds metal makers and storage buidlings
319- Added support for metal maps
320- Added support for air units only mods (e.g. Final Frontier)
321- Added a general.cfg holding information that is used for all mods (e.g. allowing users to adjust how much
322  cpu-power AAI takes for scouting)
323- Fixed a bug when AAI stopped building after completing a few buildings
324- Fixed a bug that crashed AAI right at the beginning on certain maps (especially metal maps)
325  (thx to IMSabbel for reporting this bug)
326- Fixed a few crashbugs
327- Added mod support: Final Frontier, Gundam Annihilation
328
329AAI v0.40:
330- Scouting redone
331- Construction units now assist other builders/factories when needed
332- Added support for mods with more than two sides -> cfg files changed, replace with new ones
333- Improved building placement (AAI now prevents "diagonal rows"), fixed a building placement
334  related crashbug as well
335- AAI now uses radar
336- AAI now uses air units
337- Hopefully fixed a bug concerning blocked buildsites
338
339AAI v0.30:
340- AAI now builds defence buildings (will be extended later on)
341- Improved expansion
342- All learning/cache files now contain an internal version to provide better compatibility in the future.
343  if there will be any changes in the future newer file versions will be created automatically
344- Fixed various bugs, AAI should be running much more stable now
345- Switched to krogothe's mex spot algorithm
346
347AAI v0.20:
348- First released version
349- Completely rewritten metal/energy management -> still not working very good
350- Improved selection of more expensive units (prevents AAI from building level 2
351  units too early (in most cases...))
352- A certain amount of units will be build to counter air units
353- Various minor fixes and code improvements
354
355AAI v0.10: (internal version)
356- Works with different mods (see config file section for more information)
357- AI builds a little base
358- AI builds all kinds of units and tries to attack enemy bases
359- AI learns about important locations in a map on its own
360  (and saves results in a learning-file)
361
362