• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:05
CEST 13:05
KST 20:05
  • 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
[ASL19] Finals Recap: Standing Tall10HomeStory Cup 27 - Info & Preview18Classic wins Code S Season 2 (2025)16Code S RO4 & Finals Preview: herO, Rogue, Classic, GuMiho0TL Team Map Contest #5: Presented by Monster Energy6
Community News
Weekly Cups (June 30 - July 6): Classic Doubles4[BSL20] Non-Korean Championship 4x BSL + 4x China9Flash Announces Hiatus From ASL66Weekly Cups (June 23-29): Reynor in world title form?14FEL Cracov 2025 (July 27) - $8000 live event22
StarCraft 2
General
Esports World Cup 2025 - Final Player Roster Statistics for vetoed/disliked maps The GOAT ranking of GOAT rankings Weekly Cups (June 30 - July 6): Classic Doubles The SCII GOAT: A statistical Evaluation
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL: Revival, a new crowdfunded tournament series FEL Cracov 2025 (July 27) - $8000 live event WardiTV Mondays Korean Starcraft League Week 77
Strategy
How did i lose this ZvP, whats the proper response Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 481 Fear and Lava Mutation # 480 Moths to the Flame Mutation # 479 Worn Out Welcome Mutation # 478 Instant Karma
Brood War
General
i aint gon lie to u bruh... BGH Auto Balance -> http://bghmmr.eu/ ASL20 Preliminary Maps [ASL19] Finals Recap: Standing Tall SC uni coach streams logging into betting site
Tourneys
[BSL20] Non-Korean Championship 4x BSL + 4x China [BSL20] Grand Finals - Sunday 20:00 CET CSL Xiamen International Invitational The Casual Games of the Week Thread
Strategy
Simple Questions, Simple Answers I am doing this better than progamers do.
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Path of Exile What do you want from future RTS games? Beyond All Reason
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Vanilla Mini Mafia
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Stop Killing Games - European Citizens Initiative Summer Games Done Quick 2025! Summer Games Done Quick 2024!
Fan Clubs
SKT1 Classic Fan Club! Maru Fan Club
Media & Entertainment
Anime Discussion Thread [Manga] One Piece [\m/] Heavy Metal Thread
Sports
2024 - 2025 Football Thread Formula 1 Discussion NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023 NHL Playoffs 2024
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
momentary artworks from des…
tankgirl
Culture Clash in Video Games…
TrAiDoS
from making sc maps to makin…
Husyelt
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 642 users

What are the best strategies for a StarCraft bot?

Forum Index > Brood War Strategy
Post a Reply
1 2 Next All
8882
Profile Blog Joined December 2003
2718 Posts
August 02 2016 19:36 GMT
#1
I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

Obviously the Zerg bots like to use swarms of Mutalisks with perfect micro, terrans focus on fast tank pushes and protoss bots are usually quite primitive.

To those who watch those AI competitions: what things could be improved for most bots concerning the build orders and strategies?
I have returned
pebble444
Profile Blog Joined March 2011
Italy2497 Posts
August 02 2016 21:04 GMT
#2
impoving the way units take map control; its too sparse and units do not take into account terrain settings advantages;
Terran seems to be the most efficient;
"Awaken my Child, and embrace the Glory that is your Birthright"
Bakuryu
Profile Blog Joined August 2009
Germany1065 Posts
August 02 2016 22:24 GMT
#3
using a standard macro oriented build order would be the best improvement ever.
Gerbilkit
Profile Joined December 2009
United States32 Posts
August 04 2016 14:18 GMT
#4
A huge improvement would be to just force the AI never to make certain units. For example Protoss builds tons of scouts which is never going to be a good strategy. Terran builds loads of Valkyries, Zerg builds a bunch of devourers. That change alone would help.

