AI:HughAI: Difference between revisions
Hughperkins (talk | contribs) Wrote it more from the poitn of view of a user than a developer |
Hughperkins (talk | contribs) m minor forrmatting |
||
| Line 17: | Line 17: | ||
2. untar (using Winzip or your favorite zip utility) into AI/Skirmish, so you should have the following directory structure: | 2. untar (using Winzip or your favorite zip utility) into AI/Skirmish, so you should have the following directory structure: | ||
AI/ | AI/ | ||
Skirmish/ | Skirmish/ | ||
HughAI/ | HughAI/ | ||
0.1/ | 0.1/ | ||
SkirmishAI.jar | SkirmishAI.jar | ||
... other files ... | ... other files ... | ||
3. Run springlobby, create a single-player game, and do "add-bot" | 3. Run springlobby, create a single-player game, and do "add-bot" | ||
Revision as of 13:33, 7 September 2009
What is HughAI
HughAI is a Java port of CSAI2, which was a partially refactored version of AI:CSAI, a fast rush AI, written in C#, by Hugh Perkins.
To install
To install
Make sure you have hoijui's Java Interface v0.1 installed. I believe this is installed automatically if you have Windows. Other platforms may have varying mileage.
Once you have Java Interface 0.1 installed ok:
1. Download HughAI from:
http://manageddreams.com/hughai/HughAI.tar.bz2
2. untar (using Winzip or your favorite zip utility) into AI/Skirmish, so you should have the following directory structure:
AI/
Skirmish/
HughAI/
0.1/
SkirmishAI.jar
... other files ...
3. Run springlobby, create a single-player game, and do "add-bot"
Note that the AI needs to be playing as Arm, and on Balanced Annihilation. On anything else, it will probably just sit there and do nothing :-D
It's fairly early days yet, so don't expect too much just yet ;-) I'll update this message as it gets better.
Mods and maps
It only really works with Balanced Annihilation, unless you start to tweak the config files.
Play-style
It's a non-cheating AI. It sends out scouts to locate the enemy. It attacks with a pack of units, and withdraws them if too many die. That's it for now ;-) It did ok in its C# form. It's currently undergoing quite a lot of mutation, and it's becoming quite configurable, so it's early days yet.
Configuration
There is a per-mod configuration file in the AI directory, with a version postfix, currently _2, ie:
BA_2.xml
This can be used to tweak the names of certain default and basic units.
There are also a number of workflow xml files in the BA_workflows subdirectory. Currently, only one of the workflows are used, so there's no point in adding more than one for now ;-) In the future, it might simply randomly select from one, at random, so a human enemy doesn't know if the AI will tech or rush or whatever. Sounds reasonable?
The workflow config files define what will get built essentially, with a priority, a unitname, and a quantity.
The higher the priority, the earlier the units will be built.
You can add in the same unit on multiple lines, with different priorities, so you can say: ok, first build a couple of stumpies, then a jeffy, then some more stumpies, or whatever.
Limitations /ways to beat it
Currently, no threatmap, so just dump some really powerful defense in its way, and it'll obsessively throw itself against it.
Soure-code
The sources are available from the following git repository:
git://github.com/hughperkins/HughAI.git http://github.com/hughperkins/HughAI/tree/master
More details on the architecture can be found in the file src-ai/architecture.txt, in the sources: