Warzone2100 / warzone2100

Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
https://wz2100.net
GNU General Public License v2.0
3.17k stars 524 forks source link

Self-contained per aibot directory structure #3739

Open Chewbakka-Wakka opened 4 months ago

Chewbakka-Wakka commented 4 months ago

Currently, ai bots are stored as follows in the game path a bit like this:

/warzone2100/multiplay/skirmish/

Where all bots have a combination of files and directory/sub-directories all shared here:

bonecrusher/ bonecrusher.json cobra_includes/
Cobra.js
Cobra.json
cobra_rulesets/ nexus_includes/
nexus.js nexus.json nexus_standards/ semperfi_includes/ semperfi.js
semperfi.json

I propose a simple change of moving these files into own directories without mixing like this:

/warzone2100/multiplay/skirmish/aibots/

Bonecrusher/ Cobra/ Nexus/ Semperfi/ NullBot/

Should be easy, though it seems an ai bot will not currently load unless the .js and .json files are specifically within: /warzone2100/multiplay/skirmish/

If I manually create /warzone2100/multiplay/skirmish/aibots/ then move such files there, they will not be loaded by the game in the GUI menu selection screen. ( all done offline after decompressing the .wz file containing this data )

P.S. - Where are the Easy and Insane modifiers that correspondingly give the AI bot an oil nerf of -25% and a bonus of +100%?

Arithyce commented 4 months ago

P.S. - Where are the Easy and Insane modifiers that correspondingly give the AI bot an oil nerf of -25% and a bonus of +100%?

On GitHub: https://github.com/Warzone2100/warzone2100/tree/master/data/mp/multiplay/script/rules/powermodifier.js. In mp.wz: mp.wz\multiplay\script\rules\setup\powermodifier.js.

Chewbakka-Wakka commented 4 months ago

Further to this... I could use some help in passing a file on the CLI for my numerous AI bot tests as I make incremental changes, though I see no docs on how or what the file should contain.

$ warzone2100 --skirmish=test --nosound - ( Is the closest I can get )