Other than that just giving them some standard macro build orders would make them at least a bit more interesting.
It shall be engraved upon your soul!
Simberto
Profile Blog Joined July 2010
Germany11492 Posts
August 04 2016 17:38 GMT
#5
I assume you are talking about good bots, like those competing at SSCAIT, not the shitty blizzard AI.

Those usually have subpar build orders, but that is based on the main problem when writing a bot, which is apparently decisionmaking. Bots are really bad at that. That means that they simply can't do a standard macro oriented build order, because a lot of decision making goes into that, usually based on limited scouting information and drawing conclusions from that with some intuition and experience. Bots suck at doing that.

Their basic build orders simply HAVE to be safer then those for humans currently, because otherwise they would die to every single aggressive play, or randomly overreact to nothing at all. Take a look at any standard macro build order. And look at all the decisions that are being made, every game. Many small decisions, small variations, using specific units in a specific way at specific points in time to gather information. Now think of a way to teach all of that to a bot.

The strategies bots use are obviously subpar. But the reason for that is not that bot makers don't know better strategies, it is that bots can't actually perform those strategies based on many different decisions a human can easily perform. The bots are currently better at performing those subpar strategies than they are at performing more complex human strategies, because they are very, very bad at making good decisions on limited information, and it is very hard to teach that to a bot.

There is a lot of development going on with bots. I would greatly recommend watching a few videos on the SSCAIT youtube channel.
sabas123
Profile Blog Joined December 2010
Netherlands3122 Posts
August 04 2016 22:17 GMT
#6
The thing it thinks is best after played 1x10^15+ games

Computer learning can be insane, I don't see a reason why a self learning computer (think of alphaGO) can't become a top player like flash/bisu.
The harder it becomes, the more you should focus on the basics.
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
August 05 2016 01:35 GMT
#7
On August 05 2016 07:17 sabas123 wrote:
The thing it thinks is best after played 1x10^15+ games

Computer learning can be insane, I don't see a reason why a self learning computer (think of alphaGO) can't become a top player like flash/bisu.



They can, but unlike Google Deepmind nobody in the BW AI community has 650 million dollars to spend or 40 dedicated clusters available to them.
If you cannot win with 100 apm, win with 100 cpm.
sabas123
Profile Blog Joined December 2010
Netherlands3122 Posts
August 05 2016 13:07 GMT
#8
On August 05 2016 10:35 LetaBot wrote:
Show nested quote +
On August 05 2016 07:17 sabas123 wrote:
The thing it thinks is best after played 1x10^15+ games

Computer learning can be insane, I don't see a reason why a self learning computer (think of alphaGO) can't become a top player like flash/bisu.



They can, but unlike Google Deepmind nobody in the BW AI community has 650 million dollars to spend or 40 dedicated clusters available to them.

Thats true,

How many games can you guys simulate at a time, and are they faster than normal game speed?
The harder it becomes, the more you should focus on the basics.
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
August 05 2016 14:59 GMT
#9
On August 05 2016 22:07 sabas123 wrote:
Show nested quote +
On August 05 2016 10:35 LetaBot wrote:
On August 05 2016 07:17 sabas123 wrote:
The thing it thinks is best after played 1x10^15+ games

Computer learning can be insane, I don't see a reason why a self learning computer (think of alphaGO) can't become a top player like flash/bisu.



They can, but unlike Google Deepmind nobody in the BW AI community has 650 million dollars to spend or 40 dedicated clusters available to them.

Thats true,

How many games can you guys simulate at a time, and are they faster than normal game speed?


Well, the BWAPI has the option to run at full speed (as fast as possible), but I only have one cheap laptop available to me. Since these bots are very CPU intensive, running two of them would mean that the game would run at about twice the speed of the speed you would play normally on ICCUP ( the fastest speed mode it is called).

Since I need my laptop for other things as well, I don't really have the capabilities to run a lot of games. The SSCAI runs random bots vs each other, so your bot would only get about 3-5 games per day on there.
If you cannot win with 100 apm, win with 100 cpm.
imp42
Profile Blog Joined November 2010
398 Posts
August 06 2016 02:43 GMT
#10
The winner of the 2015 SSCAI tournament actually did quite decent macro. That is, expanding quickly and massing hydra (against a two-base protoss turtle attempting to max on carriers, easy 3-0 victory).

