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