Thursday 3 April 2008

April ‘08: S’Craft and the power of 3’s, Or “Why did I never know how much damage my Zergling’s did?”

Okay, so this is my first attempt at a ‘blog of the round table’ and if this is your first visit to my blog, to get a feel for what I am interested in, read my honours project summary post, the one immediately before this on.

But that’s not what I’m writing about today, in my oh-so conversational tone (picked up on that yet?), instead I’m focusing on the topic of Variations on a Theme: What are your favourite games? Well, one of my favourite games is the interminable Starcraft. If you are a follower of The Brainy Gamer, Michael Abbot, then you’ll know that he recently posted on the power of the story of Starcraft and its rather prophetic nature – reflecting modern society in a game from 1997. While I agree with Michael that the story is a powerful factor in the attraction of the series, and I’d argue that S’Craft is one of the few games with an extremely tightly integrated story and internal game logic, that isn’t exactly what I’m talking about today.

Everyone who’s ever played or watched Starcraft played competitively knows that it can be extremely fast paced and, if done properly, a significantly strong ‘early game’ strategy like the Zerg Rush (hyperlink) (along with obligatory ‘kekeke’ or ‘I’m in ur base killin ur doods’) can give one player an early win. And yet, not all races are created equal – there is a reason after all why it’s called the Zerg rush.

So, the phenomena I’m talking about is, of course, Asynchronous Gameplay, and it’s by no means a S’Craft specific trait. The other well known Blizzard game that deploys Asynchronous gameplay is, of course Word of Warcraft, and It does it in a different manner. World of Warcraft sets up extremely efficiently in its PvE (Player versus Player Environment) content the idea of the ‘Holy Triad’. That is, the most effective 5 person group for an instance is comprised of 3 roles (look at that – another 3!) the DPS, the guys who kill the monsters; The healers, the guys who stop the other guys from getting killed by the monsters; and a Tank, the one guy who’s job it is to try and soak up all the damage so the healers only have to heal 1 person.

Now, Mr. Elrod says in his guidelines suggest to “focus in on a narrow approach” so, I’m going to peel back the skin, if you will, of S’Crafts Asynchronous nature to explore this idea a little bit more.

So, back to the Zerg rush. Let’s break down how the Zerg “rush” the enemy with their little Zerglings. To get to the stage of being able to build their first Zergling, a player has to build a relatively low number of buildings – they only really need a ‘spawning pool’ to be built before they can start to churn out little ‘lings of their own. Aww shucks.

Great, you say, let’s do that! Not so fast, Little Timmy, cause your Spawning Pool only lets you build a Zergling if you have the requisite population cap allowance. And you only get that by creating, not a building, but a unit called an Overlord (bear with me, those of you who already know all this stuff, there’s a purpose for it). At this point I also need to explain that the Zerg differs from your traditional RTS race in a very important way. The Zerg, you see, employ a non linear build order. This allows a Zerg player to start building a unit as soon as possible as determined by your resources, and NOT determined by the end of the production of a previous unit. This means that a Zerg player can be making an Overlord and another Zergling and then halfway through start another Zergling or Overlord, without requiring a whole ‘nuther Zergling specific making building. Ah, parallelism at work – the revolutionary nature of which is worth another post in itself.

But getting back to our Zerg rush. Little Timmy was just about to build a Spawning pool to make Zerglings and splatter the pre-pubescent base structures of his enemies, who are currently dreaming of their high tech, and high resource investment, Protoss Carriers. Let’s not let him get there. But wait. Timmy knows that if he wants to get enough Zerglings to splatter aforementioned base, he’s going to need resource collecting drones - and LOTS of them. Also, Timmy knows that his Spawning Pool costs 200 minerals, whereas a drone only costs 50. So Timmy is at a critical juncture as he really wants more of those minerals, but also wants Zerglings.

At this point, it is probably worth comparing the monetary investment for each race in order to just get to the Zergling equivalent level fighter. If the player were to take 1 builder unit and keep the rest on mineral gathering duty…

