• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 15:38
CET 20:38
KST 04:38
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy7ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289
Community News
Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool48Weekly Cups (March 9-15): herO, Clem, ByuN win42026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12
StarCraft 2
General
Potential Updates Coming to the SC2 CN Server What mix of new & old maps do you want in the next ladder pool? (SC2) Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Weekly Cups (March 16-22): herO doubles, Cure surprises Weekly Cups (August 25-31): Clem's Last Straw?
Tourneys
WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament World University TeamLeague (500$+) | Signups Open RSL Season 4 announced for March-April WardiTV Team League Season 10
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat Mutation # 516 Specter of Death
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ Gypsy to Korea Soulkey's decision to leave C9 How much money terran looses from gas steal? mca64Launcher - New Version with StarCraft: Remast
Tourneys
[ASL21] Ro24 Group C [Megathread] Daily Proleagues [ASL21] Ro24 Group B 2026 Changsha Offline Cup
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Darkest Dungeon Nintendo Switch Thread Stormgate/Frost Giant Megathread General RTS Discussion Thread Path of Exile
Dota 2
Official 'what is Dota anymore' discussion The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
US Politics Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread European Politico-economics QA Mega-thread Things Aren’t Peaceful in Palestine
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! [Manga] One Piece
Sports
Cricket [SPORT] 2024 - 2026 Football Thread Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
Laptop capable of using Photoshop Lightroom?
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1436 users

Test automation and starcraft?

Blogs > foom
Post a Reply
foom
Profile Blog Joined September 2006
United States47 Posts
October 29 2011 03:09 GMT
#1
These past two days I had a chance to go to the leading test automation conference in the world, GTAC, and got to meet a bunch of brilliant people in the industry. I hope to aim this discussion at people who are unfamiliar with this field and certainly not technical experts. I have not designed anything, nor do I have anything cool to show. The technical aspects are daunting, but I just wanted to give you guys some food for thought.

For those of you unfamiliar with test automation the general idea is that products of all kinds need some sort of testing in order to make sure it works properly. A lot of this type of testing is done manually whereby an individual is hired or contracted by a company to break that company's products. At some point people started to ask, "wouldn't it be great if there was a way we could test our products automatically every time we make a change to it?" Automation testing is the concept that came out of that. Let's make sure things work faster and with less effort.

In my field, test automation relates to making sure websites operate as they should. Let's take TL as an example. There's a bunch of functionality that needs to be checked every time a developer makes a change to how the site works. Users should be able to login, search fields should work as intended, the navigation bars should update properly, you should only see live streams of those who are online.

One question you may ask is why would changing something related to login affect search fields? Well perhaps they share some of the same tools. As any product becomes complex it becomes harder to track the effects of one change. Imagine changing a busy two-way city street into a one-way street that has fewer lanes. Some people might be delayed with the increased traffic. Others might choose to avoid the street entirely and change what roads they take. People might need to reschedule appointments which would then affect surrounding businesses and not just people on the road.

Wouldn't it be nice if every time someone made a change various programs ran to check and make sure users could still login properly, navigation around the product and various features worked as intended? Almost all technological products can leverage this in some way.

What if we did this for starcraft?

What if every time someone removed a mineral patch from a map, that map ran test games from that base location for every race and every possible build order and gave you organized results about changes in timing?

What if every time someone came up with a new popular build people could test that build on every single map ever used in competitive play?

Obviously it would be near impossible to simulate even a fraction of the possibilities if you consider an opponent who is adapting to what you do, but if we consider how far along some of the AI work in starcraft has come, we can test simple cases. Already we have competitions that focus on micro battles between certain subsets of units that can determine the victor.

If we had a framework to run these types of automated tests for starcraft, perhaps we could change and evolve the game we know and love at a rate unheard of.


