Page 1 of 18

Entropy III v1.0 RC4 (Updated 2/19/10)

Posted: Sun May 17, 2009 6:52 pm
by Archon_Wing
Entropy III -- Random Noncheating AI selector For Starcraft Broodwar
Image

Entropy III 1.0 is almost ready, here's a release candidate which will be very similar to its final form. I will be waiting a bit more for scripts to be updated and bugs to be ironed out as there will be some inevitably.

1.0 RC4, Fixed unused label crash
[attachment=2717:Entropy III 1.0 RC4.zip]

Entropy III can also be played via BWAI Launcher; the latest Entropy package will be included in it.
Download it!

If you want just the BWAI launcher package
[attachment=2720:Entropy Package Feb 19 2009.zip]
(Exact same as 1.0 rc4's files)

BWAI Launcher allows you many more options such as mix and matching scripts of your desire, and being able to easily edit the scripts and see your changes in a flash. Simply download the program, unzip it to a folder of your choosing. Then start the program by double clicking BWAIlauncher.exe and make sure the dropdown box on top is set to 01) Entropy Non-Cheating. The Entropy T, P, and Z multiplayer files are exactly identical to the standalone Entropy III file. However, you can also select any of the individual scripts to play also. Can't decide? Tick the entropyze checkbox for a random selection.

You may also insert your own scripts into the fray. To do this, go into the BWAI Launcher folder. Then go into packages, and into 01) Entropy (Non-Cheating). There's 3 folders named Terran, Protoss, and Zerg. Copy your script into the appropriate folder (Terran should obviously go into the terran folder), hit refresh in BWAI Launcher, and now your script is selectable for play.



For these reasons, BWAI launcher will be the final, and ultimate form of the BWAI Project. We hope you will enjoy the years of effort put into by the community. For trouble with BWAIlauncher, please go here

About Entropy III

This AI compilation is an update of Entropy II, the all in one script AI. An individual script is weak because after a few tries, it can become too predictable, but the combination of many scripts can make for a unpredictable and ultimately more fun opponent. This file hopes to encompass the best of the non-cheating AIs.



Usage
Please play on the recommended maps, as the AI can be finicky. http://www.broodwarai.com/forums/index.php?showtopic=252 Avoid maps with cliffs and easily defendable islands such as Lost Temple, AI works horrible for them.
Also, please refrain from AI specific exploits like luring away workers, gas stealing and walling. I mean what's the point of doing it on a silly comp? This file only works on Starcraft: Broodwar; it should run on any version, but the latest, 1.16.1, is preferred. Simply just run the included exe file, and start a single player or multiplayer game. Team games can be played with the "top vs bottom" mode. If you want to share control of a single player with a friend against comps, you can use "team melee".

Read more: (cutoff tag not working for news announcements)[spoiler]The main goal was to recognize scripts created after Entropy II's release, and to provide stability fixes to existing ones (minimizing the chance of a crash or the AI permanently halting.) Edits to existing scripts have been minimized to not change the overall theme or intention of the script as much as possible.

Starcraft and Broodwar are the property of Blizzard Entertainment. Any part of the individual scripts and Entropy II is the property of their respective owners. Do not download this file from anywhere else besides Broodwarai.com, for I cannot guarantee the file will be safe from viruses or other malicous intents. Do not eat or give to children under the age of 6. Download at your own risk!!

I did not write these scripts. No one person did. This file is the collective sum of the efforts of members of Broodwarai.com. This would have not been possible without the efforts of Physician (aka Entropy) and Racine, who were responsible for the original Broodwar AI Project found here http://entropyzero.org/BroodwarAI.html and also the continiuation of the project which is now here at broodwarai.com. Initially, noncheating scripts were non-existent at BWAI. However, ever since the first BWAI war, a battle of non cheating AIs , many scripters have come and gone to take their own shot at writing a noncheating script to challenge others. The contest still rages on and noncheating AIs have by and far become the main attraction here.

Entropy III is named after Physician (aka Entropy) and is the driving force responsible for coordinating the efforts of the BWAI Project. A champion of all that is fair in the gaming community and dedicated to promoting an anti-hack environment, it is only fitting that our non-cheating Ai represent all that Entropy stands for.

Currently, due to hardcoded limitations, the AI is unable to micro and suffers from other problems. This means that 1v1, the AI won't be particularly strong, but 1v2, 2v3 could prove to be challenging.

It is not something meant to rock your socks with. This was meant to be a tribute to everyone's efforts at Broodwarai.com, a tribute to making the best out of something.

But scripting is not an end in its own. The future lies in BWAPI-- you can find more information about them here: http://www.broodwarai.com/forums/index.php?showforum=46
This will allow the AI to micro and play closer to a human without cheating. The possibilities are endless, so if you can help with that, please do.


Too easy? There's always Racine's rebels, part of BWAI Gold, also found on Broodwarai.com Or wait for BWAPI. Or if you're really that good, go find real opponents at http://iccup.com
Don't complain about how crappy the AI is; we sorta know already. ;)

