Rocky II Zerg and Protoss AI (Updated 02/02/12)

Help - Resources - AI Scripting - Grafting - Plugins - Modding Projects
User avatar
JH24
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Thu Apr 16, 2009 3:28 pm

Archon_Wing, thanks again for your replays! I really appreciate it! I'm really happy that you picked the Zerg AI as your opponent, as I felt the most unsure about that one.

I'll study/watch your replies and your advice coming weekend. I have to work overtime tonight and I just finished dinner at home before I have to go back. I'll reply in detail within a few days.

I also promise I have new replays for you coming weekend too! I'll use the more recent version 2.31a to play them on.
Thank you so much! :)
User avatar
JH24
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Mon Apr 20, 2009 6:10 pm

I have to confess something, I've been thinking for several days now to stop working on my AI, and this afternoon I decided to do it. I just...well, I just can't do this anymore. I'm just not cut out to be an AI scripter. I had a great time doing it, but I've reached a point were it just isn't fun anymore. Especially not because no matter how hard I try, my AI's (Yes, I'm looking at you, Zerg.) just aren't doing what I want them to do. And it's becoming frustrating. I feel I'm trying to handle more than I can chew.

I knew from the beginning that AI scripting is very difficult, and I really have to compliment and respect everyone who have managed to fully complete their AI scripts. Personally, I feel I've hit a wall, both regarding my experience in playing the game as well as my knowledge regarding AI scripting.

Looking back, I feel I'm more the type who loves to play other people's awesome AI's and give them feedback on it. I think I'll be much happier that way.

However, although I've stopped working on it, I did make some last modifications to make sure these AI's do work. These AI's are fully playable, but I won't be working on them anymore. (They also seem to work better in 1 vs 1, for some reason they sometimes tend to slow down in 1 vs 2/2 vs 2. Not always though.)

If anyone is interested, you have my permission to continue working on these scripts, modifying them in any way or using them or part of them as base for other AI's. (The scripts are added in my opening post.)

I'll upload this final version.

-- Version 0.4 Brood War : AI (see attachment)


[attachment=1452:TestAI0.4.rar]
(I'm no sure if there's interest for it, but I'm willing to make a second version specially for Starcraft owners who don't have Brood War. It shouldn't be too much work modifying the scripts.)

One thing I want to add, I definitely keep playing against all the awesome AI's here and try offer feedback when I can. I'm just not good enough for AI scripting. I'm not really a good player either, but that's besides the point. :P
User avatar
Archon_Wing
Posts: 901
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Mon Apr 20, 2009 7:53 pm

If you're reading this Baja, could you add this to the mods database? I think the PvT and PvP scripts are probably one of the better ones made around here.
Or maybe I can help fix it up before you do this, if it's ok with Jh24.
Note: Your scripts have quite a few duplicate blocks. If there's more than one block with the same name, the rest get ignored.

Your AI is still pretty impressive-- you should realize there have only been a few scripters that have submitted a full AI having all the races. And even on those cases, the quality of the scripts generally very widely. Racine's Protoss script is a few miles behind the other great scripts he wrote, for example. In fact, for my "complete" release, I only had Terran and a tacked on zerg AI. The zerg was actually just a joke script that I made overnight, but it was surprisingly effective, so I added more to it.

As your last thing, you may want to name it. ;) Also place your pics in your first post, so the main page article looks snazzier.

Also, your script does seem more stable than many of the others I've noted around here. That's not saying they are bad scripts, (in fact, one of the scripts at this site I consider the strongest is actually the most crash prone) but that has to count for something.

Hope you had fun doing this. There are many factors in AI scripting that are out of our control, and with new patches, the issue has only gotten worse as the code gets more muddled. Starcraft, is as you know, primarily designed for multiplayer in mind. AI also easily gets destabilized by map layouts. Basically, what we are doing goes heavily against what the AI is hardcoded ("supposed") to do. Thus it is stubborn and flat out ignores commands at times. In fact, I am well aware that Unleaded AIs doesn't work well on certain maps like Lost temple (too many cliffs), pure islands (too imbalanced), maps with wide open mains (many Blizzard maps) or maps with sparse or crappy expansions (many blizzard maps again). Despite this, I just don't care. :P One set of rules can't work on all maps, and the AI can't really tell maps apart. It would just be too much effort to make a AI that could function half-assedly on all maps. I'd rather have an AI that works on a few specific ones really well. People can pick any map they want, it's just that the AI is optimized for certain situations. ;) In fact, during BWAIwar III I personally didn't count results on Lost Temple and Shine because every AI had severe issues with those 2 maps. Of course, I'm biased. :)

However, although I've stopped working on it, I did make some last modifications to make sure these AI's do work. These AI's are fully playable, but I won't be working on them anymore. (They also seem to work better in 1 vs 1, for some reason they sometimes tend to slow down in 1 vs 2/2 vs 2. Not always though.)

I've actually seen this happening before in Entropy in 8 player games. Maybe it's a limitation?

Hopefully if BWAPI comes along, we can actually have AIs do what we want. Or maybe sc2 if Blizz wouldn't hardcode things as much. They can make the default as crappy as they like, but just make it more moddable!
I mean, we all know that there's no way to make a lasting AI at the beginning of a game's life. Strats will change, and so will gameplay itself as the game patches along. But then Blizzard has proven that it doesn't care about modding much, but I don't know-- a AI editor that works like staredit would be nice too.
User avatar
JH24
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Tue Apr 21, 2009 7:39 pm

Oh crap, I accidentialy wiped out your post; I thought I hit the quote button but replaced your post with mine >.<
Sorry ~Archon
User avatar
Archon_Wing
Posts: 901
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Tue Apr 21, 2009 8:38 pm

Duplicate blocks I found in bold
T (involves turret and comsat):

Code: Select all

; ASC3 File generated by ScAIEdit III
;
; Script name : Terran Expansion Custom Level

script_name Terran Expansion Custom Level
script_id TMCx

start_town
transports_off
default_min 0
defaultbuild_off
farms_notiming

wait 1

race_jump Terranstart Zergstart Protossstart


:Terranstart
wait 1

define_max 80 scv
define_max 100 siege_tank
define_max 100 goliath
define_max 100 marine
define_max 12 medic
define_max 255 firebat
define_max 255 ghost
define_max 100 battlecruiser
define_max 12 vulture
define_max 2 science_vessel
define_max 255 valkyrie
define_max 255 wraith
define_max 255 nuclear_missile
define_max 4 dropship

multirun block1T
multirun block2T
build 1 command_center 150
wait_build 1 command_center
build 6 scv 80
wait_build 6 scv
build 8 scv 80
wait_buildstart 8 scv
build 1 supply_depot 80
wait_buildstart 1 supply_depot
build 9 scv 80
wait_buildstart 9 scv
build 1 barracks 80
wait_buildstart 1 barracks
build 10 scv 80
wait_buildstart 1 scv
wait_build 1 supply_depot
build 12 scv 80
wait_buildstart 12 scv
build 1 refinery 100
wait_buildstart 1 refinery
wait_build 1 barracks
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
build 2 supply_depot 80
wait_buildstart 2 supply_depot
train 1 marine
wait 10

multirun scvproduction
train 2 marine

build 1 factory 80
wait_buildstart 1 factory
train 4 marine
build 1 engineering_bay 80
multirun block3
multirun turret

farms_timing

train 4 marine
train 4 vulture
build 1 academy 80
train 4 marine
train 4 vulture
defensebuild_gg 1 vulture
defenseuse_gg 1 vulture
defensebuild_ga 1 vulture
defenseuse_ga 1 vulture