A Zerg player would need:

  • 200 minerals for a Spawning Pool + time to build it
  • 100 minerals for an Overlord to supplying his population cap + time to create it (note this process is parallel, and not one after the other – a feature unique to the Zerg and hence asynchronous.)
  • Finally, 50 minerals for 2 (count ‘em!) little Melee fighter Zerglings that go Muurrllsskkk when you click on them.

A Terran player needs:

  • 150 minerals for a Barracks + time to build it.
  • 100 minerals for a Supply Depot to supply pop cap (note this process IS linear, not parallel)
  • 50 minerals for just 1 ranged Marine.

Finally, a Protoss Player needs:

  • 100 minerals for a pylon to provide pop and power the following (linear warp time)
  • 150 minerals for a Gateway
  • 100 minerals for a Zealot

Okay, so what is this telling us that we didn’t already know before? For starters, it all seems pretty even at this point. There are no clear winners, but they are not really showing the full picture. We still don’t know one important factor in this whole plan, and it’s the key to the success of Timmy’s Zerg Rush strategy – if I send my doods at your doods who’s gonna win?

Again, this is an extremely complicated question to answer, but to be wilfully reductive, let’s put my Zerglings up against your Protos.

Example 1:

Timmy has 2 Zerglings, because he decided to save money on them, to get more drones to make more Zerglings in the future.

Joe has 1 Protos Zealot, because he too wanted more minerals to make more Zealots in the future.

Timmy’s Zerglings attack Joe’s Zealot for 5 damage 2x cause there is 2 of them, and Joe’s Protoss hits 1 of the Zerglings back for a whopping 16 damage.

Ouch. That really hurt because Timmy’s Zerglings each have only 35 health, and in 2 hits, he’s gonna do 34 damage, leaving Mr. Zergling on 1 health. The Zealot, on the other hand, has 100 health, and 60 shield on top. Man, you can see where this is going, can’t you.

Assuming that a Zergling attacks at around twice the speed of a single Zealot, it’s gonna have killed both Zerglings in 6 hits. In that time, it’s taken either 5 or 6 hits from the 1st Zergling (25 or 30 dmg) and 11 or 12 hits from the other (55 or 60 dmg) resulting in a max total of 90 damage. PROTOSS WINS! His shield has soaked up 60 and his heal got hit for 30 more.

Example 2:

Let’s pretend Timmy decides not to save his money for mineral collecting drones and instead opts for 4 Zerglings.

Joe, on the other hand, is still holding his minerals out for drones, and he certainly has more reason to, as his 1 Zealot costs the same as 4 Zerglings – he’s gonna need cash fast!

This time, Joe’s Zealot engages the 1st Zergling and all 4 start wailing on his flimsy blue shield.

This time, Joe’s Zealot is going to take 8 x 5dmg for every swing of his Slicey-Slicey Protoss blades. How quickly the parallelism of the Zerg has swung the balance.

Joes Zealot hit the 1st Zergling for 17, and in the process takes 8 Zergling hits, resulting in 40dmg. Ouch. Before he’s hit it again for another 17, he’s taken another 40 dmg. Captain! Shields are buckling!

By the time he has killed the first Zergling, Joe’s poor beleaguered Zealot has taken 120 dmg, out of possible 160 before he dies (discounting all sorts of tiny things like single points of shield regeneration and Zergling health regen).

The Zealot swings around to face his 2nd attacker – yet two more persist! He takes 30 more dmg before landing his 1st blow, and another 30 before he expires. For Aiur, as they say.

From this example, we can see in action the power of the parallel design and build philosophy of the Zerg (as well as being an interesting in examination the risk/reward potential of early game mineral to fighter unit production).

And thusly, I conclude my investigation into the off balance world of Starcraft. The Zerg, by employing a strategy of parallelism offset their weakness, including the squishy nature of their little Zerglings.

