• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:02
CEST 19:02
KST 02:02
  • 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
[ASL20] Ro24 Preview Pt1: Runway22v2 & SC: Evo Complete: Weekend Double Feature2Team Liquid Map Contest #21 - Presented by Monster Energy8uThermal's 2v2 Tour: $15,000 Main Event17Serral wins EWC 202549
Community News
Weekly Cups (Aug 4-10): MaxPax wins a triple6SC2's Safe House 2 - October 18 & 195Weekly Cups (Jul 28-Aug 3): herO doubles up6LiuLi Cup - August 2025 Tournaments7[BSL 2025] H2 - Team Wars, Weeklies & SB Ladder10
StarCraft 2
General
#1: Maru - Greatest Players of All Time RSL Revival patreon money discussion thread 2v2 & SC: Evo Complete: Weekend Double Feature Is there a way to see if 2 accounts=1 person? uThermal's 2v2 Tour: $15,000 Main Event
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL: Revival, a new crowdfunded tournament series LiuLi Cup - August 2025 Tournaments SEL Masters #5 - Korea vs Russia (SC Evo) Enki Epic Series #5 - TaeJa vs Classic (SC Evo)
Strategy
Custom Maps
External Content
Mutation # 486 Watch the Skies Mutation # 485 Death from Below Mutation # 484 Magnetic Pull Mutation #239 Bad Weather
Brood War
General
[ASL20] Ro24 Preview Pt1: Runway ASL 20 HYPE VIDEO! BGH Auto Balance -> http://bghmmr.eu/ Soma Explains: JaeDong's Double Muta Micro BW AKA finder tool
Tourneys
Cosmonarchy Pro Showmatches KCM 2025 Season 3 [Megathread] Daily Proleagues Small VOD Thread 2.0
Strategy
Simple Questions, Simple Answers Fighting Spirit mining rates [G] Mineral Boosting Muta micro map competition
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Total Annihilation Server - TAForever Beyond All Reason [MMORPG] Tree of Savior (Successor of Ragnarok)
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 European Politico-economics QA Mega-thread The Games Industry And ATVI The year 2050
Fan Clubs
INnoVation Fan Club SKT1 Classic Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [\m/] Heavy Metal Thread Movie Discussion! Korean Music Discussion
Sports
2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
World Cup 2022
Tech Support
Gtx660 graphics card replacement Installation of Windows 10 suck at "just a moment" Computer Build, Upgrade & Buying Resource Thread
TL Community
TeamLiquid Team Shirt On Sale The Automated Ban List
Blogs
The Biochemical Cost of Gami…
TrAiDoS
[Girl blog} My fema…
artosisisthebest
Sharpening the Filtration…
frozenclaw
ASL S20 English Commentary…
namkraft
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1431 users

Disappearing Zerg Eggs

Forum Index > BW General
Post a Reply
Normal
ApotheosisX
Profile Blog Joined September 2008
United States61 Posts
Last Edited: 2009-05-08 04:27:15
May 07 2009 04:30 GMT
#1
Hello everyone, ApotheosisX here. I’d like to present some observations regarding the behavior of zerg eggs as they hatch. It had came to my attention that someone had already posted something like this, but I was approved to do this as a final project at the UC Berkeley Starcraft class, so forgive me if this is old news. I have not read the article about Zerg eggs myself and assure you that I am not plagiarizing in any way. With that out of the way, here is my final project for the class.

Before tackling this mystery, here are some observations I have made.

Larvae morphing into an egg:

Note: the moment you morph the larvae into any unit, it will have the attributes of an egg (200 hp, 10 carapace). This applies to hydras immediately morphing into lurker eggs or mutalisks morphing into cocoons as well.

This is why it is very tactical to morph hydras into lurkers when fighting, say, a group of zealots. You can morph a dying hydralisk while the zealot attacks it to absorb damage, a tactic I use very frequently as a zerg player.

Anyway continuing

[image loading]
[image loading]
[image loading]
[image loading]
[image loading]


[image loading]


[image loading]



Notice the egg frame remains the same but the game has progressed one frame already. I had operation cwal enabled so the progress bar of the overlord was very fast. I have looked at this carefully many times in many different circumstances, and all egg animation frames remain for two game frames. That is to say, each unique animation frame remains for two game frames before a new animation frame occurs. This goes for units morphing out of eggs, into units, as well.

As the unit’s progression bar completes, the egg spends another 14 frames expanding. During this state the game still recognizes it as an egg with 200 hp and 10 carapace. Immediately after these 14 frames, the egg undergoes a new animation. Many things occur when the first frame of the new animation is played:

