AI:CSAI: Difference between revisions

From Spring
Jump to navigationJump to search
BvqCtl (talk | contribs)
mNo edit summary
redirect manageddreams.com to hughperkins.com, and add github repo link
 
(7 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[http://wc1.worldcrossing.com/WebX/.1de60a27 sildenafil] [http://wc1.worldcrossing.com/WebX/.1de60a0b vigrx online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=90&forum=13 cialis online] [http://wc1.worldcrossing.com/WebX/.1de60a16 levitra online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=150 tramadol online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=165 cheap vicodin] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=156&forum=13 wellbutrin online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=133&forum=13 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=130&forum=13 propecia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=129&forum=13 free polyphonic ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=221 free cool ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=213 free polyphonic ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f4 free mono ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=106&forum=13 cheap hydrocodone] [http://wc1.worldcrossing.com/WebX/.1de609db cheap adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=84&forum=13 alltel ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=334 valium online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=146&forum=13 cheap tenuate] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=128&forum=13 cheap phentermine] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=85&forum=13 order alprazolam] [http://wc1.worldcrossing.com/WebX/.1de60a1e flexeril online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=196 hgh online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=114&forum=13 meridia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=150&forum=13 cheap ultram] [http://news.engin.brown.edu/forums/thread-view.asp?tid=201 free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=103&forum=13 funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=194 diethylpropion online] [http://wc1.worldcrossing.com/WebX/.1de609fe qwest ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=207 real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=186 lipitor online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=149&forum=13 cheap ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=148&forum=13 tramadol online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=159 cheap cialis] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=142&forum=13 sony ericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=203 free funny ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a32 online zoloft] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=120&forum=13 free music ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=336 cheap carisoprodol] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=160&forum=13 cheap zanaflex] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=354 free nokia ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=113&forum=13 but lortab] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=362 free motorola ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=209 free samsung ringtones] [http://wc1.worldcrossing.com/WebX/.1de609dd free alltel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=222 free sharp ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a28 cheap soma] [http://wc1.worldcrossing.com/WebX/.1de60a1a mtv ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=109&forum=13 levitra online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=127&forum=13 cheap pharmacy online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=361 real ringtones] [http://wc1.worldcrossing.com/WebX/.1de609df cheap ambien] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=98&forum=13 diethylpropion online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=158&forum=13 xanax online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=172 online lorazepam] [http://wc1.worldcrossing.com/WebX/.1de609ff real ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=220 free punk ringtones] [http://wc1.worldcrossing.com/WebX/.1de609dc albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a2e cheap xanax] [http://news.engin.brown.edu/forums/thread-view.asp?tid=156 fioricet online] [http://wc1.worldcrossing.com/WebX/.1de60a10 cheap didrex] [http://wc1.worldcrossing.com/WebX/.1de60a35 verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=176 buy ultracet] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=356 free tracfone ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=92&forum=13 cheap clomid] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=344 ativan] [http://news.engin.brown.edu/forums/thread-view.asp?tid=155 buy xanax] [http://news.engin.brown.edu/forums/thread-view.asp?tid=178 buy nexium] [http://wc1.worldcrossing.com/WebX/.1de60a04 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=182 clomid online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=82&forum=13 cheap adipex] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=343 cialis] [http://news.engin.brown.edu/forums/thread-view.asp?tid=170 hydrocodone online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=169 cheap levitra] [http://wc1.worldcrossing.com/WebX/.1de609f3 free midi ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=111&forum=13 lisinopril online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=224 wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=153 phentermine online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=147&forum=13 tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=181 cheap sildenafil] [http://news.engin.brown.edu/forums/thread-view.asp?tid=212 free verizon ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=223 free midi ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=335 buy phentermine] [http://wc1.worldcrossing.com/WebX/.1de60a00 cheap rivotril] [http://wc1.worldcrossing.com/WebX/.1de60a0a vicodin] [http://news.engin.brown.edu/forums/thread-view.asp?tid=187 celexa online] [http://wc1.worldcrossing.com/WebX/.1de609eb free funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=197 cheap flexeril] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=105&forum=13 cheap hoodia] [http://news.engin.brown.edu/forums/thread-view.asp?tid=188 tenuate online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=180 prozac online] [http://wc1.worldcrossing.com/WebX/.1de60a05 free sprint ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f9 order norco] [http://wc1.worldcrossing.com/WebX/.1de609f2 meridia] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=145&forum=13 free sprint ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=96&forum=13 buy diazepam] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=338 fioricet online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=358 mp3 ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a21 paxil online] [http://wc1.worldcrossing.com/WebX/.1de60a31 zanaflex online] [http://wc1.worldcrossing.com/WebX/.1de609de but alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=141&forum=13 cheap soma] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=342 diazepam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=157&forum=13 wwe ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=161&forum=13 zoloft] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=112&forum=13 lorazepam online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=124&forum=13 online norco] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=355 free free ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=88&forum=13 carisoprodol online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=360 free qwest ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=167 clonazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a0e cheap celexa] [http://wc1.worldcrossing.com/WebX/.1de609e4 clonazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a17 buy lipitor] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=123&forum=13 nokia ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=184 cheap lisinopril] [http://wc1.worldcrossing.com/WebX/.1de60a24 propecia online] [http://wc1.worldcrossing.com/WebX/.1de609f8 nokia ringtones] [http://wc1.worldcrossing.com/WebX/.1de609fd punk ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=154 buy carisoprodol] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=339 order ultram] [http://wc1.worldcrossing.com/WebX/.1de60a34 free sony ericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=202 free tracfone ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=199 cheap zyban] [http://news.engin.brown.edu/forums/thread-view.asp?tid=198 cheap hoodia] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=332 tramadol online] [http://wc1.worldcrossing.com/WebX/.1de60a1d cingular ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=107&forum=13 jazz ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=219 free alltel ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=101&forum=13 but flexeril] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=359 nextel ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a15 free kyocera ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=363 samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=117&forum=13 motorola ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=346 meridia online] [http://wc1.worldcrossing.com/WebX/.1de60a30 xenical online] [http://wc1.worldcrossing.com/WebX/.1de60a03 sony ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=168 paxil online] [http://wc1.worldcrossing.com/WebX/.1de60a01 free sagem ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=160 buy ativan] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=136&forum=13 cheap rivotril] [http://wc1.worldcrossing.com/WebX/.1de609fb order ortho] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=89&forum=13 cheap celexa] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=139&forum=13 sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=163 cheap adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=125&forum=13 cheap ortho] [http://wc1.worldcrossing.com/WebX/.1de609ee hydrocodone] [http://news.engin.brown.edu/forums/thread-view.asp?tid=177 propecia online] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=91&forum=13 cingular ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f7 free nextel ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=215 sagem ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=347 online adipex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=132&forum=13 free punk ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=97&forum=13 buy didrex] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=144&forum=13 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=179 cheap didrex] [http://news.engin.brown.edu/forums/thread-view.asp?tid=158 diazepam online] [http://wc1.worldcrossing.com/WebX/.1de60a25 free samsung ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a26 sharp ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=162 cheap meridia] [http://news.engin.brown.edu/forums/thread-view.asp?tid=217 mono ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=152 cheap valium] [http://wc1.worldcrossing.com/WebX/.1de609ec hgh online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=205 free nextel ringtones] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=357 funny ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=191 lortab online] [http://wc1.worldcrossing.com/WebX/.1de60a2b but ultracet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=153&forum=13 buy viagra] [http://news.engin.brown.edu/forums/thread-view.asp?tid=183 online albuterol] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=349 vicodin online] [http://wc1.worldcrossing.com/WebX/.1de60a18 free motorola ringtones] [http://wc1.worldcrossing.com/WebX/.1de609f0 cheap lorazepam] [http://wc1.worldcrossing.com/WebX/.1de60a12 free ericsson ringtones] [http://wc1.worldcrossing.com/WebX/.1de60a19 free mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=216 free sonyericsson ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=161 cheap viagra] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=95&forum=13 cheap cyclobenzaprine] [http://news.engin.brown.edu/forums/thread-view.asp?tid=192 but vigrx] [http://wc1.worldcrossing.com/WebX/.1de60a0d wwe ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=185 zoloft online] [http://wc1.worldcrossing.com/WebX/.1de609e3 clomid online] [http://wc1.worldcrossing.com/WebX/.1de60a13 cheap fioricet] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=138&forum=13 samsung ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=83&forum=13 albuterol online] [http://wc1.worldcrossing.com/WebX/.1de60a29 buy tramadol] [http://news.engin.brown.edu/forums/thread-view.asp?tid=173 cheap xenical] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=350 online alprazolam] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=93&forum=13 cheap clonazepam] [http://news.engin.brown.edu/forums/thread-view.asp?tid=204 free mp3 ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=164 norco online] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=337 online xanax] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=119&forum=13 mtv ringtones] [http://news.engin.brown.edu/forums/thread-view.asp?tid=206 qwest ringtones] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=151&forum=13 valium] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=140&forum=13 cheap sildenafil] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=162&forum=13 zyban online] [http://news.engin.brown.edu/forums/thread-view.asp?tid=166 cheap alprazolam] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=353 levitra] [http://www.psfc.mit.edu/~jinseok/bbse/view.php?id=presentations&no=333 cheap soma] [http://news.engin.brown.edu/forums/thread-view.asp?tid=189 cheap ortho] [http://people.msoe.edu/~millerni/forums.php?show=topic&id=159&forum=13 xenical online] [http://people.msoe.edu/~millerni/forums.php?show=topic
== CSAI ==
 
CSAI works ok as ARM on land maps, using the AA2.23 or XTA7 mod.
 
CSAI is written in C#, by Hugh Perkins
 
== Supported Mods ==
 
*AA2.23
*XTA7
 
== Supported Platforms ==
 
*Windows
 
== Supported Maps ==
 
CSAI works best with maps with one large contiguous land segment.
 
The following maps have been tested and work ok:
*SmallDivide
*CometCatcher Remake v02
*SpeedMetal
*Small Supreme Battlefield
 
== Screenshots ==
 
CSAI scout sets off, SSB, XTA7:
 
[[File:csaivsaai_xta7_ssb_4zippysetsoffsmall.JPG]]
 
CSAI tanks leave trail of destruction through AAI base, SSB, XTA7:
 
[[File:csaivsaai_xta7_ssb_23trailofdestructionthroughaaibasesmall.JPG]]
 
CSAI tanks kill AAI commander on SSB, XTA7:
 
[[File:csaivsaai_xta7_ssb_25byebyeaaicommandersmall.JPG]]
 
CSAI (in red) approaches TSI base, SpeedMetal, AA2.23. That plasma beam could cause some pain.
 
[[File:csaivstsispeedmetal_arriveatbase.JPG]]
 
Plasma beam down, CSAI overruns TSI base, SpeedMetal, AA2.23.
 
[[File:csaivstsispeedmetal_2plasmagoneoverrun.JPG]]
 
CSAI (in red) attacks AAI, SpeedMetal, AA2.23
 
[[File:speedmetalzergsmall.JPG]]
 
CSAI units approach TSI base, SmallDivide, AA2.23
 
[[File:vstsismalldivide_1_attackgroupapproachingbase.JPG]]
 
CSAI units kill TSI commander, SmallDivide, AA2.23
 
[[File:vstsismalldivide_6tsicommanderdies.JPG]]
 
== Replays ==
 
Here are some replays to give you an impression of how CSAI fights.
 
CSAI vs AAI 0.75, XTA7:
 
Small Supreme Battlefield
 
*[http://hughperkins.com/csai/061026-SmallSupremeBattlefield-0.73b1-0-csai-vs-aai-xta7.sdf http://hughperkins.com/csai/061026-SmallSupremeBattlefield-0.73b1-0-csai-vs-aai-xta7.sdf]  
 
CSAI vs AAI 0.75, AA2.23:
 
*[http://hughperkins.com/csai/061023-SmallDivide-0.73b1-20.sdf http://hughperkins.com/csai/061023-SmallDivide-0.73b1-20.sdf]
*[http://hughperkins.com/csai/061023-CometCatcherRemake-v02-0.73b1-0.sdf http://hughperkins.com/csai/061023-CometCatcherRemake-v02-0.73b1-0.sdf]
*[http://hughperkins.com/csai/061025-SpeedMetal-0.73b1-2.sdf http://hughperkins.com/csai/061025-SpeedMetal-0.73b1-2.sdf]
 
CSAI vs TSI 0.12, AA2.23:
 
*[http://hughperkins.com/csai/061025-CometCatcherRemake-v02-0.73b1-3.sdf http://hughperkins.com/csai/061025-CometCatcherRemake-v02-0.73b1-3.sdf]
*[http://hughperkins.com/csai/061025-SpeedMetal-0.73b1-0-csai-vs-tsi-aa223.sdf http://hughperkins.com/csai/061025-SpeedMetal-0.73b1-0-csai-vs-tsi-aa223.sdf]
*[http://hughperkins.com/csai/061025-SmallDivide-0.73b1-0-csai-vs-tsi-aa223.sdf http://hughperkins.com/csai/061025-SmallDivide-0.73b1-0-csai-vs-tsi-aa223.sdf]
 
== Downloads ==
 
Latest release:
*[http://hughperkins.com/csai/CSharpAI-20061028.zip http://hughperkins.com/csai/CSharpAI-20061028.zip]
 
Previous releases:
*[http://hughperkins.com/csai/CSharpAI_20061026b.zip http://hughperkins.com/csai/CSharpAI_20061026b.zip]
*[http://hughperkins.com/csai/CSharpAI_20061026.zip http://hughperkins.com/csai/CSharpAI_20061026.zip]
*[http://hughperkins.com/csai/CSharpAI_20061025.zip http://hughperkins.com/csai/CSharpAI_20061025.zip]
*[http://hughperkins.com/csai/CSharpAI_20061024.zip http://hughperkins.com/csai/CSharpAI_20061024.zip]
 
== To Install ==
 
*Ensure that you have the Microsoft Framework .Net 1.1 runtime installed. You can download this from Microsoft, for free.
*Ensure that you have the latest version of Spring installed, 0.73b.
*Download the latest CSharpAI zipfile from the Downloads section and unzip it.
*Run setup.exe
*Confirm the Spring installation directory
*The CSAI dlls should be automatically installed into the Spring directory
 
== To use ==
 
To run the bot:
*create a multiplayer game, using Absolute Annihilation 2.23
*specify start positions as "random" or "fixed"
*click "add bot"
*specify the ai as "csailoader.dll"
*<b>Important: ensure bot plays as ARM</b>
 
You can find a logfile in the Spring/AI/CSAI directory, called csharpai_team0.log  , where 0 is the name of the team
 
== Commands available ==
 
You can talk to your AI whilst it plays.
 
Commands to the ai always start with ".csai ", then the command.
 
Type ".csai help" for a list of available commands. Here are some of them:
 
*.csai commanderbuildpower  Commander builds a solar cell near him
*.csai commanderbuildextractor Commander builds a metal extractor on nearest available metal spot
*.csai commandermove 0 1000 1500  Move team 0 commander to position (1000,1500)
*.csai commandergetpos  Ask for commander's current position
*.csai commanderbuild armvp  Ask commander to build a vehicle plant next to him. Use any valid unit name here (see logfile for list) (must be buildable by arm commander)
 
*.csai killallfriendly    Kills all units belonging to AI, except for commander  This is sometimes useful during AI testing
*.csai unitcount (countunits?)  Shows number of units currently
 
*.csai showmetalspots  Show detected optimal metal extractor positions. Also shows metalspots that have been marked used
 
*.csai tankscount  Find out how many tanks are available
*.csai tanksmoveto 0 500 1000    Move all team 0 tanks to position 500, 1000
 
*.csai autoshowenemieson  Shows detected mobile enemies (samson icon) and static enemies (antinuke icon)
 
== How to beat CSAI ==
 
Here are some strategies that will kill the current release of CSAI.
 
Massive concentration of defense near AI's base:
 
http://hughperkins.com/csai/screenshots/silpkillcsai-3.JPG
 
Replay:
[http://hughperkins.com/csai/silp3-061031-Core_Faf-0.73b1-2.sdf http://hughperkins.com/csai/silp3-061031-Core_Faf-0.73b1-2.sdf]
 
== Known issues ==
 
*All current released versions: on computers where the regional settings specifies the decimal separator as something other than ".", the metal cache will fail to load correctly. This means the commander will put extractors along the top of the screen and lose. This affects computers in France and Germany.
 
== Release notes ==
 
=== Release 28 October ===
 
C  /C# Interface
 
*corrected critical bug in AICallbackProxy::GetMetalMap()
*augmented number of allowed units to 10000 in AICallbackProxy
 
CSAI
 
*(experimental) created setup.exe to facilitate installation
 
=== Release 26 October 2006 b ===
 
C  /C# Interface
*No changes
 
CSAI
*created PackCoordinator architecture
*fixed bug that caused infantry factories to shutdown occasionally when playing XTA
*spreadsearch initiated more aggressively
 
=== Release 26 October 2006 ===
 
C  /C# Interface
*No changes
 
CSAI
*supports XTA 7
*modified Metal algo to prefer spots which are over actual metal, rather than offset to one side
*(experimental) clearance around metal extractors reduced to improve location precision. NOTE: this may increase unit blocking, to be verified
*you can turn debug on by creating an empty file called "debug.flg" in the ai/csai directory
*(experimental) added search algo for tanks if they havent seen an enemy for about a minute and there's at least 100 of them
*improved radar deployment
 
=== Release 25 October 2006 ===
 
C  /C# Interface
*No changes
 
CSAI
*added support for metal maps
*fixed bug with metalspots being marked used even if not
*added constructor controller, to ensure always at least one constructor
*added anti-sticking patch for constructors
*added memory for buildings to enemycontroller (since buildings cant move)
*corrected bugs in enemy selection algorithm
*trimmed cpu resource drain for stuck constructors
*removed default drawing of detected enemies; you can say ".csai autoshowenemieson" to reactivate this
*removed default drawing of planned construction site; you can say ".csai constructorshownextbuildsiteon" to reactivate this
*experimenting with kbot factory
*experimenting with replacing samsons by jethros
*factories no longer announce their creation
*added AttackPackCoordinator to improve pack grouping
 
=== Release 24 October 2006 ===
 
C  /C# Interface
*CSAI.dll moved to AI/CSAI (only CSAIInterfaces.dll remains in Spring root)
*<csailoaderfilename>.xml config file added, to configure which C# AI dll to load
*batchfile building no longer supported (please use nant)
*added IMoveData
*added IUnitDef.movedata
*added all command constants, eg MOVE, SELFD, to Command.cs
*added operators to Float3
*added UnitIsBusy to AICallback (checks GetCurrentUnitCommands returns empty deque)
*documentation moved to wiki at http://springrts.com/wiki/AI:CSAIInterface
 
CSAI
*added commands to move commander, and get commander to build things
*logfiles moved to AI/CSAI , in line with AI standards
*batchfile building no longer supported (please use nant)
*UnitController added, to register player-owned units
*FactoryController added, to register player-owned factories
*added port of AF's UnitDefHelp
*added architecture for strategies
*event architecture added to CSAI for unitcreated, unitfinished, unitdamaged, etc
*added PowerController to control energy
*added MetalController to control metal
*added TankController to manage tanks (bootstrapping class only)
*added EnemyController to monitor enemies
*added RadarController to manage radars
*added simple heuristic to prevent commander blocking himself in or factories
*added ScoutController
*added Request system to factories, to decide what to build
*documentation moved to wiki at http://springrts.com/wiki/AI:CSAI
 
== Developer resources ==
 
You may wish to extend or modify CSAI. If so, the following pages may be useful:
 
* github repo: https://github.com/hughperkins/SpringRTS-CSharpAI
*[[CSAI Build Instructions]] How to build CSAI
*[[AI:CSAIInterface]]   Information on the C  /C# interface
[[Category:AI]]

Latest revision as of 11:31, 9 August 2015

CSAI

CSAI works ok as ARM on land maps, using the AA2.23 or XTA7 mod.

CSAI is written in C#, by Hugh Perkins

Supported Mods

  • AA2.23
  • XTA7

Supported Platforms

  • Windows

Supported Maps

CSAI works best with maps with one large contiguous land segment.

The following maps have been tested and work ok:

  • SmallDivide
  • CometCatcher Remake v02
  • SpeedMetal
  • Small Supreme Battlefield

Screenshots

CSAI scout sets off, SSB, XTA7:

CSAI tanks leave trail of destruction through AAI base, SSB, XTA7:

CSAI tanks kill AAI commander on SSB, XTA7:

CSAI (in red) approaches TSI base, SpeedMetal, AA2.23. That plasma beam could cause some pain.

Plasma beam down, CSAI overruns TSI base, SpeedMetal, AA2.23.

CSAI (in red) attacks AAI, SpeedMetal, AA2.23

CSAI units approach TSI base, SmallDivide, AA2.23

CSAI units kill TSI commander, SmallDivide, AA2.23

Replays

Here are some replays to give you an impression of how CSAI fights.

CSAI vs AAI 0.75, XTA7:

Small Supreme Battlefield

CSAI vs AAI 0.75, AA2.23:

CSAI vs TSI 0.12, AA2.23:

Downloads

Latest release:

Previous releases:

To Install

  • Ensure that you have the Microsoft Framework .Net 1.1 runtime installed. You can download this from Microsoft, for free.
  • Ensure that you have the latest version of Spring installed, 0.73b.
  • Download the latest CSharpAI zipfile from the Downloads section and unzip it.
  • Run setup.exe
  • Confirm the Spring installation directory
  • The CSAI dlls should be automatically installed into the Spring directory

To use

To run the bot:

  • create a multiplayer game, using Absolute Annihilation 2.23
  • specify start positions as "random" or "fixed"
  • click "add bot"
  • specify the ai as "csailoader.dll"
  • Important: ensure bot plays as ARM

You can find a logfile in the Spring/AI/CSAI directory, called csharpai_team0.log , where 0 is the name of the team

Commands available

You can talk to your AI whilst it plays.

Commands to the ai always start with ".csai ", then the command.

Type ".csai help" for a list of available commands. Here are some of them:

  • .csai commanderbuildpower Commander builds a solar cell near him
  • .csai commanderbuildextractor Commander builds a metal extractor on nearest available metal spot
  • .csai commandermove 0 1000 1500 Move team 0 commander to position (1000,1500)
  • .csai commandergetpos Ask for commander's current position
  • .csai commanderbuild armvp Ask commander to build a vehicle plant next to him. Use any valid unit name here (see logfile for list) (must be buildable by arm commander)
  • .csai killallfriendly Kills all units belonging to AI, except for commander This is sometimes useful during AI testing
  • .csai unitcount (countunits?) Shows number of units currently
  • .csai showmetalspots Show detected optimal metal extractor positions. Also shows metalspots that have been marked used
  • .csai tankscount Find out how many tanks are available
  • .csai tanksmoveto 0 500 1000 Move all team 0 tanks to position 500, 1000
  • .csai autoshowenemieson Shows detected mobile enemies (samson icon) and static enemies (antinuke icon)

How to beat CSAI

Here are some strategies that will kill the current release of CSAI.

Massive concentration of defense near AI's base:

silpkillcsai-3.JPG

Replay: http://hughperkins.com/csai/silp3-061031-Core_Faf-0.73b1-2.sdf

Known issues

  • All current released versions: on computers where the regional settings specifies the decimal separator as something other than ".", the metal cache will fail to load correctly. This means the commander will put extractors along the top of the screen and lose. This affects computers in France and Germany.

Release notes

Release 28 October

C /C# Interface

  • corrected critical bug in AICallbackProxy::GetMetalMap()
  • augmented number of allowed units to 10000 in AICallbackProxy

CSAI

  • (experimental) created setup.exe to facilitate installation

Release 26 October 2006 b

C /C# Interface

  • No changes

CSAI

  • created PackCoordinator architecture
  • fixed bug that caused infantry factories to shutdown occasionally when playing XTA
  • spreadsearch initiated more aggressively

Release 26 October 2006

C /C# Interface

  • No changes

CSAI

  • supports XTA 7
  • modified Metal algo to prefer spots which are over actual metal, rather than offset to one side
  • (experimental) clearance around metal extractors reduced to improve location precision. NOTE: this may increase unit blocking, to be verified
  • you can turn debug on by creating an empty file called "debug.flg" in the ai/csai directory
  • (experimental) added search algo for tanks if they havent seen an enemy for about a minute and there's at least 100 of them
  • improved radar deployment

Release 25 October 2006

C /C# Interface

  • No changes

CSAI

  • added support for metal maps
  • fixed bug with metalspots being marked used even if not
  • added constructor controller, to ensure always at least one constructor
  • added anti-sticking patch for constructors
  • added memory for buildings to enemycontroller (since buildings cant move)
  • corrected bugs in enemy selection algorithm
  • trimmed cpu resource drain for stuck constructors
  • removed default drawing of detected enemies; you can say ".csai autoshowenemieson" to reactivate this
  • removed default drawing of planned construction site; you can say ".csai constructorshownextbuildsiteon" to reactivate this
  • experimenting with kbot factory
  • experimenting with replacing samsons by jethros
  • factories no longer announce their creation
  • added AttackPackCoordinator to improve pack grouping

Release 24 October 2006

C /C# Interface

  • CSAI.dll moved to AI/CSAI (only CSAIInterfaces.dll remains in Spring root)
  • <csailoaderfilename>.xml config file added, to configure which C# AI dll to load
  • batchfile building no longer supported (please use nant)
  • added IMoveData
  • added IUnitDef.movedata
  • added all command constants, eg MOVE, SELFD, to Command.cs
  • added operators to Float3
  • added UnitIsBusy to AICallback (checks GetCurrentUnitCommands returns empty deque)
  • documentation moved to wiki at http://springrts.com/wiki/AI:CSAIInterface

CSAI

  • added commands to move commander, and get commander to build things
  • logfiles moved to AI/CSAI , in line with AI standards
  • batchfile building no longer supported (please use nant)
  • UnitController added, to register player-owned units
  • FactoryController added, to register player-owned factories
  • added port of AF's UnitDefHelp
  • added architecture for strategies
  • event architecture added to CSAI for unitcreated, unitfinished, unitdamaged, etc
  • added PowerController to control energy
  • added MetalController to control metal
  • added TankController to manage tanks (bootstrapping class only)
  • added EnemyController to monitor enemies
  • added RadarController to manage radars
  • added simple heuristic to prevent commander blocking himself in or factories
  • added ScoutController
  • added Request system to factories, to decide what to build
  • documentation moved to wiki at http://springrts.com/wiki/AI:CSAI

Developer resources

You may wish to extend or modify CSAI. If so, the following pages may be useful: