|
On March 26 2012 09:45 poeticEnnui wrote: So I've been (re)thinking about this from a programming perspective. This is probably how Blizzard's code currently looks in logical terms:
if [larva count] < 3, start [larva timer]
when [larva timer] ends, spawn 1 larva and add 1 to [larva count] if any only if [larva count] < 3
when [queen inject timer] ends, spawn 4 larvae and add 4 to [larva count]
What happens is that if the queen inject timer ends before the third larva spawns, the larva count raises to above three, so even if the natural larva timer is in progression, a larva won't spawn. This makes sense: if you've been at two larvae for ten seconds and get 4 larvae from a queen inject spawn, the larva which would have otherwise spawned in five seconds doesn't spawn even if the natural larva timer counts down to zero because you're already at 6 larvae.
The problem arises when the injection timer ends at an infinitesmially short time before the natural larva timer ends, e.g.
larva count = 2 and larva timer = 0.00...001; queen inject adds 4 to larva count, and the natural larva consequently gets lost.
So this is in some regard working as intended: Blizz doesn't want the natural larva timer adding a larva to a hatchery that already has 6 larva.
That is to say: as long as there is < 3 larvae and an inject finishes, there will always be a lost larva whose natural timer was counting down, be it at 5 seconds into the timer or 14.99999999999 seconds into the timer. What we perceive as larva "getting lost" is actually the larva count increasing beyond three just before the natural larva timer finishes.
What does this mean in terms of "solutions"? Well, a consistency fix could be
if [larva timer] has < 1 second left, spawn the goddamned larva anyway
but there would still be the issue of arbitrariness between the player who injects the larva at 0.99...9 seconds and the player who injects larva at 1.00...01 seconds in relation to the larva timer, that is, the former losing the larva and the latter having it.
The only way to do it which I think is absolutely "fair" is to let each natural larva timer produce a larva, which would break the current mechanic of no larva being able to spawn past 3.
I can't say whether this solution is "good" or "bad", but it's the only one that would remove what we perceive as an inconsistency.
tl; dr: There is no way to argue that this is a "bug" in the sense that the programmers are somehow at fault for designing a faulty mechanic; rather, the issue is one of consistency and...hate to say it, balance.
This is incorrect, because the issue is the timer is not supposed to reset according to their own programming-see OP. When the hatch begins larva spawn immediately because the 15 sec counter is at 0. The counter should be at 0 in this missing larva exception, so that once the larva are spent 1 larva immediately spawns and the counter continues. The point of the OP is that the game is programmed to have a coninuous timer on the hatches. What is actually lost is 15 seconds of spawn larva time. 15 seconds equates perfectly with 1 larva, hence the larva disappearing glitch being a better name than "I want my 15 seconds back."
|
On March 26 2012 13:02 Berailfor wrote:Show nested quote +On March 26 2012 12:11 figq wrote: If you are a Terran: Imagine your barracks having 10% chance for a marine to take twice its usual production time. If you are a Protoss: Imagine your warpgate having 10% chance for its cooldown to be doubled.
Try to justify such kind of erratic behavior as intentional or insignificant. 10% chance? You mean 2% chance right? As it's close to 1/50 that it'll happen and if it didn't happen meanwhile your injecting perfectly it isn't going to happen anyway. Second of all, you can't compare the other races to the Zergs extreme production capability. Like I said before I agree it is bad and needs to be patched. But why are you exaggerating it so much. It very rarely happens and when it does it's so unnoticeable that it has almost zero effect on actual gameplay. The most effect in ZvZ where it's an equal chance for both players and still has almost zero effect. Like I said before the chance is ridiculously low, and has almost no effect with the Zerg production capabilities anyway. Seeing as nobody has noticed this for this long it clearly isn't too big a deal.
Hi, OP here. Thank you for your feedback, although I have to say the chance is more like 10% rather than 2%. 1.5 glitch period from my observation (could be closer to 1.0, could be closer to 2.0) and 15sec larva generation interval means 1.5/15=10% or so. Whether you think 10% is a big deal or not is all up to you. As you said, millions of games have been played in the last 2 years including beta period, and until a couple days ago when I started this research, no one in the world seemed to have noticed it. You have a point in that some pros must have noticed it way before me if this were a super significant deal. I just wanted to clarify that it is about 10%, not 2% for sure as you could see from my experiment. Thank you again for agreeing that this needs to be patched regardless. Some Terran and Protoss insisted that this obvious bug should stay for balance reasons. That, I cannot agree with.
|
Wow, how did this go unnoticed for so long? Its so fucked up something this big has gone incognito for ages...
|
not to rain on the parade and suggest that bugs should be overlooked or ignored, but the game has been balanced up untill this point with game mechanics as they currently stand.
With mechanics as complicated as the zerg lavae spawn rates and queens, im sure blizzard would have spent lengthy periods of time balancing out the spawn rate and injection timers pre-release in alpha testing of the game, since then any short coming of the race has been balanced out by altering structure health/armour and units similarly.
probably not a great analogy but ill try it anyway - lets say someone discovers that zealots infact dont run as fast as they're supposed to - zealots are not inherantly any weaker a unit relative to the other races because there health/armour/damage/etc has been balanced around that unrealised short coming.
|
On March 26 2012 13:25 Orek wrote:Show nested quote +On March 26 2012 13:02 Berailfor wrote:On March 26 2012 12:11 figq wrote: If you are a Terran: Imagine your barracks having 10% chance for a marine to take twice its usual production time. If you are a Protoss: Imagine your warpgate having 10% chance for its cooldown to be doubled.
Try to justify such kind of erratic behavior as intentional or insignificant. 10% chance? You mean 2% chance right? As it's close to 1/50 that it'll happen and if it didn't happen meanwhile your injecting perfectly it isn't going to happen anyway. Second of all, you can't compare the other races to the Zergs extreme production capability. Like I said before I agree it is bad and needs to be patched. But why are you exaggerating it so much. It very rarely happens and when it does it's so unnoticeable that it has almost zero effect on actual gameplay. The most effect in ZvZ where it's an equal chance for both players and still has almost zero effect. Like I said before the chance is ridiculously low, and has almost no effect with the Zerg production capabilities anyway. Seeing as nobody has noticed this for this long it clearly isn't too big a deal. Hi, OP here. Thank you for your feedback, although I have to say the chance is more like 10% rather than 2%. 1.5 glitch period from my observation (could be closer to 1.0, could be closer to 2.0) and 15sec larva generation interval means 1.5/15=10% or so. Whether you think 10% is a big deal or not is all up to you. As you said, millions of games have been played in the last 2 years including beta period, and until a couple days ago when I started this research, no one in the world seemed to have noticed it. You have a point in that some pros must have noticed it way before me if this were a super significant deal. I just wanted to clarify that it is about 10%, not 2% for sure as you could see from my experiment. Thank you again for agreeing that this needs to be patched regardless. Some Terran and Protoss insisted that this obvious bug should stay for balance reasons. That, I cannot agree with.
Ah good point, I was thinking about the larva inject time of 45 seconds which is why I was thinking about 1/50. But that makes sense I didn't think about the fact that the interval will happen 3 times per inject. Well that definitely means it should be patched haha. Anyway good find man.
|
On March 26 2012 13:43 tsango wrote: not to rain on the parade and suggest that bugs should be overlooked or ignored, but the game has been balanced up untill this point with game mechanics as they currently stand.
With mechanics as complicated as the zerg lavae spawn rates and queens, im sure blizzard would have spent lengthy periods of time balancing out the spawn rate and injection timers pre-release in alpha testing of the game, since then any short coming of the race has been balanced out by altering structure health/armour and units similarly.
probably not a great analogy but ill try it anyway - lets say someone discovers that zealots infact dont run as fast as they're supposed to - zealots are not inherantly any weaker a unit relative to the other races because there health/armour/damage/etc has been balanced around that unrealised short coming.
The problem with that analogy is that it would be the same for everyone. In this case, their is an amount of random chance in the game where someone could have less zerglings or less drones in a very tight early game situation in one situation and more in another. The game, instead of coming down to practiced skill, would come down to if you luckily managed to avoid losing one larva for no difference. In most cases it won't matter but there have been plenty of very close games where the outcome could have been different with an earlier roach, two more zerglings or another drone.
|
It sucks. But hey Mules on far mineral patches die during the last cargo as well. It's not that game breaking.
|
Good find I guess, and thanks for the edits on other peoples explanation of the bug.
|
On March 26 2012 14:18 RaiKageRyu wrote: It sucks. But hey Mules on far mineral patches die during the last cargo as well. It's not that game breaking.
Don't put them on far mineral patches then, your own problem if you do. There is nothing we can do about this.
|
OP here. Added and edited some new contents for opening post for clearer explaination
|
How the hell did you see this ?? O.o very good eye sir.
|
Great find. This has to be patched next patch.
And thanks for the recognition
|
Once again great job by the OP in identifying and researching this glitch so in depth.
I have also been attempting to figure out how exactly the glitch does occur from a programming perspective and how it would be fixed. I went and conducted my own tests just to see for myself. It took me until 15:00 game time to finally record the glitch, but I attribute that to my attempts to reproduce it by timing my injects and missing by the slightest margins. However, while doing this and watching the replay of it I noticed a few interesting things.
Things I noticed: 1. Larva from queens appear in the unit counter before they appear as usable at the hatchery. On the other hand, naturally spawned larva appear in both the unit counter and at their hatchery at the same time. 2. Larva from queens increment in the unit counter and at the hatchery in the same manner and at the same rate (at least as I perceive). They are counted 1, 2, 3, 4 and the same happens at the hatchery a second or two later. 3. Natural larva will still appear at the hatchery at any time up until the unit counter says the hatch has 3 larva. This was observed at a point when a natural larva appeared when the first larva from the queen spawn was already in the counting station.
My assumption (untested and not very easy to test) is that the critical window when the larva will be lost is the time between when the unit counting station hits 3 and when the third larva hits the ground at the hatch. Using one of my larva injects as a test I observed that this span is over the space of parts of three separate seconds and is therefore greater than a full second. This means that if I am correct, then the window is also greater than 1 second and the OP is correct in saying that 10% of game time lies within the window.
Now looking at this from a programming standpoint (I am a junior computer engineer at university so there are others more qualified, but I believe I am more qualified than most), I would think that the reason this larva is lost is based on how the natural larva timer works and what its triggers are for pausing and generating larva. As I said, larva appear in the unit counting station immediately after spawn larva completes. These larva are not usable for an obvious reason - they are in mid-air and it makes no sense to create eggs in mid-air; it would just look weird and not really work physically.
My hypothesis is based on the triggers for both larva generation and timer pausing. My guess is that there is a trigger that says that no more larva are generated once there are more than 3 larva assigned to that particular hatch. I also believe that there is a separate trigger for pausing the larva generation timer based on the number of larva on the ground. Note that based on #1 and #2 above, these variables are not the same. Normally this is not a problem since with normal larva generation there is no inconsistency between the two variables. However, with spawn larva there is a window where the two variables are not the same and this is when a larva is lost.
|
well i guess ist another thing you have to be good at: "work on your spawn larva timing, so that this doesn't happens":D just like pulling off the MULE if it's about to die and won't deliver the minerals
joke aside, i hope this is fixed soon
|
On March 25 2012 08:22 darkscream wrote: Hard proof that ZvZ is, indeed, the most coin-flippy matchup.
I lol'd
|
On March 26 2012 10:14 CptCutter wrote:Show nested quote +On March 25 2012 07:18 Orek wrote:On March 25 2012 07:00 ZeromuS wrote:If this is true, thats a cool find. I don't play Zerg so I don't know how the mechanic truly truly works in terms of a missing larva X but GJ for taking the time to put this together. Remove intro from the spoiler though or create a simple abstract so people know what they are getting into when they open up the thread ![](/mirror/smilies/smile.gif) Thank you for the advice. I just did. On March 25 2012 07:13 kcdc wrote: No. The hatchery doesn't do the auto-spawn in that situation because it's already at 3+ larvae. If the inject happens right before the auto-spawn and you don't spend the larvae to get the standing larvae under 3, then it will skip that auto-spawn. It's not a bug--hatcheries just don't spawn larvae when there are already 4 sitting there. I am very well aware of 3+ larvae situation. If you dont mind, please read on. I think I made it clear enough with enough evidence. Thank you. perhaps you should just build another hatchery? this bug you talk of will most likely happen once or twice per game max and will effect the gameplay very little. it is the same kind of 'bug' as mules mining 30 more minerals then dieing without being able to return them. its not game breaking unless the 2 players that are playing are literally perfect players.
Its in no way shape or form the same kind of bug. If you drop a mule on the close patch, it will consistently lose 30 minerals on its way back, each and every time. If you constantly keep injecting your hatchery, you wont consistently lose a larva here and there, you might lose one every time, or you might not lose one the whole game.
Furthermore, the analogy is terrible anyways. Its a bug where in 10% of the inject cases, you lose 1 larva, which translates to a unit. It might be a drone, or an ultralisk, its just gone, you cant build it. So the analogy should be more along the lines of a battlecruiser suddenly not appearing out of the starport.
The larva problem is a definitive bug, while the mule issue is a feature. If you dont send it on the close patch, it wont expire half way back.
|
Lol, as if i'd ever notice something like this.. I don't think this'll ever affect gameplay at my level 8)
Great catch though!
|
Honestly, inject larva is so strong that this is insignificant. Missing one larva 7% of the time doesn't matter especially when zergs don't always use their extra larva consistently from either resources or busy managing elsewhere. It may be like this by design to begin with. Whether it is changed or not won't make much of a difference.
On March 31 2012 04:55 gh0un wrote: Furthermore, the analogy is terrible anyways. Its a bug where in 10% of the inject cases, you lose 1 larva, which translates to a unit. It might be a drone, or an ultralisk, its just gone, you cant build it. So the analogy should be more along the lines of a battlecruiser suddenly not appearing out of the starport.
No, your analogy is terrible. The battlecruiser is paid for before coming out whereas the larva is something free and didn't cost money to make.
|
On March 31 2012 04:55 gh0un wrote:Show nested quote +On March 26 2012 10:14 CptCutter wrote:On March 25 2012 07:18 Orek wrote:On March 25 2012 07:00 ZeromuS wrote:If this is true, thats a cool find. I don't play Zerg so I don't know how the mechanic truly truly works in terms of a missing larva X but GJ for taking the time to put this together. Remove intro from the spoiler though or create a simple abstract so people know what they are getting into when they open up the thread ![](/mirror/smilies/smile.gif) Thank you for the advice. I just did. On March 25 2012 07:13 kcdc wrote: No. The hatchery doesn't do the auto-spawn in that situation because it's already at 3+ larvae. If the inject happens right before the auto-spawn and you don't spend the larvae to get the standing larvae under 3, then it will skip that auto-spawn. It's not a bug--hatcheries just don't spawn larvae when there are already 4 sitting there. I am very well aware of 3+ larvae situation. If you dont mind, please read on. I think I made it clear enough with enough evidence. Thank you. perhaps you should just build another hatchery? this bug you talk of will most likely happen once or twice per game max and will effect the gameplay very little. it is the same kind of 'bug' as mules mining 30 more minerals then dieing without being able to return them. its not game breaking unless the 2 players that are playing are literally perfect players. Its in no way shape or form the same kind of bug. If you drop a mule on the close patch, it will consistently lose 30 minerals on its way back, each and every time. If you constantly keep injecting your hatchery, you wont consistently lose a larva here and there, you might lose one every time, or you might not lose one the whole game. Furthermore, the analogy is terrible anyways. Its a bug where in 10% of the inject cases, you lose 1 larva, which translates to a unit. It might be a drone, or an ultralisk, its just gone, you cant build it. So the analogy should be more along the lines of a battlecruiser suddenly not appearing out of the starport. The larva problem is a definitive bug, while the mule issue is a feature. If you dont send it on the close patch, it wont expire half way back.
If you only drop mules on farther patches those will get mined faster tho, so when nearly mined out ur left with only close mineral patches which will result in oversaturation. while we are at it someone could test this also.
|
Since this bug is triggered by the inject larva from the queen, which uses energy, the closest analogy I can think of is if 1 out of 10 mules you drop, or 1 out of 10 chrono boosts are lost.
It is a big deal and need to be addressed.
|
|
|
|