> What are the best strategies for a StarCraft bot?
> I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

You are mixing two different things here. Competitions like the SSCAI were created as a playing field for Artificial Intelligence students. A good Starcraft bot has probably very little Artificial Intelligence in it, rather it just follows a set of hard-coded rules.

In other words: programmers of AI competitions don't ask themselves that question because a real AI should find out a good strategy and not just execute one it has been fed. That is the whole point of AI.
Look at chess or go: programmers define the win condition, implement an optimized algorithm to find it, and let the program do the rest. They don't implement something like "go for a gambit because it is a good strat"

Now to actually answer your question on a more abstract level: What would be a good strat for a Starcraft bot?

A bot has very high APM but is usually rather poor at decision making. Therefore, a good strategy for a bot exploits APM and minimizes decision making.
I would argue that acting requires less decision making than reacting. The sole fact that you minimize possibilities by actively choosing a specific branch supports this argument. Therefore an aggressive strategy is superior to a defensive one. A timing push might work very well, coupled with a build that is safe against most lower-level cheese.

Also, micro-intensive situations favor the bot against human players. To give you one example, in BW hydras die like flies to tanks. But a bot would be able to completely eliminate splash damage from any tank hit, therefore standard unit balance does not apply anymore. There are videos on youtube showing off perfect zergling micro against tanks in SC2, if you want to get an impression of what's possible.
+ Show Spoiler +


The above mentioned timing push should therefore use units that benefit greatly from micro and exploit the fact that standard balance does not apply anymore (for bw a muta flock comes to mind, for SC2 maybe oracles).

HTH
50 pts Copper League
Andre
Profile Blog Joined August 2009
Slovenia3523 Posts
August 06 2016 09:28 GMT
#11
Every time this discussions happens people should first ask themselves what kind of input the AI gets to use. Is it the BW API? Is it a simulation of real keyboard+mouse usage? Is it complete access to the game?

Also I think the best thing would be to use cheeses and one base plays. This eliminates the millions of possibilities that can happen with every passing minute. It's still hard to do, but if you give the AI perfect micro it's doubtful any human can defend against rushes.
You must gather your party before venturing forth.
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
August 06 2016 11:43 GMT
#12
On August 06 2016 18:28 Andre wrote:
Every time this discussions happens people should first ask themselves what kind of input the AI gets to use. Is it the BW API? Is it a simulation of real keyboard+mouse usage? Is it complete access to the game?

Also I think the best thing would be to use cheeses and one base plays. This eliminates the millions of possibilities that can happen with every passing minute. It's still hard to do, but if you give the AI perfect micro it's doubtful any human can defend against rushes.


Nope, I tried that. Even if you would have perfect micro, a C level player would still be able to hold it. You might be able to do it 1 game to trow the opponent off, but if you do it every game they can hold it easily.
If you cannot win with 100 apm, win with 100 cpm.
Probemicro
Profile Joined February 2014
3708 Posts
Last Edited: 2016-08-07 08:28:49
August 07 2016 07:23 GMT
#13
On August 06 2016 11:43 imp42 wrote:
The winner of the 2015 SSCAI tournament actually did quite decent macro. That is, expanding quickly and massing hydra (against a two-base protoss turtle attempting to max on carriers, easy 3-0 victory).

> What are the best strategies for a StarCraft bot?
> I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

You are mixing two different things here. Competitions like the SSCAI were created as a playing field for Artificial Intelligence students. A good Starcraft bot has probably very little Artificial Intelligence in it, rather it just follows a set of hard-coded rules.