build 2 factory 80
wait_buildstart 2 factory
train 4 marine
train 4 vulture
wait 5

train 4 marine
train 4 vulture
wait 5

build 2 machine_shop 80
wait 5

train 4 marine
train 8 vulture
wait 10

defensebuild_gg 1 siege_tank
defenseuse_gg 1 siege_tank
defensebuild_ga 1 siege_tank
defenseuse_ga 1 siege_tank

train 2 siege_tank
train 5 marine
wait 10

expand 1 block5early

wait 100

multirun expand
wait 10

train 4 siege_tank
train 5 marine
wait 50

multirun block6
wait 10

defensebuild_gg 1 goliath
defenseuse_gg 1 goliath
defensebuild_ga 1 goliath
defenseuse_ga 1 goliath
defensebuild_ag 1 goliath
defenseuse_ag 1 goliath
defensebuild_aa 1 goliath
defenseuse_aa 1 goliath
build 4 factory 80

wait 300
train 6 siege_tank
train 4 marine
build 1 armory 80
wait_buildstart 1 armory
build 4 machine_shop 80
build 2 barracks 80
wait_buildstart 2 barracks
multirun block11
train 8 siege_tank

wait 1
build 5 factory 80
build 5 machine_shop 80
train 4 goliath
multirun block4
multirun vulturetech
multirun massfact
guard_resources marine

:attackandresourcecheckT

resources_jump 2000 1200 Tadvance
wait 1

attack_add 10 siege_tank
attack_add 4 marine
attack_add 2 medic
attack_add 10 goliath
attack_add 10 siege_tank
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackandresourcecheckT

stop

:Tadvance
wait 1

multirun battlecruiserT
defensebuild_gg 1 battlecruiser
defenseuse_gg 1 battlecruiser
defensebuild_ga 1 battlecruiser
defenseuse_ga 1 battlecruiser
defensebuild_ag 1 battlecruiser
defenseuse_ag 1 battlecruiser
defensebuild_aa 1 battlecruiser
defenseuse_aa 1 battlecruiser

:attackloopT
wait 10

notowns_jump physics_lab attackloopTv1
notowns_jump starport attackloopTv1

attack_add 12 siege_tank
attack_add 8 marine
attack_add 3 medic
attack_add 12 goliath
attack_add 10 siege_tank
attack_add 2 battlecruiser
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopT

:attackloopTv1
wait 10

attack_add 12 siege_tank
attack_add 8 marine
attack_add 3 medic
attack_add 12 goliath
attack_add 10 siege_tank
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopT

stop

:scvproduction
wait 10

build 14 scv 80
wait_buildstart 14 scv
build 16 scv 80
wait_buildstart 16 scv
build 18 scv 80
wait_buildstart 18 scv
build 20 scv 40
wait_buildstart 20 scv
build 22 scv 40
wait_buildstart 22 scv
build 24 scv 40
wait_buildstart 24 scv
build 26 scv 40
wait_buildstart 26 scv
build 28 scv 40
wait_buildstart 28 scv
wait 10

:comsat02all
wait 1

notowns_jump academy comsat02all
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 10

stop


:Zergstart
wait 1

define_max 80 scv
define_max 100 siege_tank
define_max 100 goliath
define_max 100 marine
define_max 12 medic
define_max 12 firebat
define_max 255 ghost
define_max 100 battlecruiser
define_max 12 vulture
define_max 2 science_vessel
define_max 255 valkyrie
define_max 255 wraith
define_max 255 nuclear_missile
define_max 4 dropship

multirun block1Z
multirun block2Z
build 1 command_center 150
wait_build 1 command_center
build 6 scv 80
wait_build 6 scv
build 8 scv 80
wait_buildstart 8 scv
build 1 supply_depot 80
wait_buildstart 1 supply_depot
build 9 scv 80
wait_buildstart 9 scv
build 1 barracks 80
wait_buildstart 1 barracks
build 10 scv 80
wait_buildstart 1 scv
wait_build 1 supply_depot
build 12 scv 80
wait_buildstart 12 scv
build 1 refinery 100
wait_buildstart 1 refinery
wait_build 1 barracks
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
build 2 supply_depot 80
wait_buildstart 2 supply_depot
train 1 marine
wait 10

multirun scvproduction
train 2 marine

build 2 barracks 80
wait_buildstart 2 barracks
train 3 marine
build 1 engineering_bay 80
multirun block3
multirun turret

farms_timing

build 1 academy 80
wait_buildstart 1 academy
train 6 marine
defensebuild_gg 1 vulture
defenseuse_gg 1 vulture
defensebuild_ga 1 vulture
defenseuse_ga 1 vulture

build 3 barracks 80
wait_buildstart 3 barracks
train 9 marine
wait 5

train 12 marine
wait 5

build 4 barracks 80
wait_buildstart 4 barracks
train 12 marine
train 4 medic
wait 10

defensebuild_gg 1 siege_tank
defenseuse_gg 1 siege_tank
defensebuild_ga 1 siege_tank
defenseuse_ga 1 siege_tank

train 15 marine
train 4 medic
wait 10

expand 1 block5earlyZ

wait 100

multirun expandZ
wait 10

build 1 factory 80
wait_buildstart 1 factory
train 17 marine
train 5 medic
wait 50
random_jump 125 skipattackZ
attack_add 17 marine
attack_add 5 medic
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 100

:skipattackZ
wait 1

multirun block6
wait 10

build 1 machine_shop 80
wait_buildstart 1 machine_shop
defensebuild_gg 1 goliath
defenseuse_gg 1 goliath
defensebuild_ga 1 goliath
defenseuse_ga 1 goliath
defensebuild_ag 1 goliath
defenseuse_ag 1 goliath
defensebuild_aa 1 goliath
defenseuse_aa 1 goliath
build 5 barracks 80

wait 300
train 1 siege_tank
build 1 armory 80
wait_buildstart 1 armory
multirun block11
train 2 siege_tank
train 15 marine
train 5 medic
train 2 goliath
wait 10

multirun block4
multirun vulturetech
guard_resources marine
wait 1

:attackandresourcecheckZ

resources_jump 2000 1200 Zadvance
wait 1

attack_add 2 siege_tank
attack_add 20 marine
attack_add 4 goliath
attack_add 8 medic
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackandresourcecheckZ

stop

:Zadvance
wait 1

multirun sciencestarportZ

:attackloopZ
wait 10

notowns_jump science_facility attackloopZv1
notowns_jump starport attackloopZv1

attack_add 4 siege_tank
attack_add 30 marine
attack_add 8 goliath
attack_add 10 medic
attack_add 2 science_vessel
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopZ

:attackloopZv1
wait 10

attack_add 4 siege_tank
attack_add 30 marine
attack_add 10 goliath
attack_add 10 medic
attack_add 2 marine
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopZ


stop


:Protossstart
wait 1

define_max 80 scv
define_max 100 siege_tank
define_max 100 goliath
define_max 100 marine
define_max 12 medic
define_max 255 firebat
define_max 255 ghost
define_max 255 battlecruiser
define_max 12 vulture
define_max 2 science_vessel
define_max 255 valkyrie
define_max 255 wraith
define_max 255 nuclear_missile
define_max 4 dropship