If you want to learn how to learn how to make your own AI, look no further than Ashara's guide: http://www.broodwarai.com/tutorials/ashara

Scripts included and their creators (The AI will randomly pick one):

AccelT by Equalizer
Ashara H-AI- P,Z
CounterZerg by Avance70- Z
Easychat TvP* by Easychat- T
Myk AI- T,P,Z
Panda AI, by PandaBB- P,Z
Peppe's Protoss - P
Racine AI 1.0- T,P,Z
Raynor AI 2.1, by Bajadulce- T,P,Z
Rocky AI 1.7 by Jh24- T,P,Z
Unleaded AIs, by Archon_Wing- T,P,Z
Zelduck AI- P,Z

* Modified for this compilation

With special thanks to poiuy_qwert, for without PYAI, the idea of all in one scripts could not happen.
Also to Kryose for being the basis for "Template Terran" and its offshoots, Myk and Rocky Terran AIs.
And of course, to all that have downloaded and play tested the AIs around here!
Old:
[attachment=2182:Entropy III beta 0.1.zip]

[attachment=2103:AI_mixer_1.99a.zip][/spoiler]

Posted: Sun May 17, 2009 7:51 pm
by JH24
Wow, this is so cool! I downloaded the Entropy+ version and I love to try it out. Archon_Wing, how many AI's are included in total? The computer will pick an AI randomly each time? I really like this, each Brood War game will be different almost everytime.



Again, my sincere thanks that you've added my Rocky AI to Entropy+. I feel really happy and I am very grateful that my AI is allowed to be part of this amazing project. I'll add a link in my AI topic to show people your awesome and edited Entropy+ version.





Again, this is really awesome! :)

Posted: Sun May 17, 2009 8:34 pm
by Archon_Wing
There are 21 total (7 for each race), as opposed to 14 for the original version of entropy. Terran is slightly less random because not all scripts play all matchups. Blizzard's zerg script makes a guest appearence on islands, so that would make it 22 if you wanna count that. :P Ashara's 1.1 ai was replaced with the 1.2 version in this one. But since the 1.2 version seems very diffrent and stronger overall, it might as well be new. ;)

And yes, just like the original entropy, it randomly picks a script at the beginning of the game. Since individual scripts have their own random builds, it is likely that it'll be a while before you have several games of the same thing. For example, you will have about 1/600 chance of having the comp do a proxy gateway assuming the comp is random; let's see who's lucky enough for that. ;p

Posted: Mon May 18, 2009 6:46 am
by Archon_Wing
That's a bummer. You could have placed the notifications prior to jumping to the external bwscript.bin scripts. However they would announce the comp players almost upon game launch which isn't quite the same.


Hmm, I don't know how to do this, as it will not let you jump from a aiscript.bin script to a bwscript.bin script. But I'd be happy to add them back if there's a way.

Good ones! KKow had started a Zerg Ai and AofSt had a flying squirrel island T script. I don't think much ever came of these tho. So unless new interest arrives to the forum, then this is probably it. Tho just when I think nobody is interested in experimenting with these old AI scripts, someone new shows up.


I wonder if any copy of the scripts you mentioned saw the light of day anywhere? And yea, it's quite surprising, if someone comes along to make a new one, I thought I was definitely gonna be the last. ;)

One AI vs AI rep shows a protoss AI utterly breaking. As I was too lazy to put debug messages back in all of the scripts, I temporarily put debug messages for Rocky AI and Unleaded AIs. As it was neither of them, the problem was probably already there, and I don't feel like dealing with it.

Was this a crash, or softlock?


Softlock; a crash would just piss me off and make me go hunt it down. :P

Yes, good job! I gave A_Wing access to the site so Rocky AI and Unleaded could be updated/added to the custom AI page. I'll try to find time to add it there myself soon if not.


Yes, I've updated that page.

Blizzard's zerg script makes a guest appearence on islands

Just Zerg?


Yep. T islands is supplied by unleaded terran, and Island P is supplied by Peppe and Unleaded Protoss (which is a modified Blizzard Ai anyways) Blizzard's zerg island AI is not bad at all. ;)

Proxy? You mean quick expo? I thought proxy meant building inside or close to an opponents base? I don't think I've seen any computers do that unless they were on micro map or expanded.


I actually mean proxy. :) What Unleaded Protoss does is "expand" but instead of placing the expansion it just builds pylon/gateways and sends zealots from there. Actually it places the proxy where the 2nd expo wuld be because it would suck to block the natural when it really does have to expo. The "first" expansion is left blank; a wait timer is put on it so it takes that expand there later . The second "expansion" is the actual proxy. Usually this spot will face the enemy on most maps though of course it gets screwy at times. It's largely a gimmick strat and the AI will probaly lose if it is not succesful, but that's the nature of allins. I just thought it'd be funny to put some extreme cheese in there to keep people honest.

But of course, my AI can do a fast expand as well.

I am happy to see you have given the file a different name as I am a stickler to version #'s and avoiding confusion/problems with other versions. This is the one thing I would have liked to have seen changed tho:


How would you change that? :lol:

Hope to catch you and JH24 and others on Bnet so we can try this out some time soon!


Maybe ;) There's always the good ol's shadowflare realm we played last time ^^

Posted: Mon May 18, 2009 5:57 pm
by ashara
Hello there,

Hidden proxy sounds nice, I wish I thought about it :)

I'm afraid I don't even remember what Asharav1.2 does, but glad to see AI development is still on-going and I hope to catch back once Starcraft 2 will be out.

Posted: Tue May 19, 2009 4:18 am
by Archon_Wing
It's ok, as that took too much work to be worth it. ;) I was gonna do stuff like proxy scouts, but didn't want to put in the effort for that.

Your 1.2 ai seems a lot stronger I'd say the zerg is the most all around non-cheating one. I'm not sure by how, as your scripts are very complex. They do work very well still though!


Unfortunately, I've tried to play a game on Entropy Plus and it gave me a crash to desktop. /sleep.gif' class='bbc_emoticon' alt='-_-' /> A few ai vs ai reps also showed crashed to desktop.

So after some investigating I found this:

Rocky Zerg crashes if you destroy its main base. :. This is most likely due to the multirun that contains a bunch of player_need commands. After getting rid of a few besides the most needed buildings it seemed to do better. Also the way it was structured may have hampered the script-- too many player_need screws up the AI.

Peppe's AI seems to be crashing again. >.< It crashed in the AI vs AI rep Pvt Luna >.< --- I idendified as Peppe vs racine.
Bwaiwar replays:
http://www.broodwarai.com/forums/index.php...t=0&start=0

[spoiler]wait_buildstart(1, arbiter_tribunal)
place_guard(arbiter, 0)[/spoiler]

Yea that would do it. I hate ai scripting at times.

Another quick look reveals that most of racine's attack blocks do not end with a wait command at the end which could crash, so i stuck a bunch of wait 1 everywhere.

The credits file was updated to reflect the new scripts.

I usually don't like to update so fast, but the crashes were really ruining playability. ;)



Edit: Crash had nothing to do with the arbiters as it still crashed the replay. But then I really haven't seen any in game crashes from either AI since I last fixed them. It could just be a bug with replays-- I've had ai vs ai replays crash at 16x speed but not at 2x speed. It's very weird sometimes.

Posted: Tue May 19, 2009 6:36 pm
by Archon_Wing
What's wrong with that? Are you saying this is a crash rather than wait_build? I've been using this sort of notation all the time especially in my grafted mods for things like medics, ghosts, templars, seige_tanks, etc. Have I been creating errors all along? Doesn't Blizzard do the same? Now I'm curious... yikes.


I actually have no clue, but I've noted a lot of crashes after putting in a place_guard command which disappeared after I took them out. Weirdly enough, running the ai slower than 16x speed does not crash the replays at times, so wtf? Very weird. Anyhow my theory was wrong, because the crash is still there. :X

I did notice Peppe had a multirun that spammed a lot of player_need commands just like in Rocky AI so it could be a similar crash. I do know these things can crash because I had tried to multirun a large sanity check block late game that would assign player_need to every building. It would just instantly crash. Also I noted multiruns within multiruns. :o I'm not sure if that's a good thing or not. I'll just experiment by replacing the questionable multirun in peppe's script and externally multirun a similar block from unleaded protoss. Actually it would be fun to do that concept more of external jumps, like make counterzerg jump to another script for late game.

Odd. I don't recall PyAI alerting of this when I compiled his scripts? I'll have to take a peek when I have some time.


Yea, that seemed bizzare :o But it doesn't take a goto statement to crash. Any jump would do it.

[spoiler]--RACT 0042--
attack_add(10, siege_tank)
attack_add(16, vulture)
wait(2000)

attack_prepare()
attack_do()
attack_clear()
clear_combatdata()
enemyowns_jump(carrier, RACT 0048)
enemyowns_jump(scout, RACT 0048)
attack_add(14, siege_tank)
attack_add(20, vulture)
wait(2000)

attack_prepare()
attack_do()
attack_clear()
enemyowns_jump(carrier, RACT 0048)
enemyowns_jump(scout, RACT 0048)

enemyowns_jump(gateway, RACT 0042)
enemyowns_jump(nexus, RACT 0042)
enemyowns_jump(probe, RACT 0042)

stop()[/spoiler]

I've found that it is sometimes best just to remove a file and give a notice that some things are being worked out rather than rush a quick fix. It sucks, but with rushing to get a fix up, you are bound to miss things.


I need to do that more often. :lol:

I'd add the non-cheating Blizzard Island scripts as well. If you really want to be slick, I'd add a FMP switch too. As much as I'm not a fan of those crazy maps, the AI kicks ass on those even non-cheating ones such as the Raynor jump ones. I'm pretty sure I removed them for Entropy Ai tho?


I suppose i could add the island terran. The island Protoss would be sorta redundant, since both Peppe's script and mine actually use the blizz island block, just with more forces. :lol:
I'm not sure about the fmp switch though.