In other words: programmers of AI competitions don't ask themselves that question because a real AI should find out a good strategy and not just execute one it has been fed. That is the whole point of AI.
Look at chess or go: programmers define the win condition, implement an optimized algorithm to find it, and let the program do the rest. They don't implement something like "go for a gambit because it is a good strat"

Now to actually answer your question on a more abstract level: What would be a good strat for a Starcraft bot?
blah blah
HTH


starcraft is a completely different genre compared to chess and go, for all their crazy mechanics the AI is stuck at D level even till now
ever wonder why? i bet the programmers who do not even have fundamental competitive understanding of the game will not.

all the crazy marine splitting will not help you if the AI cannot even do something "simple" and intuitive to humans like walling and using mineral walking to defend rushes.

also AI do need to at least start emulating human metagame by adopting standard macro BOs. for example in TvT AI should never ever go bio in midgame (which i shockingly see in the last AI TvT i witness). this is not sc2, marines are weaker, naturally clump together when engaging and no amount of splitting will offset the fact that mech is simply superior here.
sabas123
Profile Blog Joined December 2010
Netherlands3122 Posts
August 07 2016 08:09 GMT
#14
On August 05 2016 23:59 LetaBot wrote:
Show nested quote +
On August 05 2016 22:07 sabas123 wrote:
On August 05 2016 10:35 LetaBot wrote:
On August 05 2016 07:17 sabas123 wrote:
The thing it thinks is best after played 1x10^15+ games

Computer learning can be insane, I don't see a reason why a self learning computer (think of alphaGO) can't become a top player like flash/bisu.



They can, but unlike Google Deepmind nobody in the BW AI community has 650 million dollars to spend or 40 dedicated clusters available to them.

Thats true,

How many games can you guys simulate at a time, and are they faster than normal game speed?


Well, the BWAPI has the option to run at full speed (as fast as possible), but I only have one cheap laptop available to me. Since these bots are very CPU intensive, running two of them would mean that the game would run at about twice the speed of the speed you would play normally on ICCUP ( the fastest speed mode it is called).

Since I need my laptop for other things as well, I don't really have the capabilities to run a lot of games. The SSCAI runs random bots vs each other, so your bot would only get about 3-5 games per day on there.

I have a decent cpu (i5-6500, not great by any means), and would happily lend some of its power if you can give me an easy to use version.
The harder it becomes, the more you should focus on the basics.
sabas123
Profile Blog Joined December 2010
Netherlands3122 Posts
August 07 2016 09:33 GMT
#15
On August 07 2016 16:23 Probemicro wrote:
Show nested quote +
On August 06 2016 11:43 imp42 wrote:
The winner of the 2015 SSCAI tournament actually did quite decent macro. That is, expanding quickly and massing hydra (against a two-base protoss turtle attempting to max on carriers, easy 3-0 victory).

> What are the best strategies for a StarCraft bot?
> I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

You are mixing two different things here. Competitions like the SSCAI were created as a playing field for Artificial Intelligence students. A good Starcraft bot has probably very little Artificial Intelligence in it, rather it just follows a set of hard-coded rules.

In other words: programmers of AI competitions don't ask themselves that question because a real AI should find out a good strategy and not just execute one it has been fed. That is the whole point of AI.
Look at chess or go: programmers define the win condition, implement an optimized algorithm to find it, and let the program do the rest. They don't implement something like "go for a gambit because it is a good strat"

Now to actually answer your question on a more abstract level: What would be a good strat for a Starcraft bot?
blah blah
HTH


starcraft is a completely different genre compared to chess and go, for all their crazy mechanics the AI is stuck at D level even till now
ever wonder why? i bet the programmers who do not even have fundamental competitive understanding of the game will not.

all the crazy marine splitting will not help you if the AI cannot even do something "simple" and intuitive to humans like walling and using mineral walking to defend rushes.

also AI do need to at least start emulating human metagame by adopting standard macro BOs. for example in TvT AI should never ever go bio in midgame (which i shockingly see in the last AI TvT i witness). this is not sc2, marines are weaker, naturally clump together when engaging and no amount of splitting will offset the fact that mech is simply superior here.