-The sound of the unit being hatched is played.
-Minimap gets pinged to egg hatching location.
-All the attributes of the unit is no longer that of the egg; it is of the new unit being hatched.
-The percentage of health that the egg had before entering these next frames will be converted into the percentage of health for the new unit. (Ex: egg at 75/200 health can hatch into an ultralisk with 150/400 health within these next few frames). This rule applies for any unit morphing into or out of an egg.

Here are some screenshots to demonstrate this feature:

[image loading]

1) The egg is at 149/200 (74.5%) health.


[image loading]

2) The egg undergoes its hatching animation and its unit transformation, and during the unit transformation which lasts 14 game frames, its hit points is also reduced to 74.5%, or 59.6/80. I believe Starcraft rounds to the nearest half of a hit point since the game indeed registers half a damage point, so the hydralisk is now at 59.5 hit points.

[image loading]

3) Once the unit transformation animation has ended, the hydralisk is now at full health.

Here are the animation frames in more detail, for an overlord now:

[image loading]
[image loading]
[image loading]
[image loading]
[image loading]
[image loading]
[image loading]


These 7 unique frames happens over the course of 14 game frames, each unique frame lasting for 2 game frames.

In the very next frame the overlord is recognized as a unit and its action buttons appear, now being able to move, stop, patrol, etc.

[image loading]



Notice the shadow has appeared and the green circle and hp bar have been “raised” above ground.

I have scrutinized this animation for each and every unit that hatches out of an egg. Hatchery eggs, lurker eggs, even guardian and devourer cocoons all have exactly 7 unique frames, from the time the sound of them hatching is played to when their action buttons appear. These 7 frames, once again, happen in the span of 14 game-time frames. Fortunately, after careful observations, all of these hatchlings have the same properties to understand why they seem to “disappear” under damage.

There is actually a very simple answer to why eggs seem to disappear under damage. If the unit’s hit points drops to zero within those 7 unique frames (14 game frames), the unit simply disappears because the game does not have a death animation for the unit hatching in this state.

One more note about the dual hatching units (zerglings and scourges):

The zerglings and scourges are still considered one unit within the 7 unique frames, so if they get killed before the animation finishes, both zerglings/scourges will disappear. The second zergling/scourge appears as soon as the last animation frame finishes.

This is always why when you try to hotkey a freshly made group of zerglings, sometimes you only hotkey 3 out of 6 zerglings. You can also hotkey the 3 larvae before making them into zerglings or even multiple larvae. However, when you press the hotkey right after the zerglings hatch you will still only select 3 out of 6. Only after the 14 frames finish will you be able to select all 6 zerglings, hotkey or manual selecting.

Now one might wonder about the practicality for targeting these eggs. I do not know the exact frame rate the game runs at or how many frames in one game second, but I’m guessing its running at at least 30 frames per second. This means you have about half a second to destroy the unit coming out of the egg before the unit is able to react. It is up to the player to decide in what situation it would be best to target the eggs.

TRIVIA:

All ground units that die while morphing INTO eggs (hatchery and lurker eggs) have the normal larvae egg death animation.

Mutalisks that die while morphing INTO cocoons, either guardians or devourers, have the normal mutalisk death animation.

All ground units that die while morphing OUT of eggs (hatchery and lurkers eggs) have no death animation (disappear).

Mutalisks that die while morphing OUT of guardian cocoons have the normal mutalisk death animation.
Mutalisks that die while morphing OUT of devourers cocoons have no death animation (disappear).

Guardians are special I guess.

extra note:

I should have made this less of an essay and more of a forum post. I didn't know I was going to be posting this until later in the semester so I just wrote it kind of essay format lol.

edit 5/7/09 - added some more detail and polished a bit
"As the pattern gets more intricate and subtle, being swept along is no longer enough." - Waking Life
anch
Profile Blog Joined June 2006
United States5457 Posts
May 07 2009 04:39 GMT
#2
Zerg Biology class material.
Lucktar
Profile Joined July 2008
United States526 Posts
May 07 2009 04:47 GMT
#3
Interesting stuff, thanks for this.
NaDa, much, ZerO fighting!
YianKutKu
Profile Joined January 2009
United States142 Posts
May 07 2009 04:49 GMT
#4
interesting...
did not know thiss
hwighting!
AttackZerg
Profile Blog Joined January 2003
United States7454 Posts
May 07 2009 05:01 GMT
#5
You didn't get anything wrong. Everything you've noticed I have more or less noticed just casually playing over the years.
Ozarugold
Profile Blog Joined February 2008
2716 Posts
May 07 2009 05:03 GMT
#6
This is so random...yet so intriguing...
this is my quote.
Heyoka
Profile Blog Joined March 2008
Katowice25012 Posts
May 07 2009 05:05 GMT
#7
I didn't know thats why that happened, thanks
@RealHeyoka | ESL / DreamHack StarCraft Lead
konadora *
Profile Blog Joined February 2009
Singapore66163 Posts
May 07 2009 05:05 GMT
#8
On May 07 2009 14:03 Ozarugold wrote:
This is so random...yet so intriguing...