**
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
October 29 2011 05:20 GMT
#2
The problem here isn't the test automation portion. For this case, that's trivial; you just run simulations a certain number of times to get statistical significance for your suite of tests. But like you said these kinds of tests require sophisticated AIs that can play at a human level for the results to be meaningful, and believe me, we are extremely far from that level. The AIs made for bw/sc2 aren't really true AIs, they are in large part hand coded and incapable of adapting to novel situations.
phiinix
Profile Blog Joined February 2011
United States1169 Posts
October 29 2011 05:26 GMT
#3
Will never happen, and will never be attempted. You can't even being to fathom testing every build possible because the number of things you can do in a game of sc explodes exponentially with every second. Almost literally.

Maybe your examples could be better or I could just not fully understand the concept, but what's the point of removing a mineral patch? If you could collect data on the difference in income, does that even do anything for you? Applying it to balance is something so technical that it isn't needed, and I can't see why you would want that type of information otherwise.
In terms of running builds on every map, what does that change? Every map has a base, natural, and 3rd available with the same exact number of mineral fields and gas geysers, (maybe with the exception of terminus and crevasse, but that's besides the point) and build viability is based on income. Sure we've seen that some builds work "better" on some maps, but that's because of micro. And computers can't simulate that, because no human thinks alike in their decision making, which goes back to the first 2 thoughts on practicality and possibility.

I can't see why you would ever want to use results from an automated test anyway, a computer won't be able to tell the difference in what's "good" or not.
ZaplinG
Profile Blog Joined February 2005
United States3818 Posts
October 29 2011 05:32 GMT
#4
we could analyze replays from a specific person and learn their exact tendencies using averages in macro analysis, as well as micro. Using these specific averages, you could hash out a few build orders using data collection methods in game while the cpu is playing, essentially creating perfectly recreated progamers. You could then battle these ai against each other and see who is the best lol like setting your favorite soccer teams on fifa both to AI and seeing who wins.
Don't believe the florist when he tells you that the roses are free
foom
Profile Blog Joined September 2006
United States47 Posts
October 29 2011 05:48 GMT
#5
The idea isn't to test the intricate cases, that's more along the lines of exploratory testing and would need human interaction. The examples I chose were insufficient unfortunately. So let me try to present it a bit differently.

Let's revisit the case of a map maker utilizing tests of this nature. The computer isn't able to tell what is "good" or not. That's not the role of the test. An automated test is a scenario laid out by a human to check and see if the desired result was reached. Once scripted the idea is that this can be run trivially and can be reused.

Complicated AI isn't what I'm trying to get after. That would encompass something a lot grander like end to end testing. The idea is a lot of small tests to figure out very specific components of the game and if automated properly the cost of running these tests should be trivial. Automating a single player to do a specific build can be beneficial in terms of determining timing. In this case you can gather the raw data for a specific build and gather metrics on how well that build performs in each location.

Does this help clear it up a bit?
phiinix
Profile Blog Joined February 2011
United States1169 Posts
October 29 2011 06:22 GMT
#6
I still don't really understand how you use it. As a map maker, what is it that you would want to test? What kind of desired results are we looking for?

As far as benefits from determining timings, I (terran) base most of my builds off of an upgrade timing. Lets say I wanted to make a 9:00 push with +1 and shields, with marines and hellions. I know that I want my +1 and shields to be done at exactly 9:00, so I start them at 6:30 and 7:10. I also get additional rax as i can afford, while always building units out of my rax, fact, cc, and not getting supply blocked. As I push I'll expand behind it. What exactly is the automator suppose to be able to do that I can't do myself?
For me personally, when I make builds, the hard part is more about surviving various rushes and finding ways to scout/react than it is about getting the timing right, which requires another player, not a computer
foom
Profile Blog Joined September 2006
United States47 Posts
October 29 2011 07:10 GMT
#7
In the first case, let's consider one of the simplest examples, how long does it take different types of units to get from one end of the map to the other. I can see that being useful in determining objectively how defensible a position is.

So timing benefits don't just strictly benefit players. Perhaps as events mature they want to change the metagame and promote significantly longer or shorter matches. While simple tests can't tell you everything, they can give you a good portion of a baseline. You want +1 shields with a specific amount of marines and hellions, in what ways can the map be changed in order to make that 9 minute timing an 8 minute timing, or a 10 minute timing?

Again the idea with a lot of these smaller tests is to test very small, very specific factors that you may want to consider. I'm not trying to make a list of all the different things you can test, just pointing out if small tests that have some value can be run trivially why not do it?

Also, there can be thought put into what constitutes a small test, what makes it valuable, what reasonable cases should be considered? All of these are good questions to ask.
phiinix
Profile Blog Joined February 2011
United States1169 Posts
Last Edited: 2011-10-29 07:59:46
October 29 2011 07:58 GMT
#8
Measuring the rush distances on a map take about 3 minutes to do in real life anyway, open up the map, send a worker to each base straight out and watch the time. I can't really see a map maker creating a map in which a main goal is to change a 9:00 push into a 10:00 push for purposes of forcing the meta-game to shift or promoting different game lengths, but I could be wrong. On the players perspective, changing your initial upgrade time by 1 minute isn't too hard of a change anyway.

Maybe there are the "very small, very specific factors" I want to test but for the life of me I can't think of any that a automaton without a complicated AI would be able to do that I can't.

Cases aren't valuable and have no need to be looked into if it doesn't improve game play and can not be implemented in a useful fashion. Maybe an automaton would be able to tell me that if my marine is full health at a watch tower and 2 zerglings without speed come, I can make it back home, but I can't imagine it making a difference on my game play, and is nowhere near game breaking. If the situation ever comes up I'll pick 1 or the other, and I'll find out that way.

Maybe the automaton idea isn't so impossible after all, but now I'm starting to think it's not a very useful one.
Please log in or register to reply.
Live Events Refresh
OSC
18:00
OSC Elite Rising Star #18
SteadfastSC145
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
elazer 256
SteadfastSC 145
SpeCial 141
UpATreeSC 113
JuggernautJason67
mouzHeroMarine 42
MindelVK 33
StarCraft: Brood War
Britney 14183
Calm 2751
EffOrt 541
Horang2 405
Shuttle 345
ggaemo 75
Backho 57
HiyA 42
soO 20
ivOry 5
Dota 2
Gorgc8695
Counter-Strike
fl0m1536
Other Games
summit1g5003
tarik_tv2627
Grubby2239
B2W.Neo909
Beastyqt633
ArmadaUGS119
C9.Mang0107
mouzStarbuck75
QueenE69
Mew2King50
Trikslyr50
Organizations
Other Games
gamesdonequick1769
BasetradeTV24
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 20 non-featured ]
StarCraft 2
• Kozan
• sooper7s
• Migwel
• LaughNgamezSOOP
• AfreecaTV YouTube
• IndyKCrew
• intothetv
StarCraft: Brood War
• RayReign 9
• 80smullet 9
• ZZZeroYoutube
• STPLYoutube
• BSLYoutube
Dota 2
• C_a_k_e 1576
• WagamamaTV541
League of Legends
• Nemesis4187
• Jankos1713
• TFBlade780
Other Games
• Scarra1320
• imaqtpie1011
• Shiphtur146
Upcoming Events
Replay Cast
4h 22m
WardiTV Team League
16h 22m
Big Brain Bouts
21h 22m
Fjant vs SortOf
YoungYakov vs Krystianer
Reynor vs HeRoMaRinE
RSL Revival
1d 14h
Cure vs Zoun
herO vs Rogue
WardiTV Team League
1d 16h
Platinum Heroes Events
1d 19h
BSL
2 days
RSL Revival
2 days
ByuN vs Maru
MaxPax vs TriGGeR
WardiTV Team League
2 days
BSL
2 days
[ Show More ]
Replay Cast
3 days
Replay Cast
3 days
Afreeca Starleague
3 days
Light vs Calm
Royal vs Mind
Wardi Open
3 days
Monday Night Weeklies
3 days
OSC
4 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Rush vs PianO
Flash vs Speed
Replay Cast
5 days
Afreeca Starleague
5 days
BeSt vs Leta
Queen vs Jaedong
Replay Cast
6 days
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-03-25
WardiTV Winter 2026
Underdog Cup #3

Ongoing

KCM Race Survival 2026 Season 1
BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
Acropolis #4 - TS6
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

2026 Changsha Offline CUP
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.