The idea is that eventually, the AI will keep changing and eventually will come to the most optimal solution, this includes things like walling, scouting, correct unit compositions ect. However that will require quite a lot of time to come to.
The harder it becomes, the more you should focus on the basics.
Simberto
Profile Blog Joined July 2010
Germany11492 Posts
August 07 2016 14:03 GMT
#16
On August 07 2016 18:33 sabas123 wrote:
Show nested quote +
On August 07 2016 16:23 Probemicro wrote:
On August 06 2016 11:43 imp42 wrote:
The winner of the 2015 SSCAI tournament actually did quite decent macro. That is, expanding quickly and massing hydra (against a two-base protoss turtle attempting to max on carriers, easy 3-0 victory).

> What are the best strategies for a StarCraft bot?
> I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

You are mixing two different things here. Competitions like the SSCAI were created as a playing field for Artificial Intelligence students. A good Starcraft bot has probably very little Artificial Intelligence in it, rather it just follows a set of hard-coded rules.

In other words: programmers of AI competitions don't ask themselves that question because a real AI should find out a good strategy and not just execute one it has been fed. That is the whole point of AI.
Look at chess or go: programmers define the win condition, implement an optimized algorithm to find it, and let the program do the rest. They don't implement something like "go for a gambit because it is a good strat"

Now to actually answer your question on a more abstract level: What would be a good strat for a Starcraft bot?
blah blah
HTH


starcraft is a completely different genre compared to chess and go, for all their crazy mechanics the AI is stuck at D level even till now
ever wonder why? i bet the programmers who do not even have fundamental competitive understanding of the game will not.

all the crazy marine splitting will not help you if the AI cannot even do something "simple" and intuitive to humans like walling and using mineral walking to defend rushes.

also AI do need to at least start emulating human metagame by adopting standard macro BOs. for example in TvT AI should never ever go bio in midgame (which i shockingly see in the last AI TvT i witness). this is not sc2, marines are weaker, naturally clump together when engaging and no amount of splitting will offset the fact that mech is simply superior here.

The idea is that eventually, the AI will keep changing and eventually will come to the most optimal solution, this includes things like walling, scouting, correct unit compositions ect. However that will require quite a lot of time to come to.


I am pretty sure that that is not how SC AI works currently.

And no, AI does not need to adopt the standard human metagame, if it is unable to play in the way a human can.

BW AIs are currently very bad at understanding terrain and making (for humans) very easy decisions. Meanwhile, AIs are very good at controlling each unit individually. That means that for a BW bot, marines are a lot better than they are for a human, and tanks are a lot weaker than they are for a human.

It is quite important to understand that bots are not humans. They have completely different strengths and weaknesses. A bot will never care that you can only select 12 units. Control groups are an irrelevant concept for bots. A bot can clump 90 Mutas without a problem, and it can theoretically instantly select the irradiated one and move it in a different direction. But a bot sucks at guessing what the enemy does, it often has problems making incredibly intuitive decisions like "A bunch of enemies just killed my scouting scv, now might not be the best time to push out."
imp42
Profile Blog Joined November 2010
398 Posts
August 07 2016 20:31 GMT
#17
On August 07 2016 16:23 Probemicro wrote:
Show nested quote +
On August 06 2016 11:43 imp42 wrote:
The winner of the 2015 SSCAI tournament actually did quite decent macro. That is, expanding quickly and massing hydra (against a two-base protoss turtle attempting to max on carriers, easy 3-0 victory).

> What are the best strategies for a StarCraft bot?
> I don't think that the programmers who write bots for the StarCraft AI competitions ever asked this question.

You are mixing two different things here. Competitions like the SSCAI were created as a playing field for Artificial Intelligence students. A good Starcraft bot has probably very little Artificial Intelligence in it, rather it just follows a set of hard-coded rules.