Also, how is this in the Strategy section?
POGGERS
BalliSLife
Profile Blog Joined September 2008
1339 Posts
May 07 2009 05:16 GMT
#9
could be a strat??
Ya well, at least I don't fuck a fleshlight with a condom on and cry at the same time.
fnaticNoname
Profile Joined January 2008
India858 Posts
May 07 2009 05:33 GMT
#10
On May 07 2009 13:39 anch wrote:
Zerg Biology class material.

Superiorwolf
Profile Blog Joined March 2007
United States5509 Posts
May 07 2009 05:38 GMT
#11
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you
Check out my stream at www.teamliquid.net/forum/viewmessage.php?topic_id=315053 and follow me on Twitter @EGSuppy! :)
-orb-
Profile Blog Joined September 2007
United States5770 Posts
May 07 2009 05:40 GMT
#12
Cool stuff but imo should be in brood war section.

Unless there's some way to use this to our advantage? I don't think a 14 frame window is enough of a time window to try to time killing a unit.
'life of lively to live to life of full life thx to shield battery'
how sad that sc2 has no shield battery :(
ApotheosisX
Profile Blog Joined September 2008
United States61 Posts
May 07 2009 05:41 GMT
#13
my bad i didnt really know where to post it when browsing the sections. If possible can an admin move this to the appropriate section? Thanks!
"As the pattern gets more intricate and subtle, being swept along is no longer enough." - Waking Life
XinRan
Profile Blog Joined August 2008
United States530 Posts
May 07 2009 05:45 GMT
#14
Wow, good work. This reminds me of all those investigations (SuperJongMan?) posted about how glave worm bounces. I'm glad to see the Berkeley Starcraft class is at least semi-legit.
"To be fair, Kal played like absolute garbage. His noted inconsistency and bad record versus Jaedong high fived into a cacophony of suck." - TwoToneTerran
AttackZerg
Profile Blog Joined January 2003
United States7454 Posts
May 07 2009 06:12 GMT
#15
On May 07 2009 14:38 Superiorwolf wrote:
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you

huh?


None of this occured to you while playing ..... ever?
NarutO
Profile Blog Joined December 2006
Germany18839 Posts
May 07 2009 06:36 GMT
#16
Nice read.
CommentatorPolt | MMA | Jjakji | BoxeR | NaDa | MVP | MKP ... truly inspiring.
CharlieMurphy
Profile Blog Joined March 2006
United States22895 Posts
Last Edited: 2009-05-07 06:40:38
May 07 2009 06:40 GMT
#17
Same thing happens with lurker eggs too. Almost every TvZ you will see it. Surprised OP didn't mention that.
..and then I would, ya know, check em'. (Aka SpoR)
konadora *
Profile Blog Joined February 2009
Singapore66163 Posts
May 07 2009 07:05 GMT
#18
On May 07 2009 15:12 AttackZerg wrote:
Show nested quote +
On May 07 2009 14:38 Superiorwolf wrote:
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you

huh?


None of this occured to you while playing ..... ever?

And to think superiorwolf is a Zerg player lol
POGGERS
theron[wdt]
Profile Blog Joined January 2009
United States395 Posts
May 07 2009 07:45 GMT
#19
On May 07 2009 14:38 Superiorwolf wrote:
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you


use this for an essay or doctoral thesis or something
Aqo[il]
Profile Blog Joined April 2009
Israel183 Posts
Last Edited: 2009-05-07 09:05:40
May 07 2009 09:02 GMT
#20
I'm not sure if you're aware of this but checking stuff like this is very easy with Starcraft modding tools such as ICE or IceCC (depends on your preference) which are very easy to acquire. You didn't have to go through the trouble of slowing down the game and testing those things like it looks you did, a quick glance at the scripts explains all those supposedly mysterious SC behaviors very quickly.

Also, Starcraft runs at 8 frames per second on Normal game speed, and 50% faster on fastest, which is 12 frames per second. This might feel slow to you because you're used to D3D accelerated graphics that reach numbers like 30-60FPS but for what appears to be a DD engine from 1997 that utilizes 8-bit indexed graphics this is pretty decent.

This also means that SC runs at 4 frames per second on slowest game speed. Try it out, enter singleplayer and spam the -/_ key, then tell a walking unit to move while looking at your clock.
Reavers. Lurkers. Vultures. Defilers. Corsairs. Vessels. Why did they remove all the cool units from SC2...?
AttackZerg
Profile Blog Joined January 2003
United States7454 Posts
May 07 2009 09:24 GMT
#21
If your so smart then how come you aren't in the starcraft class?


.......

......

...
Zoler
Profile Blog Joined June 2008
Sweden6339 Posts
May 07 2009 10:04 GMT
#22
On May 07 2009 14:01 AttackZerg wrote:
You didn't get anything wrong. Everything you've noticed I have more or less noticed just casually playing over the years.


I think most knows this, but this was still interesting thanks!
Lim Yo Hwan forever!
Piste
Profile Blog Joined July 2006
6177 Posts
May 07 2009 10:22 GMT
#23
Is this serious?
Archaic
Profile Blog Joined March 2008
United States4024 Posts
May 07 2009 10:39 GMT
#24
On May 07 2009 19:22 Piste wrote:
Is this serious?

It obviously is. You probably haven't played Zerg long enough to discover how terribly annoying this is...
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
May 07 2009 10:42 GMT
#25
Also, Starcraft runs at 8 frames per second on Normal game speed, and 50% faster on fastest, which is 12 frames per second.

I'm pretty sure it is about 23.8 gameframes/s on fastest.
The rendered framerate can be in the thousands, but as units are not interpolated between gameframes, this does not matter much.
The animation framerate might be half that, which would match your framerate with the observation that each animation frame stayed for two frames in the OP.
LiquipediaOne eye to kill. Two eyes to live.
cRaZypYRo
Profile Joined August 2007
Germany191 Posts
May 07 2009 11:00 GMT
#26
lol that's great^^
pangshai
Profile Blog Joined January 2005
Chinatown5333 Posts
May 07 2009 11:04 GMT
#27
when the larvae is morphing into an egg and you get the 5 animation frames, is it still considered a larvae, or is it an egg already?
#1 midas fan
Lord_of_Chaos
Profile Joined June 2007
Sweden372 Posts
May 07 2009 11:25 GMT
#28
-The percentage of health that the egg had before entering these next frames will be converted into the percentage of health for the new unit. (Ex: egg at 75/200 health can hatch into an ultralisk with 150/400 health within these next few frames). This rule applies for any unit morphing into or out of an egg.

Sorry if I misunderstood this part, of if I'm simply wrong. But:
Wounded hydras morphing in to lurkers will give you wounded eggs. But lurkers will come out will full health.

So the rule does not apply for all units.
napoxx
Profile Joined August 2007
3 Posts
May 07 2009 11:37 GMT
#29
coool ;P

nice reading .. cant w8 for the course on toss and terran units :DD


guns dont kill ppl , zerglings do :P
lololol
Profile Joined February 2006
5198 Posts
Last Edited: 2009-05-07 11:47:38
May 07 2009 11:38 GMT
#30
Health is rounded to 1/256. The unit maximum health values in the game files are stored as 256 times the health displayed in game and you can see in game that mutalisks deal 1/9 of their main damage with the last attack bounce with pretty good accuracy, instead of just rounding to the nearest 1/2(after they have attack upgrades, of course, since 1/9 out of 9 is simply 1).

On May 07 2009 20:25 Lord_of_Chaos wrote:
Show nested quote +
-The percentage of health that the egg had before entering these next frames will be converted into the percentage of health for the new unit. (Ex: egg at 75/200 health can hatch into an ultralisk with 150/400 health within these next few frames). This rule applies for any unit morphing into or out of an egg.

Sorry if I misunderstood this part, of if I'm simply wrong. But:
Wounded hydras morphing in to lurkers will give you wounded eggs. But lurkers will come out will full health.

So the rule does not apply for all units.


This concerns only the first 14 frames after hatching. On the next frame the unit gets it's health restored regardless of the health the egg had.
I'll call Nada.
nataziel
Profile Blog Joined October 2008
Australia1455 Posts
May 07 2009 11:51 GMT
#31
So damaged eggs =/= damaged units? I didn't know that. Bah, I play terran anyway, but it's good to know, now I won't bother trying to damage eggs anymore wasting time.
u gotta sk8
justiceknight
Profile Blog Joined May 2008
Singapore5741 Posts
May 07 2009 12:26 GMT
#32
i wanna ask u something

when a drone is comes out from its egg,it always a bit before listen to my controls.Does it always like that cos its unlike other races where scv/probe appear from cc,i can move it imediately to the palce i want
Murdoink
Profile Joined March 2009
Chile1219 Posts
May 07 2009 14:24 GMT
#33
I love this kind of information, thanks for the post!
SNARF HWAITING
Chill
Profile Blog Joined January 2005
Calgary25980 Posts
May 07 2009 14:53 GMT
#34
Interesting, although I can't really see any applications of it to the game. It's still really interesting to read about though.
Moderator
Chef
Profile Blog Joined August 2005
10810 Posts
May 07 2009 17:19 GMT
#35
Ahahha, this is great. SC University papers!

Here's looking forward to more papers from this class. Please post them if you are attending :D


Mutalisks morphing OUT of guardians that die have the normal mutalisk death animation.
Mutalisks morphing OUT of devourers that die have no death animation (disappear).


Nothing major, but I think this needs to be reworded (guardians morph out of their cocoons, Mutalisks only morph out of eggs).
LEGEND!! LEGEND!!
gumbum8
Profile Blog Joined December 2008
United States721 Posts
May 07 2009 17:47 GMT
#36
Yeah, zerg eggs are sexy...
Good final topic
but really, has anyone REALLY been far even as decided to use even go want to do look more like?
ShejtaN
Profile Joined December 2005
Sweden59 Posts
May 07 2009 18:04 GMT
#37
hahaha, must be a bugg or something
WhuazGoodJaggah
Profile Blog Joined January 2009
Lesotho777 Posts
May 07 2009 21:06 GMT
#38
in ZvZ this knowledge is very usefull, if you attack an egg with 6 lings when the lings pop out, you have a good chance to kill 2 lings instead of 1.

you need to bring the egg down to 170/200 then the popping ling(s) have 30 health and each ling just needs to make 1 hit (6*5) to kill 2 lings.
small dicks have great firepower
ShaLLoW[baY]
Profile Blog Joined January 2007
Canada12499 Posts
May 07 2009 21:13 GMT
#39
On May 08 2009 06:06 WhuazGoodNjaggah wrote:
in ZvZ this knowledge is very usefull, if you attack an egg with 6 lings when the lings pop out, you have a good chance to kill 2 lings instead of 1.

you need to bring the egg down to 170/200 then the popping ling(s) have 30 health and each ling just needs to make 1 hit (6*5) to kill 2 lings.


Oooh cool application of this
ALEXISONFIRE ARE FUCKING BACK (sAviOr for life)
JWD
Profile Blog Joined October 2007
United States12607 Posts
May 08 2009 03:33 GMT
#40
Interesting article/essay, I always enjoy reading about minutia like this. Good SC trivia material!
✌
ApotheosisX
Profile Blog Joined September 2008
United States61 Posts
Last Edited: 2009-05-08 03:49:25
May 08 2009 03:48 GMT
#41
Wow i'm so surprised at all the positive feedback. Thanks so much you guys! I'll try to answer all your questions and tweak or correct my post from your feedback.

On May 07 2009 20:04 pangshai wrote:
when the larvae is morphing into an egg and you get the 5 animation frames, is it still considered a larvae, or is it an egg already?


Any unit morphing into an egg is immediately considered an egg. In other words, the larvae turns into an egg right after you click what unit to create, right when you morph a hydra into a lurker, or right when you morph mutalisks into guardians/devourers. thanks for pointing this out i will add it in.

On May 07 2009 21:26 justiceknight wrote:
i wanna ask u something

when a drone is comes out from its egg,it always a bit before listen to my controls.Does it always like that cos its unlike other races where scv/probe appear from cc,i can move it imediately to the palce i want



During the 14 frames after the selected egg has become the unit you morphed it into (when it has the same percentage of health as the egg, hatching sound plays, minimap pings, etc), it does not have any action buttons. (no move, attack, patrol, stop, etc). This is why you cannot control the unit in this short time.

On May 08 2009 02:19 Chef wrote:
Ahahha, this is great. SC University papers!

Here's looking forward to more papers from this class. Please post them if you are attending :D

Show nested quote +

Mutalisks morphing OUT of guardians that die have the normal mutalisk death animation.
Mutalisks morphing OUT of devourers that die have no death animation (disappear).


Nothing major, but I think this needs to be reworded (guardians morph out of their cocoons, Mutalisks only morph out of eggs).


aha yea whoops, i should have proofread this one more time. Thanks for pointing this out.
"As the pattern gets more intricate and subtle, being swept along is no longer enough." - Waking Life
deathgod6
Profile Blog Joined January 2008
United States5064 Posts
May 08 2009 03:52 GMT
#42
And people say that Starcraft has crappy animation.
4.0 GPA = A rank 5.0 GPA = Olympic --------- Bisu, Best, Fantasy. i ♥ oov. They can get in my BoxeR anyday.
n
Profile Joined May 2009
United States48 Posts
May 08 2009 04:26 GMT
#43
This was very interesting. Thanks for taking the time to write it up!
Mikilatov
Profile Blog Joined May 2008
United States3897 Posts
May 08 2009 06:10 GMT
#44
Wow, haha, this was actually VERY interesting, especially the animation breakdowns. Good stuff!
♥ I used to lasso the shit out of your tournaments =( ♥ | Much is my hero. | zizi yO~ | Be Nice, TL.
tec27
Profile Blog Joined June 2004
United States3701 Posts
May 08 2009 06:48 GMT
#45
On May 07 2009 18:02 Aqo[il] wrote:
I'm not sure if you're aware of this but checking stuff like this is very easy with Starcraft modding tools such as ICE or IceCC (depends on your preference) which are very easy to acquire. You didn't have to go through the trouble of slowing down the game and testing those things like it looks you did, a quick glance at the scripts explains all those supposedly mysterious SC behaviors very quickly.

Also, Starcraft runs at 8 frames per second on Normal game speed, and 50% faster on fastest, which is 12 frames per second. This might feel slow to you because you're used to D3D accelerated graphics that reach numbers like 30-60FPS but for what appears to be a DD engine from 1997 that utilizes 8-bit indexed graphics this is pretty decent.

This also means that SC runs at 4 frames per second on slowest game speed. Try it out, enter singleplayer and spam the -/_ key, then tell a walking unit to move while looking at your clock.

I don't think you're correct on 12 frames per second for fastest. Each frame on fastest is 42ms, so if you divide 1000ms/42ms, you get 23.8fps. Normal speed is 67ms per frame, which is 14.9fps. Slowest is 167per frame, which is 5.98fps. (All of those frame delay values are taken from SC memory, so they're 100% correct)
Can you jam with the console cowboys in cyberspace?
Raithed
Profile Blog Joined May 2007
China7078 Posts
May 08 2009 06:51 GMT
#46
On May 07 2009 13:39 anch wrote:
Zerg Biology class material.

lol i laughed, it actually makes sense
Aqo[il]
Profile Blog Joined April 2009
Israel183 Posts
Last Edited: 2009-05-08 09:49:56
May 08 2009 09:40 GMT
#47
Where did you get 42ms from? Maybe 42 is just a rounded version of 41.667, and the 23.8fps number you came up with is 24fps, which makes a lot more sense from the programmer's perspective. Also what MasterOfChaos said earlier was correct, I earlier disregarded the fact that most SC sprites use a delay of 2 ticks and not 1 so the 12 number really is actually supposed to be 24 -.-. Now that I think of it, it also matches the fact that in Starcraft's weapons.dat file which stores cooldowns for weapon attacks, a cooldown of 24 equals one second on fastest.
Reavers. Lurkers. Vultures. Defilers. Corsairs. Vessels. Why did they remove all the cool units from SC2...?
WhuazGoodJaggah
Profile Blog Joined January 2009
Lesotho777 Posts
Last Edited: 2009-05-08 11:31:00
May 08 2009 10:39 GMT
#48
BWRepLib from JCA
//----------------------------------------------------------------------------------------------------
// Replay Actions - jca (May 2003)
//----------------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------------------------

// to convert ticks to seconds

const float BWrepAction::m_timeRatio = 23.8f;


this is from the BWRepLib of JCA. If you check the time after a game and compare it to the time in a replay its different. If you open a replay and check the time at the end and compare it with the one from bwchart its pretty accurate. I used a constant <24 too when i made APM calculations for a APM display ingame. Im pretty sure its not exactly 24. it also makes more sense from a programmers point of view to have an integer as delay (42ms) and not the fps rate which is rather unimportant to be accurate.
small dicks have great firepower
NeVeR
Profile Blog Joined January 2009
1352 Posts
May 08 2009 11:20 GMT
#49
Great post. Look forward to reading more from your class.
Zoler
Profile Blog Joined June 2008
Sweden6339 Posts
May 08 2009 14:43 GMT
#50
On May 07 2009 23:53 Chill wrote:
Interesting, although I can't really see any applications of it to the game. It's still really interesting to read about though.


Exactly what I thought
Lim Yo Hwan forever!
Insane Lane
Profile Blog Joined August 2008
United States397 Posts
May 09 2009 18:04 GMT
#51
The next step would be, how does this relate to the Art of War?

Kinda easy actually.
Superiorwolf
Profile Blog Joined March 2007
United States5509 Posts
May 09 2009 19:21 GMT
#52
On May 07 2009 15:12 AttackZerg wrote:
Show nested quote +
On May 07 2009 14:38 Superiorwolf wrote:
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you

huh?


None of this occured to you while playing ..... ever?

It's a fucking class final and the guy put some nice effort into it, I was interested when I was reading it to understand why the eggs actually disappear. And no, this didn't occur to me when I played because I didn't know there were a few frames where the units health was different, all I knew was that if you attack the egg sometimes it doesn't spawn. Be supportive of someone's final, faggot.
Check out my stream at www.teamliquid.net/forum/viewmessage.php?topic_id=315053 and follow me on Twitter @EGSuppy! :)
CDRdude
Profile Blog Joined May 2007
United States5625 Posts
May 09 2009 21:14 GMT
#53
Cool topic . Good thing it was linked on the front page, I probably would have missed it otherwise. I always assumed that the dissapearing thing had to do with cancelling an egg just as the hatching animation started (yeah, I don't actually play very much).
Force staff is the best item in the game.
cyronc
Profile Joined March 2008
218 Posts
May 10 2009 09:31 GMT
#54
you can always look at the source when you want info about scbw animation data (iscribt.bin in your *.mpqs, need winmpq f.e. to extract files from mpqs(similar to zips), then 'decompile' the binary animation script file(/rez/iscript.bin iirc) with IceCC to plaintext animation script, where you will find ALL the scbw in-game animation data(pointers to various grps(scbw's multiframe graphics file format) and to the wavesounds (sometimes indirectly via linking through a dat file (the games static data storage file format))

hf
iH82G8!
Aqo[il]
Profile Blog Joined April 2009
Israel183 Posts
Last Edited: 2009-05-10 10:15:14
May 10 2009 10:12 GMT
#55
it also makes more sense from a programmers point of view to have an integer as delay (42ms) and not the fps rate which is rather unimportant to be accurate.

Why would you choose an integer as arbitrary as 42 (douglas adams comes to mind)? In my programs I use a division mechanism, i.e., you tell it the FPS with a function call during initialization and it adjusts the delay accordingly. For example, if I tell it I want 60 FPS it'll set the delay to 1000/60 which is 16.667. I don't think some programmer was sitting down and thinking "oh 42 millisecond of delay sounds like a good amount".
Reavers. Lurkers. Vultures. Defilers. Corsairs. Vessels. Why did they remove all the cool units from SC2...?
XATMO8G
Profile Joined May 2009
United States7 Posts
May 10 2009 13:40 GMT
#56
Boring essay really. Its interesting to note but its not a significant discovery of any sort. I don't think it will affect the game too much to be honest.
Hope is the first step on the road to dissapointment
n
Profile Joined May 2009
United States48 Posts
May 10 2009 20:10 GMT
#57
On May 10 2009 22:40 XATMO8G wrote:
Boring essay really. Its interesting to note but its not a significant discovery of any sort. I don't think it will affect the game too much to be honest.


Okay.
Kinky
Profile Blog Joined September 2008
United States4126 Posts
May 10 2009 20:23 GMT
#58
The funny thing is, this happened in Effort v Flash which I saw right after I read this topic.
What a coincidence
QuoC
Profile Blog Joined August 2008
United States724 Posts
May 10 2009 21:27 GMT
#59
i was ready to flame after seeing the first 3 pictures - as I was not aware of how long and specific the post was. Good job, and good research.. very useful
Dario "TLO" Wünsch -- Favorite SC2 Player
Tuke
Profile Joined January 2009
Finland1666 Posts
May 11 2009 17:35 GMT
#60
Cool stuff
TeamLiquid CJ Entusman #42
ShaLLoW[baY]
Profile Blog Joined January 2007
Canada12499 Posts
May 11 2009 17:47 GMT
#61
On May 10 2009 04:21 Superiorwolf wrote:
Show nested quote +
On May 07 2009 15:12 AttackZerg wrote:
On May 07 2009 14:38 Superiorwolf wrote:
Berkeley class final! Good work, I give it an A+! Very interesting to see the mechanics of egg hatching and why they disappear Thank you

huh?


None of this occured to you while playing ..... ever?

It's a fucking class final and the guy put some nice effort into it, I was interested when I was reading it to understand why the eggs actually disappear. And no, this didn't occur to me when I played because I didn't know there were a few frames where the units health was different, all I knew was that if you attack the egg sometimes it doesn't spawn. Be supportive of someone's final, faggot.



Cool your jets wolfie, no need to get too uppity.
ALEXISONFIRE ARE FUCKING BACK (sAviOr for life)
TSL-Lore
Profile Joined January 2009
United States412 Posts
May 12 2009 21:24 GMT
#62
great job simon, very well done. now improve your zvz!
I want to become stronger. -Shindou Hikaru
Spartan
Profile Blog Joined July 2005
United States2030 Posts
May 13 2009 02:35 GMT
#63
After 11 years of StarCraft this is definitely something new to me. Thanks!
# http://nkspartan.com (web engineer)
# TL member since July 2005; CEO of Vile Gaming; President of Team Vile
WhuazGoodJaggah
Profile Blog Joined January 2009
Lesotho777 Posts
May 13 2009 06:03 GMT
#64
On May 10 2009 19:12 Aqo[il] wrote:
Show nested quote +
it also makes more sense from a programmers point of view to have an integer as delay (42ms) and not the fps rate which is rather unimportant to be accurate.

Why would you choose an integer as arbitrary as 42 (douglas adams comes to mind)? In my programs I use a division mechanism, i.e., you tell it the FPS with a function call during initialization and it adjusts the delay accordingly. For example, if I tell it I want 60 FPS it'll set the delay to 1000/60 which is 16.667. I don't think some programmer was sitting down and thinking "oh 42 millisecond of delay sounds like a good amount".


and how do you create this delay? it heavly depends on the accuracy of your time measuring mechanism. If you take the windows API function GetTickCount() as base for your timings the most accurate you can get is 1ms, and it still sucks. so why should you check a float towards an int when it never will reach the floats accuracy?
small dicks have great firepower
stevethemacguy
Profile Joined September 2008
United States137 Posts
May 19 2009 00:28 GMT
#65
This is even more disgusting than watching an egg hatch at regular speed, lol
"What we do in life, echoes in eternity" -maximus decimus meridius
Normal
Please log in or register to reply.
Live Events Refresh
uThermal 2v2 Circuit
15:00
Playoffs Day 2
uThermal1410
SteadfastSC413
IndyStarCraft 284
Rex96
YoungYakov12
ForJumy 4
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
uThermal 1410
SteadfastSC 413
IndyStarCraft 284
Rex 96
ProTech84
MindelVK 57
ForJumy 4
StarCraft: Brood War
Britney 37999
Calm 3874
Rain 2160
EffOrt 590
firebathero 283
ggaemo 255
ToSsGirL 79
sSak 76
Mong 64
sas.Sziky 58
[ Show more ]
Movie 42
zelot 18
SilentControl 6
Dota 2
Gorgc6296
qojqva3379
Dendi1620
Counter-Strike
fl0m3881
Heroes of the Storm
Liquid`Hasu603
Khaldor361
Other Games
gofns2340
FrodaN1199
crisheroes1158
RotterdaM344
Beastyqt332
B2W.Neo303
Hui .179
ArmadaUGS137
KnowMe136
ViBE117
ZombieGrub49
JuggernautJason30
Organizations
Other Games
gamesdonequick333
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• intothetv
• AfreecaTV YouTube
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Michael_bg 5
• blackmanpl 0
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• C_a_k_e 3249
League of Legends
• Jankos1753
Counter-Strike
• Shiphtur194
Upcoming Events
BSL Team Wars
1h 58m
Team Dewalt vs Team Bonyth
Afreeca Starleague
16h 58m
Sharp vs Ample
Larva vs Stork
Wardi Open
21h 58m
RotterdaM Event
22h 58m
Replay Cast
1d 6h
Replay Cast
1d 16h
Afreeca Starleague
1d 16h
JyJ vs TY
Bisu vs Speed
WardiTV Summer Champion…
1d 17h
PiGosaur Monday
2 days
Afreeca Starleague
2 days
Mini vs TBD
Soma vs sSak
[ Show More ]
WardiTV Summer Champion…
2 days
Replay Cast
3 days
The PondCast
3 days
WardiTV Summer Champion…
3 days
Replay Cast
4 days
LiuLi Cup
4 days
BSL Team Wars
5 days
Team Hawk vs Team Dewalt
Korean StarCraft League
5 days
CranKy Ducklings
5 days
SC Evo League
5 days
WardiTV Summer Champion…
5 days
[BSL 2025] Weekly
6 days
Sparkling Tuna Cup
6 days
SC Evo League
6 days
Liquipedia Results

Completed

Proleague 2025-08-13
FEL Cracow 2025
CC Div. A S7

Ongoing

Copa Latinoamericana 4
Jiahua Invitational
BSL 20 Team Wars
KCM Race Survival 2025 Season 3
BSL 21 Qualifiers
SEL Season 2 Championship
WardiTV Summer 2025
HCC Europe
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025

Upcoming

ASL Season 20
CSL Season 18: Qualifier 1
CSLAN 3
CSL 2025 AUTUMN (S18)
LASL Season 20
BSL Season 21
BSL 21 Team A
RSL Revival: Season 2
Maestros of the Game
PGL Masters Bucharest 2025
Thunderpick World Champ.
MESA Nomadic Masters Fall
CS Asia Championships 2025
Roobet Cup 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
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.