multirun block1P
multirun block2P
build 1 command_center 150
wait_build 1 command_center
build 6 scv 80
wait_build 6 scv
build 8 scv 80
wait_buildstart 8 scv
build 1 supply_depot 80
wait_buildstart 1 supply_depot
build 9 scv 80
wait_buildstart 9 scv
build 1 barracks 80
wait_buildstart 1 barracks
build 10 scv 80
wait_buildstart 1 scv
wait_build 1 supply_depot
build 12 scv 80
wait_buildstart 12 scv
build 1 refinery 100
wait_buildstart 1 refinery
wait_build 1 barracks
defensebuild_gg 1 marine
defenseuse_gg 1 marine
defensebuild_ga 1 marine
defenseuse_ga 1 marine
defensebuild_ag 1 marine
defenseuse_ag 1 marine
defensebuild_aa 1 marine
defenseuse_aa 1 marine
defensebuild_gg 1 firebat
defenseuse_gg 1 firebat
defensebuild_ga 1 firebat
defenseuse_ga 1 firebat
build 2 supply_depot 80
wait_buildstart 2 supply_depot
train 1 marine
wait 10

multirun scvproduction
train 2 marine

build 2 barracks 80
wait_buildstart 2 barracks
train 4 marine
multirun block3
multirun turret

farms_timing

build 1 academy 80
wait_buildstart 1 academy
train 6 marine
build 1 engineering_bay 80
defensebuild_gg 1 vulture
defenseuse_gg 1 vulture
defensebuild_ga 1 vulture
defenseuse_ga 1 vulture

build 1 factory 80
wait_buildstart 1 factory
train 8 marine
wait 5

train 2 medic
wait 5

build 2 factory 80
wait_buildstart 2 factory
train 9 marine
train 2 vulture
wait 10

defensebuild_gg 1 siege_tank
defenseuse_gg 1 siege_tank
defensebuild_ga 1 siege_tank
defenseuse_ga 1 siege_tank

train 3 medic
train 3 vulture
wait 10

expand 1 block5earlyP

wait 100

multirun expandP
wait 10

build 2 machine_shop 80
build 3 factory 80
wait_buildstart 3 factory
train 11 marine
train 2 siege_tank
wait 50

multirun block6
wait 10

build 3 machine_shop 80
wait_buildstart 3 machine_shop
defensebuild_gg 1 goliath
defenseuse_gg 1 goliath
defensebuild_ga 1 goliath
defenseuse_ga 1 goliath
defensebuild_ag 1 goliath
defenseuse_ag 1 goliath
defensebuild_aa 1 goliath
defenseuse_aa 1 goliath

wait 300
train 3 siege_tank
train 13 marine
build 1 armory 80
wait_buildstart 1 armory
build 4 factory 80
wait_buildstart 4 factory
multirun block11
train 6 siege_tank
train 5 medic
attack_add 3 siege_tank
attack_add 6 marine
attack_add 3 siege_tank
attack_add 6 marine
attack_add 4 medic
random_jump 125 skipattackP1
wait 10

attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 100

:skipattackP1
wait 1

build 4 machine_shop 80
wait_buildstart 4 machine_shop
build 4 barracks 80
wait_buildstart 4 barracks
multirun block4
multirun vulturetech
multirun massfact
guard_resources marine
wait 1

:attackandresourcecheckP

resources_jump 2000 1200 Padvance
wait 1

attack_add 8 siege_tank
attack_add 8 goliath
attack_add 12 marine
attack_add 4 medic
attack_add 4 vulture
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackandresourcecheckP

stop

:Padvance
wait 1

multirun sciencestarportP

:attackloopP
wait 10

notowns_jump science_facility attackloopPv1
notowns_jump starport attackloopPv1

attack_add 10 siege_tank
attack_add 10 goliath
attack_add 14 marine
attack_add 8 medic
attack_add 6 vulture
attack_add 2 science_vessel
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopP

:attackloopPv1
wait 10

attack_add 10 siege_tank
attack_add 10 goliath
attack_add 14 marine
attack_add 10 medic
attack_add 6 vulture
attack_prepare
wait 600

attack_do
attack_clear
clear_combatdata
wait 200

goto attackloopP


stop

:scvproduction
wait 10

build 14 scv 80
wait_buildstart 14 scv
build 16 scv 80
wait_buildstart 16 scv

[b]:comsat[/b]
wait 1

notowns_jump academy comsat
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

build 18 scv 80
wait_buildstart 18 scv
build 20 scv 40
wait_buildstart 20 scv
build 22 scv 40
wait_buildstart 22 scv
build 24 scv 40
wait_buildstart 24 scv
wait 100

stop



:block5
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center
get_oldpeons 8

:comsat01T

notowns_jump academy comsat01T
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

multirun block3a
wait 50

build 9 scv 80
wait_buildstart 9 scv
wait 50

build 10 scv 80
wait_buildstart 10 scv
build 12 scv 80
wait_buildstart 12 scv
build 14 scv 80
wait_buildstart 14 scv
build 16 scv 80
wait_buildstart 16 scv
wait 500

build 1 factory 60
wait_buildstart 1 factory
build 1 machine_shop 60
wait_buildstart 1 machine_shop
wait 1

stop

:block5Z
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center
get_oldpeons 8

:comsat01Z

notowns_jump academy comsat01Z
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

multirun block3a
wait 50

build 9 scv 80
wait_buildstart 9 scv
wait 50

build 10 scv 80
wait_buildstart 10 scv
build 12 scv 80
wait_buildstart 12 scv
build 14 scv 80
wait_buildstart 14 scv
build 16 scv 80
wait_buildstart 16 scv
build 18 scv 80
wait_buildstart 18 scv
wait 500

build 1 barracks 60

stop

:block5P
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center
get_oldpeons 8

:comsat01P

notowns_jump academy comsat01P
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

multirun block3a
wait 50

build 9 scv 80
wait_buildstart 9 scv
wait 50

build 10 scv 80
wait_buildstart 10 scv
build 12 scv 80
wait_buildstart 12 scv
build 14 scv 80
wait_buildstart 14 scv
build 16 scv 80
wait_buildstart 16 scv
build 18 scv 80
wait_buildstart 18 scv
wait 500

build 1 factory 60
wait_buildstart 1 factory
build 1 machine_shop 60
wait_buildstart 1 machine_shop
wait 1

stop

:block21
build 2 scv 80
wait_buildstart 2 scv
build 6 scv 80
wait_buildstart 6 scv
build 10 scv 80
wait_buildstart 10 scv
build 12 scv 80
wait_buildstart 12 scv
wait 500

stop

:block3
wait 24

notowns_jump barracks block3
wait 24

creep 4
build 1 bunker 70
wait_build 1 bunker
build 2 bunker 70
wait_build 2 bunker
wait 500

stop

[b]:turret[/b]
wait 20

notowns_jump engineering_bay turret

creep 4
build 1 missile_turret 80
wait_build 1 missile_turret
build 2 missile_turret 80
wait_build 2 missile_turret
build 3 missile_turret 80
wait_build 3 missile_turret
build 4 missile_turret 80
wait_build 4 missile_turret
build 5 missile_turret 80
wait_build 5 missile_turret
wait 100

stop

:block3a
wait 24

notowns_jump barracks block3a
wait 24

creep 4
build 1 bunker 70
wait_build 1 bunker
wait 1

[b]:turret[/b]
wait 20

notowns_jump engineering_bay turret

creep 4
build 1 missile_turret 80
wait_build 1 missile_turret
build 2 missile_turret 80
wait_build 2 missile_turret
build 3 missile_turret 80
wait_build 3 missile_turret
build 4 missile_turret 80
wait_build 4 missile_turret
wait 100
stop

:block4
wait 100

wait_build 1 academy
wait 24

upgrade 1 marine_range 20
wait 4500
tech stim_packs 20
wait 200

stop

:block1T
wait 100

wait_build 1 engineering_bay
wait 100