In other words: programmers of AI competitions don't ask themselves that question because a real AI should find out a good strategy and not just execute one it has been fed. That is the whole point of AI.
Look at chess or go: programmers define the win condition, implement an optimized algorithm to find it, and let the program do the rest. They don't implement something like "go for a gambit because it is a good strat"

Now to actually answer your question on a more abstract level: What would be a good strat for a Starcraft bot?
blah blah
HTH


starcraft is a completely different genre compared to chess and go, for all their crazy mechanics the AI is stuck at D level even till now
ever wonder why? i bet the programmers who do not even have fundamental competitive understanding of the game will not.

all the crazy marine splitting will not help you if the AI cannot even do something "simple" and intuitive to humans like walling and using mineral walking to defend rushes.

also AI do need to at least start emulating human metagame by adopting standard macro BOs. for example in TvT AI should never ever go bio in midgame (which i shockingly see in the last AI TvT i witness). this is not sc2, marines are weaker, naturally clump together when engaging and no amount of splitting will offset the fact that mech is simply superior here.


the problem with your post is that you actually didn't read/understand the part that you bluntly replaced with "blabla" when quoting me. (hint: tips for creating a good Starcraft bot != tips for creating a good Artificial Intelligence). You don't know who you're talking to, so don't make any wrong assumptions.

And no, Starcraft is not a "completely different game". You'd be surprised how many challenges can be reduced to the same problem.
Maybe this helps you:
http://graphics.stanford.edu/~mdfisher/GeneralGameLearning.html

50 pts Copper League
ninazerg
Profile Blog Joined October 2009
United States7291 Posts
August 07 2016 20:58 GMT
#18
For a bot to somewhat emulate human behavior, I would propose the following:

The bot will need to have access to a database of what I'm going to refer to as "scripts" (I think that's what they're called in StarEdit, from what I rmbr) and "sub-scripts". The bot will analyze the game, and then send a query to the database for which script should be run. Each script contains a set of instructions for how the computer will act in that given situation. One way to think about this is a giant series of "if / else if" statements with the argument being passed being a separate 'strategy' or 'tactic' that is predetermined in the script.

Let's assume our bot is Zerg

Did the Protoss place a pylon at their natural?

Yes
+ Show Spoiler +

Run "Protoss fast expand script"


No
+ Show Spoiler +

Did the Protoss place a pylon in their main?

Yes
+ Show Spoiler +

Run "1-base Protoss script"


No
+ Show Spoiler +

Did the Protoss place a pylon on the map?

Yes
+ Show Spoiler +

Run "Proxy gate script"


No
+ Show Spoiler +

Is the player going 9 nexus to try and juke out the bot?

Yes
+ Show Spoiler +

Make continuous Zerglings and attack / build expansion


No
+ Show Spoiler +

Does the player have a probe that is not mining anywhere on the map?

Yes
+ Show Spoiler +

Kill them with lings; it's too late for them to stop what is coming


No
+ Show Spoiler +

wtf are u afk?






Each "script" will follow a similar set of if/and/or/else statements and break down into sub-scripts for smaller scenarios, and how the computer will adjust to deal with them. As you can imagine, this will balloon very quickly into a giant tree of separate scripts.

Rather than having 500 different end-game scripts, the computer will have basically one end-game script, and all of the other scripts should run until the computer gets to the end-game. Because the end-game in StarCraft is so based around decision-making, i.e., where to send your army, when to send your army, how much food to spend on workers, when to play aggressively, when to play defensively, how to manage heavy losses, etc., it can be difficult to build an AI to accommodate all of these possibilities, and so the designer needs to decide how the computer is going to behave beforehand. Maybe the computer will just be programmed to build nothing but ultralisks and slam them into Protoss bases until they run out of money. Point being - the bot should have a specific end-game goal, such as "Have 6 bases" and then do something very general.

