|
Game Theory for Starcraft
There is a branch of mathematics called 'Game Theory' which is concerned with strategic decisions, especially under uncertainty. I am writing today to share some of these ideas and attempt to apply them to Starcraft.
There are two basic notions of optimality or "best play" in cases of uncertainty.
The first notion is "best response". If I believe you're going to play a certain way (say, 4pool) and I know that some other strategy (say, early bunker) counters it, I can just play this other strategy.
The second notion is Nash equilbrium which really just means "mutual best response". In this kind of situation, neither player can change to another strategy to win more and both are "countering" the opponent as hard as possible.
A mutual best response may not always be obvious. For example, in Rock-paper-scissors if I play Rock and you play Paper you're playing the best response to my strategy but I have a better response to yours - Scissors. No "pure strategy" (always playing a single move) mutual best-reponse exists in RPS. Instead, mutual best response takes the form of a "mixed equilibrium" where I play Rock/paper/scissors each 1/3 of the time and so do you. In this scenario, we both win/lose/draw 1/3 of the time and neither player can switch to a different strategy that improves his win-rate (unless the other player also switches strategy).
The 1/3 1/3 1/3 mix is a product of the symmetry of the payoffs (win, lose or draw). If instead Rock wins are twice as good as Paper/Scissors wins, some other mix will emerge as the mutual best response. I believe equilbrium here is to play rock 1/3 of the time, paper 1/2 and scissors 1/6, which is kind of interesting in that it's actually the counter to Rock that gets boosted and the Rock play-rate is the same.
In a certain Starcraft matchup and situation if I know that a certain build (say, center 2gate) will have a 60% winrate against my opponent's mix of strategies, and other builds I might play have a lower win-rate, I should just play that build (ie always center 2gate). My opponent should react by playing things that counter 2gate more frequently (drivings its win rate down) and things that counter other stuff less frequently (driving the win-rate of other builds I might play up). As he does this, either I can play center 2gate less frequently and we approach some mutual best-response scenario (what poker players call game theory optimal) or I can try to get my opponent to counter the center 2gate "too often" and play some counter to THAT. Poker players call it "chasing each other through donkeyspace" when 2 players are each playing in an exploitable way to try to maximally exploit the other player.
One interesting feature of mixed equilibria is that both players are actually indifferent between each individual option. Being a mutual best response, it is also a best response. For my "best response" to be equally paper, rock and scissors they have to have the same expected return (or in Starcraft, winrate). This gives us some help in finding least exploitable play. If a certain mix of builds or strategies is least exploitable, then each build in the opponent's mix should have the same winrate (and each build not in his mix should have a lower win-rate).
So to find least-exploitable play in a certain situation: 1) If a certain option is always best no matter what the opponent does, play it 2) Otherwise, randomize among your "good" options at a frequency so that the opponent's "good" options against you all have the same winrate and his "bad" options have a lower winrate
Then if you want to abandon least-exploitable play to try and punish some tendency of the opponent, you can.
One final note: Mutual best response involves each player playing as if the other player knows his strategy (not necessarily the choice he makes among random options, but the % mix he will employ). If you want to play in a least-exploitable way, you should imagine that the other player knows your % mix of builds (or strategies if the branching out is later on like goon/obs/DT in PvP).
Edited to add: I think it's quite likely that mirror matchups will have a RPS dynamic and non-mirrors will have 2 builds on each side (assuming everyone is playing least exploitably). If anywhere along the way someobody finds a build that has no counter (or to be more precise, is still the best choice even against the counter) then there can just be 1 build in a matchup. Otherwise it's going to be like I play build A, opponent sometimes plays B (to counter A), I play build C (to counter B). In a mirror my opponent just plays A (since he's my race he can). In a non-mirror he plays D (to counter C) and I can go back to A (to counter D). So you either get RPS (if my opponent can play whatever build I started with) or 2 builds per race (if he cannot because he's a different race).
|
This is the easiest to demonstrate with ZvZ builds, let's say you spawn on Fighting Spirit vs. another Zerg
If you go 9p, you will have a huge win rate vs. 12h, close to even vs. close spawn 12p, bad winrate vs. cross spawn 12p If you go 12p, you will have a bad winrate vs. 12h, close to even vs. close spawn 9p, good winrate vs. cross spawn 9p If you go 12h, you will have a terrible winrate vs. 9p, good winrate vs. 12p
First we can just average close vs. cross together since we don't know the spawn, with close spawns being 2 times as likely
So we may have a winrate spread like this:
9p 90% vs. 12h 12p 53% vs. 9p 12h 60% vs. 12p
How do we calculate the Nash equilibrium strategy? We should not lose more to one strategy than another, or we will be exploited
I claim it's:
40/53 12p 10/53 9p 3/53 12h
You can check, with this spread against 12h we have:
40 * 0.4 = 16 wins out of 53 with 12p 10 * 0.9 = 9 wins out of 53 with 9p 3 * 0.5 = 1.5 wins out of 53 with 12h
that's 26.5 wins out of 53
against 9p we have
40 * 0.53 = 21.2 wins with 12p 10 * 0.5 = 5 wins with 9p 3 * 0.1 = 0.3 wins with 12h
26.5 wins
against 12p we have
40 * 0.5 = 20 wins with 12p 10 * 0.47 = 4.7 wins with 9p 3 * 0.6 = 1.8 wins with 12h
26.5 wins
So whatever strategy our opponent chooses, at whatever percentage we really don't care since we win exactly the same against any of them
|
u know whats interesting about game theory in starcraft? it makes no sense, strategically, to play the game as protoss... or zerg vs terran...
if you try to optimize to get the highest possible winrate, you should 100% play terran. If not, u're putting urself at a disadvantage from the beggining...
imo to have a real "GTO" concept for starcraft, the competition should be all rdm vs rdm... if not there is no equilibrium... theres always an edge for one of the players.
if you are trying to just have fun with ur race and trying to choose the "best strategy possible" with it, then, in theory, you should just have 1 perfected build per match up, and just perfect your response to all possible scenarios... or you can randomize your openning 100% of the time.
so, if you're a non terran user, you must be very unbalanced with your opennings... 100% 1 trick pony or 100% random openning.
if you're a terran user, u're just worried about TvsT, so your TvT openning should mix, depending on map, position and opponent tendencies.
so basically TvT is the match up where gto is most applicable. PvP and ZvZ can also have gto, but if you introduce the terran race, then it makes no sense to play p or z.
so gto in sc = tvt fiesta
|
On November 25 2025 11:14 XenOsky wrote: u know whats interesting about game theory in starcraft? it makes no sense, strategically, to play the game as protoss... or zerg vs terran...
if you try to optimize to get the highest possible winrate, you should 100% play terran. If not, u're putting urself at a disadvantage from the beggining...
imo to have a real "GTO" concept for starcraft, the competition should be all rdm vs rdm... if not there is no equilibrium... theres always an edge for one of the players.
if you are trying to just have fun with ur race and trying to choose the "best strategy possible" with it, then, in theory, you should just have 1 perfected build per match up, and just perfect your response to all possible scenarios... or you can randomize your openning 100% of the time.
so, if you're a non terran user, you must be very unbalanced with your opennings... 100% 1 trick pony or 100% random openning.
if you're a terran user, u're just worried about TvsT, so your TvT openning should mix, depending on map, position and opponent tendencies.
so basically TvT is the match up where gto is most applicable. PvP and ZvZ can also have gto, but if you introduce the terran race, then it makes no sense to play p or z.
so gto in sc = tvt fiesta
absolutely deranged and offtopic balance whine
|
On November 25 2025 11:14 XenOsky wrote: u know whats interesting about game theory in starcraft? it makes no sense, strategically, to play the game as protoss... or zerg vs terran...
...
imo to have a real "GTO" concept for starcraft, the competition should be all rdm vs rdm... if not there is no equilibrium... theres always an edge for one of the players.
if you are trying to just have fun with ur race and trying to choose the "best strategy possible" with it, then, in theory, you should just have 1 perfected build per match up, and just perfect your response to all possible scenarios... or you can randomize your openning 100% of the time.
...
so basically TvT is the match up where gto is most applicable. PvP and ZvZ can also have gto, but if you introduce the terran race, then it makes no sense to play p or z.
so gto in sc = tvt fiesta
Weird balance complaint, but just to be clear: If you somehow find yourself playing PvT (which lots of people think is Protoss advantage actually) there will be some optimal strategy (which is very likely to involve intelligent and calculated randomization).
In theory maybe that optimal PvT strategy only takes you to 48% win-rate and you'd have been better off with TvT, but it's still going to have some equilibrium and it's either a pure equilbrium (always react to opening uncertainty a particular way) or (much more likely IMHO) it's going to be some mixed strategy that (if you want to play exactly in the least-exploitable way) will be calculated in the way that iopq and I have been explaining.
|
|
|
|
|
|
|
|