stop

:block2T
wait 300

notowns_jump armory block2T
wait 100

upgrade 1 t_vehicle_weapon 10
wait 4500

upgrade 1 t_vehicle_plating 5
wait 4500

wait_build 1 science_facility
wait 10

upgrade 2 t_vehicle_weapon 10
wait 4500

upgrade 2 t_vehicle_plating 3
wait 4500

upgrade 3 t_vehicle_weapon 2
wait 6000

upgrade 3 t_vehicle_plating 3
wait 6000

upgrade 1 t_ship_weapon 3
wait 3800

upgrade 1 t_ship_plating 2
wait 3800

upgrade 2 t_ship_plating 2
wait 4500

upgrade 3 t_ship_plating 3
wait 380

stop


:block1Z
wait 100

wait_build 1 engineering_bay
wait 100

upgrade 1 t_infantry_weapon 30
wait 3800

upgrade 1 t_infantry_armor 20
wait 4500

wait_build 1 science_facility
wait 10

upgrade 2 t_infantry_weapon 30
wait 4500

upgrade 2 t_infantry_armor 20
wait 4500

upgrade 3 t_infantry_weapon 30
wait 5500

upgrade 3 t_infantry_armor 20
wait 450

stop

:block2Z
wait 300

notowns_jump armory block2Z
wait 100

upgrade 1 t_vehicle_weapon 3
wait 4500

wait_build 1 science_facility
wait 100

upgrade 2 t_vehicle_weapon 5
wait 4500

stop

:block1P
wait 100

wait_build 1 engineering_bay
wait 100

upgrade 1 t_infantry_weapon 20
wait 4500

upgrade 1 t_infantry_armor 10
wait 4500

wait_build 1 science_facility
wait 100

upgrade 2 t_infantry_weapon 10
wait 4500

upgrade 3 t_infantry_weapon 12
wait 50

stop

:block2P
wait 300

notowns_jump armory block2P
wait 100

upgrade 1 t_vehicle_weapon 10
wait 3800

upgrade 1 t_vehicle_plating 5
wait 3900

wait_build 1 science_facility
wait 10

upgrade 2 t_vehicle_weapon 10
wait 4500

upgrade 2 t_vehicle_plating 5
wait 4500

upgrade 3 t_vehicle_weapon 10
wait 6000

upgrade 3 t_vehicle_plating 5
wait 450

stop



:block6
wait 100

notowns_jump machine_shop block6
wait 100

tech siege_mode 80
wait 500

stop

:block11
wait 50

notowns_jump machine_shop block11
wait 24

upgrade 1 goliath_range 80
wait 24

stop


:science_techZ
wait 100

wait_build 1 science_facility
wait 50

tech irradiate 70
wait 4500

upgrade 1 science_vessel_mana 15
wait 500

stop

:science_techP
wait 100

wait_build 1 science_facility
wait 50

tech emp_shockwave 70
wait 4500

upgrade 1 science_vessel_mana 14
wait 500

stop

:expand
wait 8400

expand 99 block5
wait 100

goto expand

:expandZ
wait 8200

expand 99 block5Z
wait 100

goto expand

:expandP
wait 8400

expand 99 block5P
wait 100

goto expand

:block5early
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center

[b]:comsat[/b]

notowns_jump academy comsat
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

build 2 scv 80
wait_buildstart 2 scv
wait 50
multirun block3a
wait 50

build 6 scv 60
wait_buildstart 6 scv
build 10 scv 60
wait_buildstart 10 scv
build 12 scv 60
wait_buildstart 12 scv
build 13 scv 60
wait_buildstart 13 scv
build 14 scv 60
wait_buildstart 14 scv
build 15 scv 60
wait_buildstart 15 scv
build 17 scv 60
wait_buildstart 17 scv
wait 500

build 1 factory 40
wait_build 1 factory
build 1 machine_shop 40
wait_build 1 machine_shop
build 2 factory 40
wait_build 2 factory
build 2 machine_shop 40
wait_build 2 machine_shop

wait 300

stop

:block5earlyZ
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center

:comsatZ

notowns_jump academy comsatZ
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

build 2 scv 80
wait_buildstart 2 scv
wait 50
multirun block3a
wait 50

build 6 scv 60
wait_buildstart 6 scv
build 10 scv 60
wait_buildstart 10 scv
build 12 scv 60
wait_buildstart 12 scv
build 13 scv 60
wait_buildstart 13 scv
build 14 scv 60
wait_buildstart 14 scv
build 15 scv 60
wait_buildstart 15 scv
build 17 scv 60
wait_buildstart 17 scv
wait 500

build 1 factory 40
wait_build 1 factory
build 1 machine_shop 40
wait_build 1 machine_shop

wait 300

stop


:block5earlyP
wait 1

start_town
build 1 command_center 150
wait_build 1 command_center

:comsatP

notowns_jump academy comsatP
wait 1

build 1 comsat_station 80
wait_build 1 comsat_station
wait 1

build 2 scv 80
wait_buildstart 2 scv
wait 50
multirun block3a
wait 50

build 6 scv 60
wait_buildstart 6 scv
build 10 scv 60
wait_buildstart 10 scv
build 12 scv 60
wait_buildstart 12 scv
build 13 scv 60
wait_buildstart 13 scv
build 14 scv 60
wait_buildstart 14 scv
build 15 scv 60
wait_buildstart 15 scv
build 17 scv 60
wait_buildstart 17 scv
wait 500

build 1 factory 40
wait_build 1 factory
build 1 machine_shop 40
wait_build 1 machine_shop
build 1 barracks 60

wait 300

stop

:vulturetech
wait 200

notowns_jump machine_shop vulturetech
wait 100

tech spider_mines 70
wait 3400

upgrade 1 vulture_speed 60
wait 500
stop


:massfact
wait 100

resources_jump 800 600 massbuild
wait 500

goto massfact

:massbuild
wait 1

build 6 factory 20
wait_buildstart 6 factory
wait_build 6 factory

build 6 machine_shop 20
wait 100

:massfact1
wait 100

resources_jump 800 600 massbuild1
wait 500

goto massfact1

:massbuild1
wait 1

build 7 factory 20
wait_buildstart 7 factory
wait_build 7 factory

build 7 machine_shop 20
wait 100

stop

:battlecruiserT
wait 10

build 2 starport 80
wait_buildstart 2 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait 100

build 2 control_tower 60
wait_buildstart 2 control_tower
build 1 physics_lab 70
place_guard science_vessel 0
wait 10

stop

:sciencestarportZ
wait 10

build 1 starport 80
wait_buildstart 1 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait 100

build 1 control_tower 60
wait_buildstart 1 control_tower
multirun science_techZ
place_guard science_vessel 0
wait 10

stop

:sciencestarportP
wait 10

build 1 starport 80
wait_buildstart 1 starport
build 1 science_facility 80
wait_buildstart 1 science_facility
wait 100

build 1 control_tower 60
wait_buildstart 1 control_tower
multirun science_techP
place_guard science_vessel 0
wait 10

stop


Z (involves "continueearlygame")

; ASC3 File generated by ScAIEdit III
;
; Script name : Zerg Expansion Custom Level

script_name Zerg Expansion Custom Level
script_id ZMCx

start_town
transports_off
default_min 0
defaultbuild_off

wait 1

race_jump Terranstart Zergstart Protossstart
wait 10

stop

:Terranstart
wait 1

farms_notiming
define_max 80 drone
define_max 100 zergling
define_max 100 hydralisk
define_max 100 mutalisk
define_max 1 queen
define_max 100 ultralisk
define_max 255 scourge
define_max 255 guardian
define_max 255 devourer
define_max 2 defiler
define_max 12 lurker
define_max 3 guardian
wait 1