I suppose it would be possible to have the bot do cool things, like send zerglings to one location to lure the player and then do a doom drop, but that would be very hard to write out. I'm trying to imagine the easiest bot possible for playing a full game.
"If two pregnant women get into a fist fight, it's like a mecha-battle between two unborn babies." - Fyodor Dostoevsky
imp42
Profile Blog Joined November 2010
398 Posts
August 07 2016 22:15 GMT
#19
On August 08 2016 05:58 ninazerg wrote:
For a bot to somewhat emulate human behavior, I would propose the following:

The bot will need to have access to a database of what I'm going to refer to as "scripts"[...].


Of course this approach has very little to do with Artificial Intelligence, which is perfectly fine.
But: basing the bot on a large number of pre-defined scripts is very fragile. In your P FE example, a human could just place a low-ground pylon to trick the bot into thinking it's a FE.
If you want to account for this and for all other possible situations you will end up with a such large number of scripts that it won't be feasible anymore.

To bring another chess analogy (although some people criticize the comparison), the script approach has been successfully applied to all end-game situations with 7 or less pieces in total. But that was a huge effort for only the very last part of the game.


I agree with your statement that the bot should have a specific end game goal. As stated previously being active rather than reactive eliminates a lot of the difficult decision making.
50 pts Copper League
LetaBot
Profile Blog Joined June 2014
Netherlands557 Posts
August 07 2016 23:01 GMT
#20
On August 08 2016 05:58 ninazerg wrote:
For a bot to somewhat emulate human behavior, I would propose the following:

The bot will need to have access to a database of what I'm going to refer to as "scripts" (I think that's what they're called in StarEdit, from what I rmbr) and "sub-scripts". The bot will analyze the game, and then send a query to the database for which script should be run. Each script contains a set of instructions for how the computer will act in that given situation. One way to think about this is a giant series of "if / else if" statements with the argument being passed being a separate 'strategy' or 'tactic' that is predetermined in the script.

Let's assume our bot is Zerg

Did the Protoss place a pylon at their natural?

Yes
+ Show Spoiler +

Run "Protoss fast expand script"


No
+ Show Spoiler +

Did the Protoss place a pylon in their main?

Yes
+ Show Spoiler +

Run "1-base Protoss script"


No
+ Show Spoiler +

Did the Protoss place a pylon on the map?

Yes
+ Show Spoiler +

Run "Proxy gate script"


No
+ Show Spoiler +

Is the player going 9 nexus to try and juke out the bot?

Yes
+ Show Spoiler +

Make continuous Zerglings and attack / build expansion


No
+ Show Spoiler +

Does the player have a probe that is not mining anywhere on the map?

Yes
+ Show Spoiler +

Kill them with lings; it's too late for them to stop what is coming


No
+ Show Spoiler +

wtf are u afk?






Each "script" will follow a similar set of if/and/or/else statements and break down into sub-scripts for smaller scenarios, and how the computer will adjust to deal with them. As you can imagine, this will balloon very quickly into a giant tree of separate scripts.

Rather than having 500 different end-game scripts, the computer will have basically one end-game script, and all of the other scripts should run until the computer gets to the end-game. Because the end-game in StarCraft is so based around decision-making, i.e., where to send your army, when to send your army, how much food to spend on workers, when to play aggressively, when to play defensively, how to manage heavy losses, etc., it can be difficult to build an AI to accommodate all of these possibilities, and so the designer needs to decide how the computer is going to behave beforehand. Maybe the computer will just be programmed to build nothing but ultralisks and slam them into Protoss bases until they run out of money. Point being - the bot should have a specific end-game goal, such as "Have 6 bases" and then do something very general.

I suppose it would be possible to have the bot do cool things, like send zerglings to one location to lure the player and then do a doom drop, but that would be very hard to write out. I'm trying to imagine the easiest bot possible for playing a full game.



