Accel_T v1.52 by Equalizer

Help - Resources - AI Scripting - Grafting - Plugins - Modding Projects
Posts: 83
Joined: Wed Sep 23, 2009 3:49 am

Accel_T v1.52 by Equalizer

Postby Equalizer » Wed Nov 11, 2009 7:03 am

AccelDefault T by Equalizer
Scripting a better AI by making what was slow faster
[Updated 14 February 2010]

Only the terran AI has been modified.
-uses unit overloading
-uses resource level to trigger construction/tech
-counter zerg and protoss strategy
-only has ground script; will not run on air map

The zip files contain,
-a txt file of the script which can be used in the BWAILauncher
-an exe that can be used to run Starcraft with the modified AI without the BWAILauncher

Latest Version:

Quick patched version removing if_owned command as solution to intermittent freezing when fighting other AIs.
[attachment=3067:Accel T v1.53.txt]

This version is a simplification of AccelDefault v1.1x such that it should no longer adversely affect other AIs.
Note: currently it doesn't have protoss specific build and in general has less unit variety than AccelDefault v1.1x as I haven't rebuilt it completely but in general its performance should be superior to AccelDefault v1.1x.
Quick correction to the expanding issue, sped up marine range tech slightly, and added turret/bunker build on lurker tech detection.
I'll be removing Accel T 1.49 once I'm sure I haven't introduced any new problems with 1.52 since I find 1.49's expanding issue annoying.

It has been noted that this verion can adversly affect the running of other AIs.

I've added some adjustments so that the terran fights differently if the opponent is protoss or zerg.
It's funny how I tried to make a metal focused build against protoss but it always did worse than just running the counter zerg of 0.8x so in the end the counter protoss is very similar in strategy to the counter zerg.
I can't say there's a huge improvement in counter zerg compared to 0.8x but it does seem to do slightly better.

As a side note since the script is all resource triggered it becomes a cheating script comparible to other Pro  script with the addition of the give_money() loop. If anyone is interested I can include the powered-up version, for which the only difference would be five lines of script, but for now it's left out to prevent confusion.

What AccelDefault T is:
A new scripting format for pretty much the same strategy as the default terran AI in an attempt to make it faster.
Focuses on using many units and completing tech tree.

What AccelDefault T isn't:
An AI that will beat a person or another AI designed to win 1v1.
(Lastest versions do fairly well against other AIs now but still can't pressure a person enough due to the AIs inability to micro)

Intention of this version was stress testing the code format to see if it is stable when handling many unit and upgrade types as well as being able to keep trying after taking significant damage.

I've been experimenting with a number of unusual ideas to try and get the AI to maintain unit production better as this is still something that many of the AI's I've looked at have at least some trouble with.

This latest version uses an idea I've taken to calling "overloading". Essentially it is asking the AI to build a number of unit that can not possibly be achieved and as such it is given a very low priority. The result is it doesn't have the expected effect of preventing the AI from progressing but instead has the AI build units when it can do so without hindering other tasks.

The script uses a lot of resource-triggered jumps so that buildings and upgrades can be initiated based on the AI's resources.

I have used auto replace to comment out the debug messages used in testing.

Future version will begin to allow the AI to choose to make deviations form the default strategy that are favourable.
(It starting with 0.7x it doesn't look much like the default anymore in the way it plays but I'll keep the name since originally the AI was based on the default Blizzard AI strategy)
[cutoff]... read more[/cutoff]
Old versions:<div style="margin:20px; margin-top:5px"><div class="smallfont" style="margin-bottom:2px"><input type="button" value="Show / Hide" style="width:165px;font-size:10px;margin:0px;padding:0px;" onClick="if (this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display != '') { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = ''; this.innerText = ''; this.value = 'Show / Hide'; } else { this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style.display = 'none'; this.innerText = ''; this.value = 'Show / Hide'; }"></div><div class="alt2" style="margin: 0px; padding: 6px; border: 1px inset;"><div style="display: none;">
^ (this is the last version that resembles the default strategy) ^

User avatar
Posts: 903
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Wed Nov 11, 2009 7:48 am

looks really cool; I'll give it a spin. I bet it'll be a good addition to EIII if you wish.

P.S. Add a banner/graphic :D
User avatar
Posts: 903
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Wed Nov 11, 2009 1:25 pm

Ok, that was kinda funny. I'm up at 5 am for some reason and decided to play a game. Pretty tough with all those tanks and vessels. It did seem to build a bit too many firebats though.

Another thing is that the exe got really large. In Winmpq do mpq---> compact mpq
User avatar
Posts: 903
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Wed Nov 11, 2009 10:53 pm

Regarding firebats: Yes they are extremely effective vs dark swarm (they actually do 1/2 dmg to lurkers, shockingly) Though you could probaly wait til hive tech to start massing them.

The easiest way is add something like this to your final maintain infantry loop

enemyowns_jump(defiler_mound, firebat heavy)
enemyowns_jump(defiler, firebat heavy)

Then you'd just make an identical block to the original one, except reduce the firebats in the original ones.

Actually I just came up with this now, lol. Maybe I should add it to my own.

Will post more reps later; I think a few turrets could be nice too.
User avatar
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Thu Nov 12, 2009 7:28 pm

Downloaded! :) There are a few things I need to finish this week, but I definitely look forward to play against your AI coming weekend. I'll post my replays here then.
Posts: 15
Joined: Fri Nov 13, 2009 12:52 am

Postby silosy » Fri Nov 13, 2009 12:53 am

I ran this script against Panda's AI, which beat pretty much every AI in BWAIwar4.

Panda's didn't stand a chance.
User avatar
Posts: 903
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Fri Nov 13, 2009 1:37 am

Will you take a shot at Island maps? That'd be pretty nice if you could fix the default islands too. ;)

One thing I noted is that the default Toss's zealot rush is giving the Terran a lot of trouble. You might want to move the factory a little lower since it is a bit idle for a while.

Using debug messages to test a script is a great idea in making a new script; I wish I knew about them when I started. When you feel comfortable enough with the script to remove the debugs, I'll add it to the database. Did you want this to go into Entropy III?
Posts: 83
Joined: Wed Sep 23, 2009 3:49 am

Postby Equalizer » Fri Nov 13, 2009 3:58 am

I hope to eventually rewrite the entire default terran AI in a form such that it is reactive, (then I'll consider working on the others if I ever manage to get the terran one finished).

As it is I would like to wait on it being added to EIII as a considerable amount of the end code was just thrown in so that it would at least not just stop. Also it's missing a lot of things that the default uses simply because I haven't had time to work them in (e.g. turrets).

As far as making the AI reactive is concerned,

What it has:
-triggers construction of buildings when certain resource level is achieved (could use tweaking but it works)
-triggers upgrades when resources are met (again needs tweaking but works)
-some enemyowns triggering (needs work though)

What it needs:
-time_jump triggering on key points such as expands
-more enemyowns triggering
-unit construction has to be reformated somehow to be dynamic instead of linear
-building reconstruction and building requirements testing
-and probably alot of stuff regarding attack sequencing

Essentially I hope to continue to use the default AI as the template but the AI should be reactive enough to know where it can do better.

Return to “StarCraft Modding”

Who is online

Users browsing this forum: No registered users and 1 guest