I hope you have enjoyed this delicious Theory Crafting romp through a small, small subsection of the Starcraft domain, and I acknowledge the fact that this analysis is very reductionist – I felt that a more holistic approach that attempted to include every little possibility such as who hits first in battle, and at what rate does health and shields regen, was out of the scope of this little blog post, as well as bordering nigh on impossible. Also, I didn’t compare the Zerlings to the Terran Marine because it is a more complicated affair, as the marine is ranged and… well… I’m sure you can imagine how that can complicate this kind of analysis.

Feel free to leave a comment, or ignore them as you will.


[Humorous side note – after spending an hour or so writing down stats about each race’s unit and buildings, I forgot how to spell the Protoss race – 1 ‘S’ or 2? It’s two, in case you were also wondering.]


Ben Abraham said...

Gah, the typos. Also, for some reason blogger is not letting me edit the post to fix them. :(

Guess that's what you get for posting at 2am...

Anonymous said...

It would be interesting to compare the comparative values of the different tech upgrades, like me talked about earlier.
Also, have you tried testing this practically, as opposed to this theoretical approach?

Ben Abraham said...

You know, I have been meaning to open up the scenario creator and just plonk down a couple of these kidns of fights and see how accurate this calculation is.

Even then, influencing factors include attack range for both units, and whether they are starting hitting directly next to each other and at the same time or not.

Like I said... it gets really complex, REALLY quickly.

Anonymous said...

Interesting post, Ben. I have, as promised, a few questions. Can you think of other games (not from Blizzard) that use asynchronous game mechanics? How well do they use them and to what effect?

Aside from the strategic benefits, what sort of experiential benefits does asynchronous gameplay provide? Is it possible that this design component is one of the reasons why Starcraft is still widely played today?

Finally, what does asynchronous gameplay say about the storyworld in which a game is set, if anything? Are their similarities in play between generating a Zergling rush and descending into Coilfang Reservoir?

Anonymous said...

but if joe's zealot stands in a choke point, things change, and he can obliterate all three. also, i think he could actually take out two zerglings, though i'm not sure.

Ben Abraham said...

I think you'll find that I said the Zealot *does* win vs 2 Zerglings, and this is perhaps what I didn't emphasise by a lot, but he wins by such a massive margin - as long as his shields regenerate fully before he fights anything else, he's only taken 30 (permanent) dmg to his health.

Also, my hypothetical situation was in a void, so I deliberately ignored issues of placement and such - hence why I said it was a very reductionist analysis.

Thanks for taking the time to read it though.

Unknown said...

Overall, I find it interesting that the different races match different play styles. having to deal with a lot of low-health creatures tends to cause micromanagement of 'em, and require quick thinking. So the zerg are heavy on the micromanagement side, which sometimes makes 'em annoying to play. The protoss are the furthest you get from that, units with high health, even if they're slower or do less damage or whatever, so they tend to allow more leisure time to react. (dealing with scarabs and interceptors kinda goes against that trend)

I also feel like (but can't quantify) some kind of rock-paper-scissors effect among the three races that tends to guide my game development outlook these days.

Ben Abraham said...

Hey Tchalvak,

Yeah - rock paper scissors is a very applicable design strategy that Blizzard just love to use. I'd wager that it's probably the one of (if not THE) earliest example of what I was raving about in this post - asymetric design.

I don't know if you've ever really realised before, I know that before doing some research for this post I didn't, but the 3 races all have one melee and one ranged unit in the first 2 most accesible units (if you go straight down the tech tree, that is).

Protos have Zealots and Dragoons,
The zerg have Zerglings and Hydralisks and the Terran have the reverse order Marine/Firebat and interestingly enough the firebat is kinda different again in that it employs a splash damage type attack, so that's another way they are differentiated from the other races.

Also, if you're interested in the micro/macro managment split thing, I read a really great post from a relative unknown postulating how it'll be changed/varied in SC2.

The blog is called "In Machinam" and I have no idea who writes it.