That is what Dennis Soemers did. He text mined the build orders from liquidpedia, including the hard and soft counters. I got them as well, and added some things from CardinalAllin as well. Still have to fully add them to the bot though.
If you cannot win with 100 apm, win with 100 cpm.
1 2 Next All
Please log in or register to reply.
Live Events Refresh
Sparkling Tuna Cup
10:00
Weekly #96
TBD vs Percival
CranKy Ducklings278
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Harstem 48
StarCraft: Brood War
Sea 21194
Calm 7820
Rain 6658
Bisu 2670
Jaedong 2565
Horang2 1776
Hyuk 932
actioN 784
GuemChi 687
Pusan 631
[ Show more ]
BeSt 504
firebathero 290
Larva 286
EffOrt 228
Mini 204
ToSsGirL 204
Hyun 165
Rush 164
PianO 113
Mind 41
JulyZerg 41
Aegong 36
scan(afreeca) 35
JYJ35
Sharp 32
Free 27
ajuk12(nOOB) 20
yabsab 19
HiyA 18
Movie 17
Barracks 17
Sacsri 13
GoRush 11
IntoTheRainbow 10
soO 10
Bale 9
Icarus 3
Dota 2
Gorgc7730
XcaliburYe445
Counter-Strike
x6flipin367
allub224
Other Games
tarik_tv24987
gofns18084
shahzam537
Liquid`RaSZi366
B2W.Neo360
crisheroes278
DeMusliM273
Pyrionflax236
Lowko115
Mew2King90
Organizations
Other Games
gamesdonequick26497
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• LUISG 22
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2154
Other Games
• WagamamaTV193
Upcoming Events
WardiTV European League
4h 55m
MaNa vs sebesdes
Mixu vs Fjant
ByuN vs HeRoMaRinE
ShoWTimE vs goblin
Gerald vs Babymarine
Krystianer vs YoungYakov
PiGosaur Monday
12h 55m
The PondCast
22h 55m
WardiTV European League
1d
Jumy vs NightPhoenix
Percival vs Nicoract
ArT vs HiGhDrA
MaxPax vs Harstem
Scarlett vs Shameless
SKillous vs uThermal
uThermal 2v2 Circuit
1d 4h
Replay Cast
1d 12h
RSL Revival
1d 22h
ByuN vs SHIN
Clem vs Reynor
Replay Cast
2 days
RSL Revival
2 days
Classic vs Cure
FEL
3 days
[ Show More ]
RSL Revival
3 days
FEL
4 days
FEL
4 days
CSO Cup
4 days
BSL20 Non-Korean Champi…
4 days
Bonyth vs QiaoGege
Dewalt vs Fengzi
Hawk vs Zhanhun
Sziky vs Mihu
Mihu vs QiaoGege
Zhanhun vs Sziky
Fengzi vs Hawk
Sparkling Tuna Cup
4 days
RSL Revival
4 days
FEL
5 days
BSL20 Non-Korean Champi…
5 days
Bonyth vs Dewalt
QiaoGege vs Dewalt
Hawk vs Bonyth
Sziky vs Fengzi
Mihu vs Zhanhun
QiaoGege vs Zhanhun
Fengzi vs Mihu
Replay Cast
6 days
Liquipedia Results

Completed

BSL Season 20
HSC XXVII
Heroes 10 EU

Ongoing

JPL Season 2
BSL 2v2 Season 3
Acropolis #3
KCM Race Survival 2025 Season 2
CSL 17: 2025 SUMMER
Copa Latinoamericana 4
Jiahua Invitational
Championship of Russia 2025
RSL Revival: Season 1
Murky Cup #2
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
PGL Astana 2025
Asian Champions League '25
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025

Upcoming

2025 ACS Season 2: Qualifier
CSLPRO Last Chance 2025
CSL Xiamen Invitational
2025 ACS Season 2
CSLPRO Chat StarLAN 3
K-Championship
uThermal 2v2 Main Event
SEL Season 2 Championship
FEL Cracov 2025
Esports World Cup 2025
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #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 © 2025 TLnet. All Rights Reserved.