multirun ZergupgradesT
build 1 hatchery 150
wait_build 1 hatchery
build 6 drone 80
wait_buildstart 6 drone
enemyresources_jump 80 0 6pool
build 7 drone 80
wait_buildstart 7 drone
build 8 drone 80
wait_buildstart 8 drone
build 1 spawning_pool 80
wait_buildstart 1 spawning_pool
build 9 drone 80
wait_buildstart 9 drone
rush 0 9pool
build 2 overlord 80
wait_build 2 overlord
build 12 drone 80
wait_buildstart 12 drone
goto 12pool
wait 1

[b]:continueearlygame[/b]
wait 1

train 2 zergling

build 2 hatchery 80
wait_buildstart 2 hatchery

multirun basedefence
multirun spore

train 4 zergling

build 1 extractor 50
wait_buildstart 1 extractor
wait 100

train 6 zergling

build 14 drone 60
wait_buildstart 14 drone

multirun lair

build 16 drone 60
wait_buildstart 16 drone

train 8 zergling

build 18 drone 60
wait_buildstart 18 drone

multirun hydraevo

train 10 zergling

farms_timing
check_transports

train 6 hydralisk
train 12 zergling

build 20 drone 60
wait_buildstart 20 drone

expand 1 block2early
wait 100

multirun expand

multirun overlordspeedcapacity
defensebuild_gg 1 hydralisk
defenseuse_gg 1 hydralisk
defensebuild_ga 1 hydralisk
defenseuse_ga 1 hydralisk
defensebuild_ag 1 hydralisk
defenseuse_ag 1 hydralisk
defensebuild_aa 1 hydralisk
defenseuse_aa 1 hydralisk

train 12 zergling
train 12 hydralisk

build 22 drone 60
wait_buildstart 22 drone

multirun zerglingspeed
multirun hydraupgrade
build 3 hatchery 80
wait_buildstart 3 hatchery

train 16 zergling
train 18 hydralisk
wait 10

build 4 hatchery 80
wait_buildstart 4 hatchery

multirun linghydraT

build 1 spire 80
wait_buildstart 1 spire

defensebuild_gg 1 mutalisk
defenseuse_gg 1 mutalisk
defensebuild_ga 1 mutalisk
defenseuse_ga 1 mutalisk
defensebuild_ag 1 mutalisk
defenseuse_ag 1 mutalisk
defensebuild_aa 1 mutalisk
defenseuse_aa 1 mutalisk

multirun spireupgradesT

wait 10

build 1 queen_nest 80
wait_buildstart 1 queen_nest
wait_build 1 queen_nest
multirun queenT
multirun Lurker
build 5 hatchery 80
wait_buildstart 5 hatchery
guard_resources zergling
wait 24

:Tadvance
wait 1000

resources_jump 2000 1200 Tadvancego

wait 2000

goto Tadvance

:Tadvancego
wait 1

multirun advanceProtoss

wait 10

multirun overlordsight

defensebuild_gg 1 ultralisk
defenseuse_gg 1 ultralisk
defensebuild_ga 1 ultralisk
defenseuse_ga 1 ultralisk

multirun ultraliskupgrade
multirun zerglingattack
multirun defilerT

stop

:Zergstart
wait 1

farms_notiming
define_max 80 drone
define_max 100 zergling
define_max 100 hydralisk
define_max 100 mutalisk
define_max 6 queen
define_max 100 ultralisk
define_max 255 scourge
define_max 255 guardian
define_max 255 devourer
define_max 255 defiler
define_max 12 lurker
wait 1

multirun ZergupgradesZ
build 1 hatchery 150
wait_build 1 hatchery
build 6 drone 80
wait_buildstart 6 drone
enemyresources_jump 80 0 6pool
build 7 drone 80
wait_buildstart 7 drone
build 8 drone 80
wait_buildstart 8 drone
build 9 drone 80
wait_buildstart 9 drone
rush 0 9pool
build 2 overlord 80
wait_build 2 overlord
build 12 drone 80
wait_buildstart 12 drone
goto 12pool
wait 1

[b]:continueearlygame[/b]
wait 1

train 2 zergling

build 2 hatchery 80
wait_buildstart 2 hatchery

multirun basedefence
multirun spore

train 4 zergling

build 1 extractor 50
wait_buildstart 1 extractor
wait 100

train 6 zergling

build 14 drone 60
wait_buildstart 14 drone

defensebuild_gg 1 zergling
defenseuse_gg 1 zergling
defensebuild_ga 1 zergling
defenseuse_ga 1 zergling

build 16 drone 60
wait_buildstart 16 drone

multirun lair

train 8 zergling

multirun hydraevo

build 18 drone 60
wait_buildstart 18 drone

train 10 zergling

farms_timing
check_transports

train 12 zergling
train 6 hydralisk

build 19 drone 60
wait_buildstart 19 drone

expand 1 block2early
wait 100

multirun expand

multirun overlordspeedcapacity
defensebuild_gg 1 hydralisk
defenseuse_gg 1 hydralisk
defensebuild_ga 1 hydralisk
defenseuse_ga 1 hydralisk
defensebuild_ag 1 hydralisk
defenseuse_ag 1 hydralisk
defensebuild_aa 1 hydralisk
defenseuse_aa 1 hydralisk

train 18 hydralisk

multirun zerglingspeed
multirun hydraupgrade

multirun linghydraZ

build 21 drone 60
wait_buildstart 21 drone

build 4 hatchery 80
wait_buildstart 4 hatchery

build 22 drone 60
wait_buildstart 22 drone

build 1 spire 80
wait_buildstart 1 spire

wait 1

defensebuild_gg 1 mutalisk
defenseuse_gg 1 mutalisk
defensebuild_ga 1 mutalisk
defenseuse_ga 1 mutalisk
defensebuild_ag 1 mutalisk
defenseuse_ag 1 mutalisk
defensebuild_aa 1 mutalisk
defenseuse_aa 1 mutalisk

multirun spireupgradesZ
wait 1

build 1 queen_nest 80
wait_buildstart 1 queen_nest
multirun queenZ
multirun Lurker
build 5 hatchery 80
wait_buildstart 5 hatchery
guard_resources zergling
wait 1

:Zadvance
wait 1000

resources_jump 2000 1200 Zadvancego

wait 2000

goto Zadvance

:Zadvancego
wait 1

multirun advanceZerg
multirun overlordsight

defensebuild_gg 1 ultralisk
defenseuse_gg 1 ultralisk
defensebuild_ga 1 ultralisk
defenseuse_ga 1 ultralisk

multirun ultraliskupgrade
multirun zerglingattack

stop


:Protossstart
wait 1

farms_notiming
define_max 80 drone
define_max 100 zergling
define_max 100 hydralisk
define_max 100 mutalisk
define_max 1 queen
define_max 100 ultralisk
define_max 255 scourge
define_max 255 guardian
define_max 255 devourer
define_max 2 defiler
define_max 12 lurker
define_max 4 devourer
wait 1

multirun ZergupgradesP
build 1 hatchery 150
wait_build 1 hatchery
build 6 drone 80
wait_buildstart 6 drone
enemyresources_jump 80 0 6pool
build 7 drone 80
wait_buildstart 7 drone
build 8 drone 80
wait_buildstart 8 drone
build 9 drone 80
wait_buildstart 9 drone
rush 0 9pool
build 2 overlord 80
wait_build 2 overlord
build 12 drone 80
wait_buildstart 12 drone
goto 12pool
wait 1

[b]:continueearlygame[/b]
wait 1

build 2 hatchery 80
wait_buildstart 2 hatchery

train 3 zergling

multirun basedefence
multirun spore

train 6 zergling

build 1 extractor 50
wait_buildstart 1 extractor
wait 100

train 6 zergling

build 14 drone 60
wait_buildstart 14 drone

multirun lair

train 6 zergling

build 16 drone 60
wait_buildstart 16 drone

defensebuild_gg 1 hydralisk
defenseuse_gg 1 hydralisk
defensebuild_ga 1 hydralisk
defenseuse_ga 1 hydralisk
defensebuild_ag 1 hydralisk
defenseuse_ag 1 hydralisk
defensebuild_aa 1 hydralisk
defenseuse_aa 1 hydralisk

multirun hydraevo

build 18 drone 60
wait_buildstart 18 drone

train 10 zergling
train 12 zergling

farms_timing
check_transports

train 20 hydralisk
train 16 zergling

expand 1 block2early
wait 100

multirun expand
multirun overlordspeedcapacity

build 20 drone 60
wait_buildstart 20 drone

multirun linghydraP

build 22 drone 60
wait_buildstart 22 drone

multirun zerglingspeed
multirun hydraupgrade
build 4 hatchery 80
wait_buildstart 4 hatchery

build 1 spire 80
wait_buildstart 1 spire

defensebuild_gg 1 mutalisk
defenseuse_gg 1 mutalisk
defensebuild_ga 1 mutalisk
defenseuse_ga 1 mutalisk
defensebuild_ag 1 mutalisk
defenseuse_ag 1 mutalisk
defensebuild_aa 1 mutalisk
defenseuse_aa 1 mutalisk

multirun spireupgradesP
wait 1

build 1 queen_nest 80
wait_buildstart 1 queen_nest
multirun queenP
multirun Lurker
build 5 hatchery 80
wait_buildstart 5 hatchery
guard_resources zergling
wait 1

:Padvance
wait 1000

resources_jump 2000 1200 Padvancego
wait 2000

goto Padvance

:Padvancego
wait 1

multirun advanceProtoss

wait 10

multirun masshatch
multirun overlordsight
multirun defilerP

defensebuild_gg 1 ultralisk
defenseuse_gg 1 ultralisk
defensebuild_ga 1 ultralisk
defenseuse_ga 1 ultralisk

multirun ultraliskupgrade
multirun zerglingattack
wait 10

stop


:block2
wait 24

start_town
build 1 hatchery 150
wait_build 1 hatchery
get_oldpeons 8
multirun block16
wait 300

multirun block17
wait 100

stop

:block2early
wait 24

start_town
build 1 hatchery 150
wait_build 1 hatchery
get_oldpeons 8
multirun block16
multirun block17
wait 8800

stop

:block16
wait 24

build 1 drone 80
wait_buildstart 1 drone
build 4 drone 80
wait_buildstart 4 drone
build 7 drone 80
wait_buildstart 7 drone
build 10 drone 80
wait_buildstart 10 drone
stop

wait 500

stop

:block17
wait 100

notowns_jump spawning_pool block17
wait 24

creep 4
build 2 creep_colony 80
wait_build 2 creep_colony
build 2 sunken_colony 80
wait_build 2 sunken_colony
wait 100

:spore1
wait 1

notowns_jump evolution_chamber spore1
wait 10

creep 4
build 3 creep_colony 80
wait_build 3 creep_colony
build 1 spore_colony 80
wait_build 1 spore_colony
wait 500

stop

:basedefence
wait 100

notowns_jump spawning_pool basedefence
wait 24

creep 4
build 2 creep_colony 80
wait_build 2 creep_colony
build 2 sunken_colony 80
wait_build 2 sunken_colony

wait 10

stop

:spore
wait 1

notowns_jump evolution_chamber spore

creep 4

build 3 creep_colony 80
wait_build 3 creep_colony
build 1 spore_colony 80
wait_build 1 spore_colony
build 4 creep_colony 80
wait_build 4 creep_colony
build 3 sunken_colony 80
wait_build 3 sunken_colony
build 5 creep_colony 80
wait_build 5 creep_colony
build 2 spore_colony 80
wait_build 2 spore_colony
build 6 creep_colony 80
wait_build 6 creep_colony
build 3 spore_colony 80
wait_build 3 spore_colony
wait 500

stop

:zerglingspeed
wait 500

notowns_jump spawning_pool zerglingspeed
wait 500

upgrade 1 zergling_speed 80
wait 500

stop

:hydraupgrade
wait 500

notowns_jump hydralisk_den hydraupgrade
wait 500

upgrade 1 hydralisk_speed 80
wait 3800

upgrade 1 hydralisk_range 80
wait 400

stop

:ZergupgradesT
wait 500

wait_build 1 evolution_chamber
wait 50

upgrade 1 z_carapace 70
wait 3800

upgrade 1 z_missile_attack 70
wait 3800

upgrade 1 z_melee_attack 70
wait 3800

wait_build 1 lair

upgrade 2 z_carapace 70
wait 4500

upgrade 2 z_missile_attack 70
wait 4500

wait_build 1 hive

upgrade 3 z_carapace 70
wait 5000

upgrade 3 z_missile_attack 70
wait 5000

upgrade 2 z_melee_attack 70
wait 4500

upgrade 3 z_melee_attack 70
wait 450

stop

:ZergupgradesZ
wait 500

wait_build 1 evolution_chamber
wait 50

upgrade 1 z_melee_attack 70
wait 3700

upgrade 1 z_missile_attack 70
wait 3700

upgrade 1 z_carapace 70
wait 3700

wait_build 1 lair

upgrade 2 z_melee_attack 70
wait 4500

upgrade 2 z_carapace 70
wait 4500

wait_build 1 hive

upgrade 3 z_melee_attack 70
wait 5000

upgrade 3 z_carapace 75
wait 5000

upgrade 2 z_missile_attack 70
wait 4500

upgrade 3 z_missile_attack 70
wait 500

stop

:ZergupgradesP
wait 500

wait_build 1 evolution_chamber
wait 50

upgrade 1 z_missile_attack 70
wait 3800

upgrade 1 z_melee_attack 70
wait 3800

wait_build 1 lair

upgrade 2 z_melee_attack 70
wait 4500

upgrade 2 z_missile_attack 70
wait 4500

wait_build 1 hive

upgrade 3 z_melee_attack 70
wait 5500

upgrade 3 z_missile_attack 70
wait 5500

upgrade 1 z_carapace 70
wait 3700

upgrade 2 z_carapace 70
wait 4500

upgrade 3 z_carapace 70
wait 50

stop

:overlordspeedcapacity
wait 100

notowns_jump lair overlordspeedcapacity
wait 24

upgrade 1 overlord_speed 80
wait 24

tech burrowing 80
wait 3800

upgrade 1 overlord_capacity 80
wait 3400

stop

:overlordsight
wait 100

notowns_jump hive overlordsight
wait 24

upgrade 1 overlord_sight 30
wait 500

stop

:zerglingattack
wait 100

wait_build 1 hive
wait 50

upgrade 1 zergling_attack 80
wait 500

stop

:ultraliskupgrade
wait 260

stop

:expand
wait 7800

expand 99 block2
wait 100

goto expand

:masshatch
wait 100

creep 3
resources_jump 700 0 masshatchbuild
wait 50

goto masshatch

:masshatchbuild
wait 50

build 6 hatchery 80
wait_buildstart 6 hatchery

:masshatch1
wait 100

resources_jump 700 0 masshatchbuild1
wait 50

goto masshatch1

:masshatchbuild1
wait 50

build 7 hatchery 80
wait_buildstart 7 hatchery

stop

:spireupgradesT
wait 10

wait_build 1 spire
wait 10

upgrade 1 z_flyer_carapace 40
wait 3800

upgrade 1 z_flyer_attack 20
wait 3800

stop

:spireupgradesP
wait 10

wait_build 1 spire
wait 10

upgrade 1 z_flyer_attack 40
wait 3800

upgrade 1 z_flyer_carapace 30
wait 3800


stop

:spireupgradesZ
wait 10

wait_build 1 spire
wait 10

upgrade 1 z_flyer_attack 40
wait 3800

upgrade 1 z_flyer_carapace 20
wait 3800

stop

:DefilerT
wait 100

wait_build 1 defiler_mound
wait 10

tech plague 20
wait 4500

upgrade 1 defiler_mana 20
wait 300

stop

:DefilerP
wait 100

wait_build 1 defiler_mound
wait 10

tech plague 30
wait 4500

upgrade 1 defiler_mana 20
wait 300

stop

:queenT
wait 10

wait_build 1 queen_nest
wait 5

place_guard queen 0
wait 10

tech spawn_broodling 40
wait 4500

upgrade 1 queen_mana 20
wait 500

stop

:queenZ
wait 10

wait_build 1 queen_nest
wait 5

place_guard queen 0
wait 10

tech spawn_broodling 40
wait 4500

upgrade 1 queen_mana 20
wait 500

stop

:queenP
wait 10

wait_build 1 queen_nest
wait 5

place_guard queen 0
wait 10

tech spawn_broodling 40
wait 4500

upgrade 1 queen_mana 20
wait 500

stop
















:lair
wait 1

build 1 lair 80
wait_buildstart 1 lair
wait 10

stop

:hydraevo
wait 1

build 1 evolution_chamber 80
wait_buildstart 1 evolution_chamber
build 1 hydralisk_den 80
wait_buildstart 1 hydralisk_den
wait 10

stop

:advanceProtoss
wait 10

build 1 hive 80
wait_build 1 hive
wait 1000

build 1 greater_spire 60
wait_build 1 greater_spire


defensebuild_gg 1 guardian
defenseuse_gg 1 guardian
defensebuild_ga 1 guardian
defenseuse_ga 1 guardian

train 3 mutalisk
train 3 guardian

build 1 defiler_mound 80
wait_build 1 defiler_mound
wait 1000

build 1 ultralisk_cavern 70
wait_build 1 ultralisk_cavern

place_guard defiler 0
place_guard defiler 1
place_guard ultralisk 0

stop

:advanceZerg
wait 10

build 1 hive 80
wait_build 1 hive

build 1 ultralisk_cavern 70
wait_build 1 ultralisk_cavern

place_guard ultralisk 0

build 1 greater_spire 60
wait_build 1 greater_spire

defensebuild_ag 1 devourer
defenseuse_ag 1 devourer
defensebuild_aa 1 devourer
defenseuse_aa 1 devourer

train 3 mutalisk
train 4 devourer

stop

:6pool

build 1 spawning_pool 80
wait_buildstart 1 spawning_pool
train 3 zergling
defenseuse_gg 1 zergling
defenseuse_ga 1 zergling
attack_add 6 zergling
build 7 drone 70
random_jump 80 noearlyrush
attack_prepare
wait 100
attack_do
attack_clear
clear_combatdata
attack_add 4 zergling
farms_timing
attack_prepare
wait 50
attack_do
attack_clear
clear_combatdata
wait 10

:noearlyrush
wait 10

build 9 drone 80
wait_buildstart 9 drone
build 2 overlord 80
wait_build 2 overlord
build 12 drone 80
goto continueearlygame

:9pool

build 1 spawning_pool 80
wait_buildstart 1 spawning_pool
train 3 zergling
defenseuse_gg 1 zergling
defenseuse_ga 1 zergling
attack_add 6 zergling
build 10 drone 70
random_jump 100 noearlyrush1
attack_prepare
wait 100
attack_do
attack_clear
clear_combatdata
wait 10

:noearlyrush1
build 2 overlord 80
wait_build 2 overlord
build 12 drone 80
wait_buildstart 12 drone
goto continueearlygame

:12pool

build 1 spawning_pool 80
wait_buildstart 1 spawning_pool
defenseuse_gg 1 zergling
defenseuse_ga 1 zergling
goto continueearlygame

:Lurker
wait 100

notowns_jump hydralisk_den Lurker
wait 10

defensebuild_gg 1 lurker
defenseuse_gg 1 lurker
defensebuild_ga 1 lurker
defenseuse_ga 1 lurker
define_max 100 lurker

tech lurker_aspect 90
wait 4500

stop


:linghydraT
wait 10

train 24 hydralisk
train 16 zergling
attack_add 24 hydralisk
attack_add 32 zergling
attack_prepare
wait 200

attack_do
attack_clear
clear_combatdata
wait 10

goto linghydraT

:linghydraZ
wait 10

train 20 zergling
train 20 hydralisk
attack_add 22 hydralisk
attack_add 40 zergling
attack_prepare
wait 200

attack_do
attack_clear
clear_combatdata
wait 10

goto linghydraZ

:linghydraP
wait 10

train 22 zergling
train 20 hydralisk
attack_add 20 hydralisk
attack_add 44 zergling
attack_prepare
wait 200

attack_do
attack_clear
clear_combatdata
wait 100

goto linghydraP

PYAI didn't note any for P
Easiest way to solve the one for zerg is just to rename them continueearlygameT, continueearlygameZ, continueeaerlygameP, and use a race jump to make sure you jump correctly.

I don't yet know of a name, I'm usually not very good in those kind of things

Many AI modders just used their own screen names. ;)

I'm curious, which script do you consider the strongest? Maybe I already played against it, but if not, I'd love to try.


Unleaded Protoss of course! No, just kidding. I didn't really want to name the strongest AIs because that just opens a can of worms. :D Strength of a script can be seen diffrently, some have varied styles, some are good vs other AI and some are stable. There's also the fact that there's 6 diffrent matchups.

But I will say, for the non cheating AIs found in Entropy, that the zerg in Ashara AI (and Entropy didn't even have the newer version!), Peppe Protoss, and counterzerg and are probaly the hardest to deal with. The first two for being somewhat unpredictible, and the third for trashing about 20 incarnations of Unleaded Terran before it started getting more even. :D You can even say that most of the tvz was designed at beating it while being able to fight other enemies. It's easy to write a counter script for another script, but actually writing a script that is good against most enemies is a diffrent story.

But if I were to state the best AIs, I'd list by matchup. IMO, (which may vary much from person to person, remember I always play against these ais when they are teamed).... Also, this is definitely not true of all maps, or maps that have far away expos or very open mains. It's just my experience in playing them, and these are all very disputable, what gives me trouble may not give someone else trouble and vice versa.

For those reading, Do not click if you will flame me for not listing your AIs. :D Please direct all "Unleaded sucks YOU ARE D- NOOB to the other thread". ;) This is non-cheating, of course

TvT Racine, without a doubt
TvP Ashara (1.12) actually has a mech build that is strong
TvZ Unleaded... Raynor is much more well rounded though
PvT- Raynor
PvZ Peppe
PvP Jh24

ZvT- Ashara, Counterzerg
ZvP- Counterzerg
ZvZ- Storm Zerg

Islands T/P- Mine, but that's only because nobody bothered with them. In fact, they're the only ones. :lol:
Island Z: Blizzard. Same as above. Actually it is pretty damned good.


That would definitely be great regarding BWAPI. Also, I'm really looking forward to SC 2, I do hope it will be easy moddable, it would be great to see how the AI modding community will/would develop if Blizzard will allow AI modding.


Unforunately the situation doesn't look good. Blizzard hasn't really listened to modders at all, and their actions have shown that they really don't want to emphasize non-bnet play that much, for obvious reasons. One big example , the whole fiasco about no LAN play in Diablo 3. On the other hand, they do give a damn about their customers far more than many other companies so you never know. ;)
User avatar
JH24
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Wed Apr 22, 2009 7:59 pm

My apologies for the short reply. I had a stressful day and I'm feeling very tired at the moment.

@ Archon_Wing
Thanks again so much for your help! I wasn't able to make the corrections yet because of other things I needed to do, but I'll definitely do this later.

Thanks for sharing your favorite AI's. The part you wrote above it made me laugh. :P

@ Bajadulce
The map I made these screenshots on was I believe in one of the mappacks or links Archon_Wing had posted on the top of the first page in his topic about his awesome Unleaded AI in this Showcase forum.
http://www.broodwarai.com/forums/index.php?showtopic=467

?'m not 100% sure what it was called. Either Dominion, Equilibrium K8 or Crusaders. Archon_Wing also has a list of very good AI vs AI maps.
User avatar
Archon_Wing
Posts: 901
Joined: Wed Jul 25, 2007 11:22 pm

Postby Archon_Wing » Thu Apr 23, 2009 6:51 pm

The first pic is k8 and the other ones are crusaders, both maps aren't really balanced for 1v1 play but suitable for large games. Maybe we can make a pinned topic for those maps and discussion. Unfortunately, there's not that many maps that the AI will cooperate with imo

Jh24, how did you record those replays. Did you just not take part and let the AIs fight? If so, could you post those replays. They can be used as Ai vs AI replays which can be used to test any AI (The AI's actions are not saved-- the ai plays itself again in replays)

Things about a good AI map:
1.) No inaccesible cliffs (Like LT)
2.) Only one entrance to main, or at least have one spot where all attacks can be defended against
3.) Nearby expansion, no odd expansion choices like hunters. Also the expansion should not be in the back, otherwise it'll confuse the poor AI.
4.) No obstacles that block pathing (min walls and neutral buildings-- The AI attacks critters but not neutral buildings?)
5.) Have large mains for building space, expansions should have some space as well

6.) No tiny islands that are easily defended
7.) A good amount of resources around the map, especially gas
8.) Have more than 2 spots because 1v1 usually isn't that challenging, but this may not be an issue for some.
9.) At least 128x128

And yes, I hate LT :D
Recommended maps for this AI, or AIs in general

Unfortunately, the AI can't tell what map it's playing on, except that it's an island or land map. Thus, it can't really handle stuff like cliffs not accessible by land or other obstructions. Thus, to minimize AI retardation, and for the best playing experience, one should try these maps as the AI will work better, or at least screw up less. :)
http://www.iccup.com/files/view/iCCup_Seas...mappack_02.html
Just download and unzip to maps folder in your starcraft folder.
Recomended maps in that package: Python, Luna the Final, Sin Chupung-Ryeung, Athena II, Byzantium, Tau Cross,
For more info, try browsing Teamliquid.net- They have an extensive map database, with matchup stats.

Some of these maps seem good for team games. http://www.panschk.de/mappage/maplist.php?...g&go=search Crusaders and Equilibrium K8 looks really nice for larger scale team games. Snake pit for more close quarter battles, but small mains can be annoying

In general, maps with larger mains, decent pathing (meaning no artificial obstructions like mineral walls or neutral buildings, as well as really winding paths) work best. Simple is usually better. Having only one entrance to the main so the comp can properly place defenses may help a bit too.


The maps I recommended should work with any AI at full effectiveness about 90% of the time. But even they aren't perfect...

Python- does not take island expos because it can't mine away the little mineral chunk. This actually has less impact then it seems as they will still attack your islands, and also proceed to take them. ;)It's much harder to turtle up the islands in this map because of the large amounts of unbuildable terrain. The AI also becomes much more aggressive with dropships around the map once someone takes an island expo so I've actually found it more difficult after taking an island!

Chupung- only 2 players and quite narrow in spots.

Luna, Tau Cross- building gets odd in expansions. Sometimes will build expo buildings in main ??

Byzantium- I don't think things go wrong much, but low ground main bases make early defense hard

2nd tier AI maps: Works good a lot of the time (maybe 70%), but some issues that can cause bad hiccups. Some Ais are more likely to break than others
Eres:
http://www.broodwarai.com/forums/index.php...ost&id=1155
This is a nice map with very fun terrain and strategic locations but it's only 2 player and the AI seems to act weaker on the lower spot

Other possible maps found in this thread: http://www.broodwarai.com/forums/index.php?showtopic=160 Ptar seems to know quite a bit about maps. ;)

Forlorn Realms:
(cannot find link- but I can extract from bwai war rep and edit out the obs spots if that is ok.)

Another good map that the AI performs very well in. Unfortunately, it's also extremely imbalanced-- the wide open bases means that it's a nightmare for terran and also PvZ. Another issue is that it's only 2 players. It'd make an interesting 4 player map though.

Othello (from iccup's map pack):

A very balanced map, but the AI sometimes doesn't take the natural. >.< The platforms where you can land stuff can also be troublesome for the AI, but not as bad as LT though since the platforms are small.

Longinus:

A not so balanced map, but the AI usually works fine on it, except it doesn't take the natural at times.

Rush Hour III:

Works fine, though those bridges can be hell for the AI to break through.
User avatar
JH24
Posts: 323
Joined: Sat Mar 14, 2009 6:25 pm

Postby JH24 » Sun Apr 26, 2009 12:17 pm

@ Archon_Wing,
Those were indeed AI vs AI replays, but I only have one left now. I'll upload it in this post.

[attachment=1474:1.rep]
================
Here is the final version. The non_cheating Terran/Zerg/Protoss TestAI 0.6, or also named "Rocky 0.6". This AI has 3 different strategies for each race and several random/unpredictable attacks/surprises.

I'm not a good AI scripter, and my AI is not as challenging as the other amazing and epic AI's here on this awesome site. However, if you enjoy intense battles with large armies, Rocky 0.6 will always be ready to play and give you a fun time! ;)

Rocky 0.6 is especially designed to shine in mid-game/mid-tier battles, but be careful as it can give you some early surprises. When the circumstances are right and resources are available, Rocky 0.6 will build, tech and upgrade to the highest tier.

0.6 changes:
- Made a lot of minor tweaks, too many to name them all.
- Added unit variety to the Protoss AI.
- Added possible early attacks for the Protoss AI.
- Added several late-game attack choices for the Zerg AI to increase variety.
- Increased drone/scv/probe amount at expansions for better resource income.
- Removed Lurker support for Zerg. (The AI wasted 15 of them in a few seconds (1875 Gas!)) More emphasis on Mutalisks instead.
- Adjusted amount of buildings in the main base to prevent the AI from locking itself in.

I did my best to make this AI as stable as possible and it hasn't crashed for me for quite sme time. However, if there are unexpected bugs or crashes coming up during playing please let me know and I'll upload a corrected version.

If anyone is interested, you have my permission to continue working on these scripts, modifying them in any way or using them or part of them as base for other AI's. (The scripts are added in my opening post.)
Thanks for reading!

Return to “StarCraft Modding”

Who is online

Users browsing this forum: No registered users and 1 guest