• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:04
CEST 15:04
KST 22:04
  • 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
Serral wins EWC 202537Tournament Spotlight: FEL Cracow 202510Power Rank - Esports World Cup 202580RSL Season 1 - Final Week9[ASL19] Finals Recap: Standing Tall15
Community News
LiuLi Cup - August 2025 Tournaments3[BSL 2025] H2 - Team Wars, Weeklies & SB Ladder9EWC 2025 - Replay Pack4Google Play ASL (Season 20) Announced52BSL Team Wars - Bonyth, Dewalt, Hawk & Sziky teams10
StarCraft 2
General
Interview with Chris "ChanmanV" Chan The GOAT ranking of GOAT rankings Serral wins EWC 2025 Tournament Spotlight: FEL Cracow 2025 Classic: "It's a thick wall to break through to become world champ"
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament LiuLi Cup - August 2025 Tournaments Sea Duckling Open (Global, Bronze-Diamond) TaeJa vs Creator Bo7 SC Evo Showmatch FEL Cracov 2025 (July 27) - $10,000 live event
Strategy
Custom Maps
External Content
Mutation # 484 Magnetic Pull Mutation #239 Bad Weather Mutation # 483 Kill Bot Wars Mutation # 482 Wheel of Misfortune
Brood War
General
Nobody gona talk about this year crazy qualifiers? BW General Discussion Google Play ASL (Season 20) Announced Which top zerg/toss will fail in qualifiers? Scmdraft 2 - 0.9.0 Preview
Tourneys
[ASL20] Online Qualifiers Day 2 [ASL20] Online Qualifiers Day 1 [Megathread] Daily Proleagues Small VOD Thread 2.0
Strategy
[G] Mineral Boosting Muta micro map competition Does 1 second matter in StarCraft? Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Beyond All Reason Total Annihilation Server - TAForever [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
9/11 Anniversary Possible Al Qaeda Attack on 9/11 US Politics Mega-thread Things Aren’t Peaceful in Palestine European Politico-economics QA Mega-thread
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
Formula 1 Discussion 2024 - 2025 Football Thread TeamLiquid Health and Fitness Initiative For 2023
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
ASL S20 English Commentary…
namkraft
The Link Between Fitness and…
TrAiDoS
momentary artworks from des…
tankgirl
from making sc maps to makin…
Husyelt
StarCraft improvement
iopq
Socialism Anyone?
GreenHorizons
Customize Sidebar...

Website Feedback

Closed Threads



Active: 675 users

[DISCOVERY] 2x high templar feedback - older dies

Forum Index > SC2 General
Post a Reply
Normal
Yegwen
Profile Joined September 2011
Poland80 Posts
Last Edited: 2012-07-25 20:08:23
July 25 2012 20:07 GMT
#1
Hi guys, something quite interesting we have discovered today. We were running a polish version of Mythbusters show regarding Starcraft 2. And someone from the audience suggested to test two High Templars feedbacking themselves at the same time (queueed from a distance) - after a long while of testing and scratching our heads about a visible pattern we have found out that the one that has been produced earlier always dies (the older one).

Our viewers report this also works for other units - marines, zerglings, zealots...

Here is a english video of us reproducing the experiment:


Replay file:
http://drop.sc/227661
We don't grow old, we get old by not growing
zhurai
Profile Blog Joined September 2010
United States5660 Posts
Last Edited: 2012-07-25 20:12:30
July 25 2012 20:08 GMT
#2
[retracted]
Twitter: @zhurai | Site: http://zhurai.com
myroon
Profile Joined June 2012
Poland1 Post
July 25 2012 20:08 GMT
#3
I saw it live. I wonder how this knowledge will affect the game.
Great, good job guys.
"When your opponent attacks, defend. If he defends, expand. If he expands, attack." -Artosis-
catplanetcatplanet
Profile Blog Joined March 2012
3829 Posts
July 25 2012 20:08 GMT
#4
Hmm, interesting.
I think it's finally time to admit it might not be the year of Pet
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 20:09 GMT
#5
Wow, i thought it was random :O


you can link the video without the codes, just the link.
watchingn now.
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
Gorilla23
Profile Joined March 2012
United States339 Posts
Last Edited: 2012-07-25 20:10:06
July 25 2012 20:09 GMT
#6
On July 26 2012 05:08 zhurai wrote:
Show nested quote +
On July 26 2012 05:07 Yegwen wrote:
Hi guys, something quite interesting we have discovered today. We were running a polish version of Mythbusters show regarding Starcraft 2. And someone from the audience suggested to test two High Templars feedbacking themselves at the same time (queueed from a distance) - after a long while of testing and scratching our heads about a visible pattern we have found out that the one that has been produced earlier always dies (the older one).

Our viewers report this also works for other units - marines, zerglings, zealots...

Here is a english video of us reproducing the experiment:
<iframe width="420" height="315" src="http://www.youtube.com/embed/zvIo9ahpAvM" frameborder="0" allowfullscreen></iframe>


Replay file:
http://drop.sc/227661

... the older high templar has more energy because he's been around more.....

so?


I haven't watched the video, but I'm assuming both HTs had full energy at the time of this test.

EDIT: I now have, and my assumption was correct.
willoc
Profile Joined February 2011
Canada1530 Posts
Last Edited: 2012-07-25 20:11:58
July 25 2012 20:09 GMT
#7
Sweet find!

I was originally born in Poland and can still speak it fluently, would you be able to share a link to this Polish SC2 'Mythbusters' show?
Be bold and mighty forces will come to your aid!
Toastie.NL
Profile Joined July 2012
Netherlands232 Posts
July 25 2012 20:09 GMT
#8
So that is the explanation of the randomness? Works for scoutworkers too? This might be a breakthrough in scouting patterns!
EU Random Player - Contact me for anything :-)!
Tosster
Profile Joined August 2011
Poland299 Posts
July 25 2012 20:10 GMT
#9
I saw it live too, mindfucking o0
Mestru
Profile Joined July 2011
Poland10 Posts
July 25 2012 20:11 GMT
#10
On July 26 2012 05:09 willoc wrote:
Sweet find!

I was originally born in Poland and can still speak it fluently, would you be able to share a link to this Polish SC2 'Mythbusters' show?

Edit: You beat my request!


This will later appear on the same youtube channel as english version.
eNtitY~
Profile Joined January 2007
United States1293 Posts
July 25 2012 20:11 GMT
#11
This is pretty crazy, if it works on workers too hmm..
http://www.starcraftdream.com
LittLeD
Profile Joined May 2010
Sweden7973 Posts
July 25 2012 20:11 GMT
#12
Rather intriguing I must say. Good find.
☆Grubby ☆| Tod|DeMusliM|ThorZaiN|SaSe|Moon|Mana| ☆HerO ☆
Bomal
Profile Joined March 2012
Poland1 Post
July 25 2012 20:11 GMT
#13
gm wait for me if i know this ^^
Szuta
Profile Joined July 2012
Poland1 Post
July 25 2012 20:11 GMT
#14
I saw it! My dear creators from Yegalisk Show are the best! Good job!
JinDesu
Profile Blog Joined August 2010
United States3990 Posts
July 25 2012 20:11 GMT
#15
On July 26 2012 05:08 zhurai wrote:
Show nested quote +
On July 26 2012 05:07 Yegwen wrote:
Hi guys, something quite interesting we have discovered today. We were running a polish version of Mythbusters show regarding Starcraft 2. And someone from the audience suggested to test two High Templars feedbacking themselves at the same time (queueed from a distance) - after a long while of testing and scratching our heads about a visible pattern we have found out that the one that has been produced earlier always dies (the older one).

Our viewers report this also works for other units - marines, zerglings, zealots...

Here is a english video of us reproducing the experiment:
<iframe width="420" height="315" src="http://www.youtube.com/embed/zvIo9ahpAvM" frameborder="0" allowfullscreen></iframe>


Replay file:
http://drop.sc/227661

... the older high templar has more energy because he's been around more.....

so?


I take it you like to comment without watching the video?
Yargh
zhurai
Profile Blog Joined September 2010
United States5660 Posts
July 25 2012 20:12 GMT
#16
On July 26 2012 05:09 Gorilla23 wrote:
Show nested quote +
On July 26 2012 05:08 zhurai wrote:
On July 26 2012 05:07 Yegwen wrote:
Hi guys, something quite interesting we have discovered today. We were running a polish version of Mythbusters show regarding Starcraft 2. And someone from the audience suggested to test two High Templars feedbacking themselves at the same time (queueed from a distance) - after a long while of testing and scratching our heads about a visible pattern we have found out that the one that has been produced earlier always dies (the older one).

Our viewers report this also works for other units - marines, zerglings, zealots...

Here is a english video of us reproducing the experiment:
<iframe width="420" height="315" src="http://www.youtube.com/embed/zvIo9ahpAvM" frameborder="0" allowfullscreen></iframe>


Replay file:
http://drop.sc/227661

... the older high templar has more energy because he's been around more.....

so?


I haven't watched the video, but I'm assuming both HTs had full energy at the time of this test.

EDIT: I now have, and my assumption was correct.

Ah ok, then that's... interesting o___O huh...
Twitter: @zhurai | Site: http://zhurai.com
Yegwen
Profile Joined September 2011
Poland80 Posts
July 25 2012 20:12 GMT
#17
http://www.twitch.tv/yegwen We are live and testing this for all other units now if you are as intrigued as we are!
We don't grow old, we get old by not growing
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
Last Edited: 2012-07-25 20:22:48
July 25 2012 20:15 GMT
#18
If you want to investigate something else, can you discover if there is a pattern as to which of the starting workers would count as 'older'? It would be funny if it would become correct play to keep an eye on your 'oldest' worker and use that one to scout. After all, if you're playing a mirror and you're attack-moving your worker and your opponent isn't aware of this trick, you are ensured a worker kill if he engages you like this.
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
Fugson
Profile Joined July 2012
Poland1 Post
July 25 2012 20:16 GMT
#19
Nice job and forever young!
szopenos
Profile Joined July 2012
1 Post
July 25 2012 20:16 GMT
#20
Wow! Subscribe him:D He is pro:D

Ahh anyway:D Very good my padawan's
JinDesu
Profile Blog Joined August 2010
United States3990 Posts
July 25 2012 20:18 GMT
#21
On July 26 2012 05:15 Grumbels wrote:
If you want to investigate something else, can you discover if there is a pattern as to which of the starting workers would count as 'older'? It would be funny if it would become correct play to keep an eye on your 'oldest' worker and use that one to scout. After all, if you're playing a mirror and you're attack-moving your worker and your opponent isn't aware of this trick, you are ensured a worker kill if he engages you like this.


From what the OP is saying, I don't think you want your oldest one to go scout. You want your newest one.
Yargh
MyLastSerenade
Profile Joined February 2010
Germany710 Posts
July 25 2012 20:20 GMT
#22
wtf, thats quite a discovery!
would like to see a statment from blizz on that...
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
July 25 2012 20:24 GMT
#23
On July 26 2012 05:18 JinDesu wrote:
Show nested quote +
On July 26 2012 05:15 Grumbels wrote:
If you want to investigate something else, can you discover if there is a pattern as to which of the starting workers would count as 'older'? It would be funny if it would become correct play to keep an eye on your 'oldest' worker and use that one to scout. After all, if you're playing a mirror and you're attack-moving your worker and your opponent isn't aware of this trick, you are ensured a worker kill if he engages you like this.


From what the OP is saying, I don't think you want your oldest one to go scout. You want your newest one.

Sorry, I misread it as the oldest unit winning, because that makes more sense imo. Since I figured the game might have a list of units, add newly created units to the end of the list and then remove killed units from the list before they have a chance to fire themselves. (as feedback is instant, like tank volleys)
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
Mephyss
Profile Blog Joined December 2010
Brazil128 Posts
Last Edited: 2012-07-25 20:26:09
July 25 2012 20:24 GMT
#24
From a programmer pov its not that complicated. The game must work like this. Every unit created gets a unique ID. When the game loop is going over all units in a frame to check their actions. this unit loop its sorted by ID (Game case the list is reversed as in every new unit is inserted at the front the list)
herbie
Profile Blog Joined September 2011
140 Posts
July 25 2012 20:26 GMT
#25
New units are obviously first in the update cycle, so their commands are processed before older units. I would assume this affects all units where the interaction is extremely close. Really interesting.
SeraKuDA
Profile Joined November 2010
Canada343 Posts
July 25 2012 20:28 GMT
#26
I was reading this but the ad for Snorg Tees distracted me from my thoughts.
sLiMpoweR
Profile Joined March 2009
United States430 Posts
July 25 2012 20:28 GMT
#27
What if they are exactly the same age?
Team aMg
Omri
Profile Joined September 2011
Israel638 Posts
July 25 2012 20:29 GMT
#28
On July 26 2012 05:28 sLiMpoweR wrote:
What if they are exactly the same age?


The universe explodes?
Yegwen
Profile Joined September 2011
Poland80 Posts
July 25 2012 20:30 GMT
#29
And it DOES work for Ghosts vs High Templars! The younger one casts the spell faster!
We don't grow old, we get old by not growing
JinDesu
Profile Blog Joined August 2010
United States3990 Posts
July 25 2012 20:31 GMT
#30
On July 26 2012 05:28 sLiMpoweR wrote:
What if they are exactly the same age?


I don't think they can be - assuming the system uses some sort of ID for timestamp.
Yargh
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 20:32 GMT
#31
On July 26 2012 05:30 Yegwen wrote:
And it DOES work for Ghosts vs High Templars! The younger one casts the spell faster!


That's so strange because the ghost snipe has a bigger range ?!
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
July 25 2012 20:32 GMT
#32
In any case, an application for this is: if you warp in a high templar you know it can win any immediate feedback face-offs.
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
AcrossFiveJulys
Profile Blog Joined September 2005
United States3612 Posts
Last Edited: 2012-07-25 20:35:01
July 25 2012 20:33 GMT
#33
On July 26 2012 05:26 herbie wrote:
New units are obviously first in the update cycle, so their commands are processed before older units. I would assume this affects all units where the interaction is extremely close. Really interesting.


This analysis sounds about right to me. One way to fix this issue would be to randomize which unit commands are processed first. However, that might introduce performance issues... it's possible they have the order in which commands are processed streamlined in some way to optimize performance, so actually in reality it might be more complicated than just which unit is newer.


On July 26 2012 05:32 graNite wrote:
Show nested quote +
On July 26 2012 05:30 Yegwen wrote:
And it DOES work for Ghosts vs High Templars! The younger one casts the spell faster!


That's so strange because the ghost snipe has a bigger range ?!


Yes but there's a significant pause before the ghosts actually snipes during its animation while the feedback is near instant.
Ghoststrikes
Profile Joined February 2011
Canada1356 Posts
July 25 2012 20:34 GMT
#34
On July 26 2012 05:32 Grumbels wrote:
In any case, an application for this is: if you warp in a high templar you know it can win any immediate feedback face-offs.


Yeah like that happens often in PvPs....
Never say die
herbie
Profile Blog Joined September 2011
140 Posts
July 25 2012 20:35 GMT
#35
On July 26 2012 05:28 sLiMpoweR wrote:
What if they are exactly the same age?

All that matters is the order they are placed onto the collection in memory, they cannot be placed in the same index, therefore one will always be created before the other.
TitleRug
Profile Blog Joined May 2010
United States651 Posts
July 25 2012 20:36 GMT
#36
very interesting, i always thought it was random
coLCruncher fighting!
urashimakt
Profile Joined October 2009
United States1591 Posts
Last Edited: 2012-07-25 20:39:23
July 25 2012 20:36 GMT
#37
On July 26 2012 05:33 AcrossFiveJulys wrote:
Show nested quote +
On July 26 2012 05:26 herbie wrote:
New units are obviously first in the update cycle, so their commands are processed before older units. I would assume this affects all units where the interaction is extremely close. Really interesting.


This analysis sounds about right to me. One way to fix this issue would be to randomize which unit commands are processed first. However, that might introduce performance issues... it's possible they have the order in which commands are processed streamlined in some way to optimize performance, so actually in reality it might be more complicated than just which unit is newer.


Show nested quote +
On July 26 2012 05:32 graNite wrote:
On July 26 2012 05:30 Yegwen wrote:
And it DOES work for Ghosts vs High Templars! The younger one casts the spell faster!


That's so strange because the ghost snipe has a bigger range ?!


Yes but there's a significant pause before the ghosts actually snipes during its animation while the feedback is near instant.

The answer is the same as to how they mask this "problem" with attacks: add a random min/max delay to spellcasts.

On July 26 2012 05:36 bgx wrote:
on a more serious note im more interested in those marines, zerglings, workers....

Attacks have a min/max delay that minimizes (one might say it eliminates) the update order advantage.
Who dat ninja?
bgx
Profile Joined August 2010
Poland6595 Posts
July 25 2012 20:36 GMT
#38
On July 26 2012 05:34 Ghoststrikes wrote:
Show nested quote +
On July 26 2012 05:32 Grumbels wrote:
In any case, an application for this is: if you warp in a high templar you know it can win any immediate feedback face-offs.


Yeah like that happens often in PvPs....

thank god PvP never reached templar metagame otherwise we would have to scrap all the templar vs templar games :p

on a more serious note im more interested in those marines, zerglings, workers....
Stork[gm]
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 20:38 GMT
#39
i want to see feedback vs battlecruiser, because they have the same range
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
Spidinko
Profile Joined May 2010
Slovakia1174 Posts
July 25 2012 20:38 GMT
#40
Well then, I guess it's slightly better to save older unit than newer, if it's the only distinction ^^.

Fun fact, though I don't see it impacting the game much. Maybe it's better to go scouting with first worker, but besides that, idk.
herbie
Profile Blog Joined September 2011
140 Posts
July 25 2012 20:39 GMT
#41
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?
canikizu
Profile Joined September 2010
4860 Posts
Last Edited: 2012-07-25 20:39:53
July 25 2012 20:39 GMT
#42
I wonder if a scv is old enough, can he 1v2 other newest scvs?

urashimakt
Profile Joined October 2009
United States1591 Posts
Last Edited: 2012-07-25 20:41:50
July 25 2012 20:41 GMT
#43
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

Over a long period of testing, sure. A LONG period. Super long. This advantage is infinitesimal when the random min/max delay appended to attacks is considered.

On July 26 2012 05:39 canikizu wrote:
I wonder if a scv is old enough, can he 1v2 other newest scvs?


No. A newer SCV could very well lose to an older SCV 1v1 with no micro.
Who dat ninja?
Mestru
Profile Joined July 2011
Poland10 Posts
July 25 2012 20:42 GMT
#44
We checked that with Yegwen and it works only for abilities. Normal attack seems to be random.
Lorch
Profile Joined June 2011
Germany3683 Posts
July 25 2012 20:44 GMT
#45
Should be very useful once somebody figures out how to make storm based armies viable in pvp, or blizz removes colossi.
herbie
Profile Blog Joined September 2011
140 Posts
Last Edited: 2012-07-25 20:45:56
July 25 2012 20:44 GMT
#46
On July 26 2012 05:41 urashimakt wrote:
Show nested quote +
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

Over a long period of testing, sure. A LONG period. Super long. This advantage is infinitesimal when the random min/max delay appended to attacks is considered.

Oh yeah, I guess thats one of the big reasons to have attack delays lol. Without them newer units would probably have a bit of an advantage. When they both get into range they would start firing and always update on the same cycle.
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
July 25 2012 20:46 GMT
#47
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

It can only happen if two marines are attacking each other at exactly the same time, which won't happen with larger armies because of how you group up your marines is kind of random. Maybe it comes into play just for the first two marines that come into range of each other, but it won't make a real difference.

I don't think the comment about snipe that some people mentioned is correct by the way. I think in the case of snipe either the ghost or high templar will always win, because both have different range. (easy enough to test)
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 20:46 GMT
#48
I just did it with 2 medivacs from the same player. The newer one is always picking up earlier.

+ Show Spoiler +
just kidding



Battlecruiser yamato cannon vs feedback: feedback always wins because the yamato cannon is stopped while loading when the bc loses its energy.
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
Aunvilgod
Profile Joined December 2011
2653 Posts
July 25 2012 20:46 GMT
#49
If this applies to scouting workers too... (?) what about spawning workers?
ilovegroov | Blizzards mapmaker(s?) suck ass | #1 Protoss hater
Chronos.
Profile Joined February 2012
United States805 Posts
July 25 2012 20:51 GMT
#50
Great discovery guys, I'd love to watch your show if I could speak Polish.
urashimakt
Profile Joined October 2009
United States1591 Posts
Last Edited: 2012-07-25 20:57:42
July 25 2012 20:52 GMT
#51
On July 26 2012 05:46 Grumbels wrote:
Show nested quote +
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

It can only happen if two marines are attacking each other at exactly the same time, which won't happen with larger armies because of how you group up your marines is kind of random. Maybe it comes into play just for the first two marines that come into range of each other, but it won't make a real difference.

The advantage from the update order is in milliseconds at best. The randomized advantage all attacks gain upon execution is measured in centiseconds.

In essence, the update order only matters for abilities with 0 seconds between cast time and impact time. Effects with travel time or a delay between cast and impact and attacks are unaffected.

On July 26 2012 05:52 Grumbels wrote:
Show nested quote +
On July 26 2012 05:44 herbie wrote:
On July 26 2012 05:41 urashimakt wrote:
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

Over a long period of testing, sure. A LONG period. Super long. This advantage is infinitesimal when the random min/max delay appended to attacks is considered.

Oh yeah, I guess thats one of the big reasons to have attack delays lol. Without them newer units would probably have a bit of an advantage. When they both get into range they would start firing and always update on the same cycle.

You're wrong, I think. Most attacks are projectiles that take time to land. This means that all two units that attack each other at the exact same time, bar marines, tanks, snipe, feedback, infested terrans and immortals afaik - will also kill each other at the exact same time. What can happen is that a newly created marine fires at a colossus and will kill it just as the colossus was about to fire, however these moments are really random and require for the timings to match up exactly (which will rarely happen). This problem still exists even with random attack delays. (you're talking about a random delay before firing, right?)

Again, the advantage granted by this phenomenon is so small compared to the random attack delay that, if you were an SC2 Scientist working for SC2 NASA, you would omit it from your calculations as a margin of error.
Who dat ninja?
InfusedTT.DaZe
Profile Joined August 2010
Romania693 Posts
July 25 2012 20:52 GMT
#52
this is intersting but it should not happen, if the que is used i belive it should be draw every time
"Echoes of past events nudge the tiller on my present course, I await its reflection in the future"
Grumbels
Profile Blog Joined May 2009
Netherlands7031 Posts
July 25 2012 20:52 GMT
#53
On July 26 2012 05:44 herbie wrote:
Show nested quote +
On July 26 2012 05:41 urashimakt wrote:
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

Over a long period of testing, sure. A LONG period. Super long. This advantage is infinitesimal when the random min/max delay appended to attacks is considered.

Oh yeah, I guess thats one of the big reasons to have attack delays lol. Without them newer units would probably have a bit of an advantage. When they both get into range they would start firing and always update on the same cycle.

You're wrong, I think. Most attacks are projectiles that take time to land. This means that all two units that attack each other at the exact same time, bar marines, tanks, snipe, feedback, infested terrans and immortals afaik - will also kill each other at the exact same time. What can happen is that a newly created marine fires at a colossus and will kill it just as the colossus was about to fire, however these moments are really random and require for the timings to match up exactly (which will rarely happen). This problem still exists even with random attack delays. (you're talking about a random delay before firing, right?)
Well, now I tell you, I never seen good come o' goodness yet. Him as strikes first is my fancy; dead men don't bite; them's my views--amen, so be it.
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 20:53 GMT
#54
Guys, it only works with abilities. Not with scout workers, not with marines...
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
Zenbrez
Profile Joined June 2012
Canada5973 Posts
July 25 2012 20:54 GMT
#55
On July 26 2012 05:20 MyLastSerenade wrote:
wtf, thats quite a discovery!
would like to see a statment from blizz on that...

Why? Out of the two, one of them should die. Which one? Well they decided to put in a circumstance, time happened to be the one they chose.
Refer to my post.
Yegwen
Profile Joined September 2011
Poland80 Posts
July 25 2012 20:56 GMT
#56
if you do some testing with Ghost vs high templar and que up snipe vs feedback - we found than in scenarios where the HT could die from one snipe the younger unit always won. It's been a rather long day so we might have missed something so please enlight me if you think that is invalid.
We don't grow old, we get old by not growing
j4vz
Profile Joined March 2010
Canada976 Posts
Last Edited: 2012-07-25 20:58:54
July 25 2012 20:57 GMT
#57
On July 26 2012 05:46 Aunvilgod wrote:
If this applies to scouting workers too... (?) what about spawning workers?


and what about drones when you gas steal, and cancel, does it reset the age of the drone?

i think worker management will be important now, you dont want to send an old one and lose a 1v1 fight during a bunker rush or something

edit: oh its not working on regular attack
someone_elses_lies@live.fr
magnaflow
Profile Joined August 2011
Canada1521 Posts
July 25 2012 20:58 GMT
#58
Could it be because it has more energy pooled?
KirA_TheGreaT
Profile Joined April 2011
France204 Posts
July 25 2012 20:58 GMT
#59
Great discovery there, i'm curious to know what blizzard has to say about this because the randomization myth is now gone
Toastie.NL
Profile Joined July 2012
Netherlands232 Posts
July 25 2012 21:00 GMT
#60
2 Infestors nearaling ?
EU Random Player - Contact me for anything :-)!
windzor
Profile Joined October 2010
Denmark1013 Posts
July 25 2012 21:00 GMT
#61
On July 26 2012 05:15 Grumbels wrote:
If you want to investigate something else, can you discover if there is a pattern as to which of the starting workers would count as 'older'? It would be funny if it would become correct play to keep an eye on your 'oldest' worker and use that one to scout. After all, if you're playing a mirror and you're attack-moving your worker and your opponent isn't aware of this trick, you are ensured a worker kill if he engages you like this.


Wouldn't that be the reverse? you want the youngest worker to scout because it might have a higher chance of surviving, or am I understanding this wrongly?

Either way, this will only impact in like 0.1% of matches where both of you attack-move two workers into eachother and don't micro any of them. The likelyhood of this must so so low as to not interresting to do...
Yeah
graNite
Profile Blog Joined December 2010
Germany4434 Posts
July 25 2012 21:01 GMT
#62
On July 26 2012 05:58 magnaflow wrote:
Could it be because it has more energy pooled?


Just tested it, no. With the same, with more and with less energy the older templar always loses.
"Oink oink, bitches" - Tasteless on Pigbaby winning a map against Flash
urashimakt
Profile Joined October 2009
United States1591 Posts
July 25 2012 21:01 GMT
#63
On July 26 2012 05:57 j4vz wrote:
Show nested quote +
On July 26 2012 05:46 Aunvilgod wrote:
If this applies to scouting workers too... (?) what about spawning workers?


and what about drones when you gas steal, and cancel, does it reset the age of the drone?

Actually, if you're still interested on whether or not it resets the age of the drone I can tell you that it doesn't. The drone isn't removed from the stack until either the extractor completes or dies.
Who dat ninja?
NeMeSiS3
Profile Blog Joined February 2012
Canada2972 Posts
July 25 2012 21:01 GMT
#64
This is going to change the metagame! InbeforePvPimbalanced ^^ lol

This is cool though, probably one of the more interesting "mythbuster" type tests that has happened
FoTG fighting!
imre
Profile Blog Joined November 2011
France9263 Posts
July 25 2012 21:01 GMT
#65
On July 26 2012 05:58 magnaflow wrote:
Could it be because it has more energy pooled?


let's comment after reading the title ><
Zest fanboy.
Grobyc
Profile Blog Joined June 2008
Canada18410 Posts
July 25 2012 21:04 GMT
#66
That's pretty cool, never knew :o
If you watch Godzilla backwards it's about a benevolent lizard who helps rebuild a city and then moonwalks into the ocean.
Bloog
Profile Joined April 2011
United States44 Posts
July 25 2012 21:06 GMT
#67
Awesome work gents, this is pretty interesting.
Mrvoodoochild1
Profile Joined June 2011
United States1439 Posts
July 25 2012 21:10 GMT
#68
This definitely needs to be patched, a unit should be superior simply because it's "younger"
"let your freak flag fly"
Papulatus
Profile Joined July 2010
United States669 Posts
July 25 2012 21:10 GMT
#69
Would be cool if this video wasn't 30 minutes long.
4 Corners in a day.
Powster
Profile Joined April 2010
United States650 Posts
July 25 2012 21:12 GMT
#70
Survival of the fittest
Coal
Profile Joined July 2011
Sweden1535 Posts
July 25 2012 21:13 GMT
#71
So... this is Blizzards way of saying that the newer generations are f*cking kick ass?
In order to succeed, your desire for success should be greater than your fear of failure.
Mestru
Profile Joined July 2011
Poland10 Posts
July 25 2012 21:14 GMT
#72
On July 26 2012 06:10 Papulatus wrote:
Would be cool if this video wasn't 30 minutes long.


First 6 minutes of it should be enough to see what are we talking about.
Names
Profile Blog Joined December 2010
Canada328 Posts
July 25 2012 21:21 GMT
#73
Good job... always wondered what made one unit win. I thought the moving (attacking) unit always lost to the standing one.
mrtomjones
Profile Joined April 2011
Canada4020 Posts
July 25 2012 21:24 GMT
#74
Evolution! Younger one will live a longer life and spread the species so he lives!
robih
Profile Joined September 2010
Austria1086 Posts
July 25 2012 21:28 GMT
#75
On July 26 2012 06:10 Papulatus wrote:
Would be cool if this video wasn't 30 minutes long.


its 30mins cause they also tested it in an actual game not just unittest map
Charger
Profile Blog Joined September 2010
United States2405 Posts
July 25 2012 21:29 GMT
#76
Wow, very interesting discovery.
It's easy to be a Monday morning quarterback.
MaxFatality
Profile Joined November 2010
United States21 Posts
July 25 2012 21:32 GMT
#77
lol I was curious about this exact thing the other day. At least its a fixed thing (age of unit) instead of random. Good find!
XBOX360 - PGR3 - 2006 WSVG Pro Qualifier - 2007 WCG Pacific Finalist
Adrenal6land
Profile Blog Joined June 2012
United States46 Posts
July 25 2012 21:52 GMT
#78
i love this game so much. its very fitting that there is a story as to which high templar survives. i love that its not random. this game is so interesting on so many levels <3
i remember, every time a ling got into a fight at a watch tower id cross my fingers and now i know that the younger ling will always win, so i should send the last ling i produced to fight for the tower. just a little thing that will make me smile every time i take a tower and the other player is like.... hmmmmmm wha happen
Mestru
Profile Joined July 2011
Poland10 Posts
July 25 2012 21:53 GMT
#79
On July 26 2012 06:52 Adrenal6land wrote:
i love this game so much. its very fitting that there is a story as to which high templar survives. i love that its not random. this game is so interesting on so many levels <3
i remember, every time a ling got into a fight at a watch tower id cross my fingers and now i know that the younger ling will always win, so i should send the last ling i produced to fight for the tower. just a little thing that will make me smile every time i take a tower and the other player is like.... hmmmmmm wha happen


It doesn't works with normal attacks Only abilities
PauseBreak
Profile Blog Joined April 2011
United States270 Posts
July 25 2012 22:06 GMT
#80
This is actually a pretty huge find! So basically, you want to have a pretty good turn over of casters.
ZeromuS
Profile Blog Joined October 2010
Canada13389 Posts
July 25 2012 22:20 GMT
#81
I think the fact that this impacts Ghost v Templar might be a bigger issue.

O.O
StrategyRTS forever | @ZeromuS_plays | www.twitch.tv/Zeromus_
Vicarious_
Profile Joined December 2010
Brazil17 Posts
July 25 2012 22:24 GMT
#82
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!
Zenbrez
Profile Joined June 2012
Canada5973 Posts
July 25 2012 22:25 GMT
#83
On July 26 2012 07:06 PauseBreak wrote:
This is actually a pretty huge find! So basically, you want to have a pretty good turn over of casters.

It's not very often you have high templars battles in a pvp.
Refer to my post.
Mestru
Profile Joined July 2011
Poland10 Posts
Last Edited: 2012-07-25 22:30:03
July 25 2012 22:28 GMT
#84
On July 26 2012 07:25 Zenbrez wrote:
Show nested quote +
On July 26 2012 07:06 PauseBreak wrote:
This is actually a pretty huge find! So basically, you want to have a pretty good turn over of casters.

It's not very often you have high templars battles in a pvp.

But Ghosts vs High Templars are quite often in TvP. It affects them too
thurst0n
Profile Blog Joined December 2010
United States611 Posts
Last Edited: 2012-07-25 22:39:10
July 25 2012 22:37 GMT
#85
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?


P.S. I'm nub. If you'd like you can follow me @xthurst but its not worth it ill be honest
-Kyo-
Profile Blog Joined August 2010
Japan1926 Posts
Last Edited: 2012-07-25 22:52:08
July 25 2012 22:44 GMT
#86
nvm >.> don't want to retype my whole post gosh
Anime is cuter than you. Legacy of the Void GM Protoss Gameplay: twitch.tv/kyo7763 youtube.com/user/KyoStarcraft/
TL+ Member
discator
Profile Joined March 2011
Germany639 Posts
Last Edited: 2012-07-25 22:48:48
July 25 2012 22:47 GMT
#87
sick find guys! nice work, appreciate it.
;;
GodZo
Profile Joined November 2011
Italy224 Posts
July 25 2012 22:48 GMT
#88
so bad, the first that make ghost or templar win the battle? Oo
프로토스, Yellow, GdZ
Shinshady
Profile Blog Joined January 2009
Canada1237 Posts
July 25 2012 22:52 GMT
#89
On July 26 2012 06:00 Toastie.NL wrote:
2 Infestors nearaling ?

Since Infestor Neural Parasite is not instant and the "parasite" has some time before it actually reaches the target they end up tying and deadlocking where neither unit can be moved IIRC
BeSt[WHITE] Have a great retirement | "SKT is best KT." - Vortok | http://img214.imageshack.us/img214/7190/ep24hitcombo2small.gif
Al Bundy
Profile Joined April 2010
7257 Posts
July 25 2012 23:01 GMT
#90
On July 26 2012 07:37 thurst0n wrote:
Show nested quote +
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?


Please forgive my ignorance, but isn't it possible to spawn 2 units at the exact same time, using the galaxy editor?
o choro é livre
Mestru
Profile Joined July 2011
Poland10 Posts
July 25 2012 23:03 GMT
#91
On July 26 2012 08:01 Al Bundy wrote:
Show nested quote +
On July 26 2012 07:37 thurst0n wrote:
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?


Please forgive my ignorance, but isn't it possible to spawn 2 units at the exact same time, using the galaxy editor?

It's impossible. They will have unique id, and one of them will be "younger" one.
Al Bundy
Profile Joined April 2010
7257 Posts
July 25 2012 23:03 GMT
#92
On July 26 2012 08:03 Mestru wrote:
Show nested quote +
On July 26 2012 08:01 Al Bundy wrote:
On July 26 2012 07:37 thurst0n wrote:
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?


Please forgive my ignorance, but isn't it possible to spawn 2 units at the exact same time, using the galaxy editor?

It's impossible. They will have unique id, and one of them will be "younger" one.

Thanks
o choro é livre
jcroisdale
Profile Blog Joined October 2010
United States1543 Posts
July 25 2012 23:03 GMT
#93
wow didnt know so many people didnt know this, with other units besides spellcasters im 99% sure its who ever queues first.
"I think bringing a toddler to a movie theater is a terrible idea. They are too young to understand what is happening it would be like giving your toddler acid. Bad idea." - Sinensis
winthrop
Profile Blog Joined December 2010
Hong Kong956 Posts
July 25 2012 23:08 GMT
#94
watched the video, the winning side always uses ability later.
in warcraft3, there was a text. (chinese forum,,)
two heroes can be killed in one hit, who dead first?
instance, two 1-hp mountainking use thunder bolt to each other,.
conclusion is the one response first died first.
how it works?
train them again and check exp,,
Incredible Miracle
willoc
Profile Joined February 2011
Canada1530 Posts
July 25 2012 23:13 GMT
#95
On July 26 2012 08:01 Al Bundy wrote:
Show nested quote +
On July 26 2012 07:37 thurst0n wrote:
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?


Please forgive my ignorance, but isn't it possible to spawn 2 units at the exact same time, using the galaxy editor?


Sure! Give me a list of the 2 units at the same time (see what I did there?).
Be bold and mighty forces will come to your aid!
Dust14
Profile Joined March 2010
Belgium490 Posts
July 25 2012 23:13 GMT
#96
On July 26 2012 07:37 thurst0n wrote:
Show nested quote +
On July 26 2012 07:24 Vicarious_ wrote:
Please, someone make a map where both HTs are spawned at the same time and let's see what happens!

They wouldn't actually be spawned at the same TIME, they would each have to trigger and that can't happen simultaneously. It appears simultaneous to you because it's milliseconds...

That's SICK, So basically send your newest probe/scv/drone to defend the harassing probe/scv/drone. And also send your newest probe/scv/drone to scout as it has a better chance of winning the engage in an exact tie?

Any other applications?



Have you even read the previous comments, they already said it's only true for abilities and not normal attacks -_-
DataMiner
Profile Joined March 2011
United States104 Posts
July 25 2012 23:16 GMT
#97
Sorry but you probably won't have material for more than a few shows
ZenithM
Profile Joined February 2011
France15952 Posts
July 25 2012 23:18 GMT
#98
On July 26 2012 07:20 ZeromuS wrote:
I think the fact that this impacts Ghost v Templar might be a bigger issue.

O.O

It kinda isn't, EMP is a projectile and has more casting range than feedback as well as AoE. So basically you'll always manage to shoot the projectile.
Feedback is instant so in the time the EMP is traveling air, you can land the feedback if you're close enough to the ghost.

To sum it up, if the two casters cast at the same time, both can land and it's not really up to luck or production date for that matter.
This shit only affect instant spells/attacks with exactly the same range.
Rah
Profile Joined February 2010
United States973 Posts
Last Edited: 2012-07-25 23:40:46
July 25 2012 23:40 GMT
#99
This shouldn't be how the game works. =x
Streaming on twitch. http://www.twitch.tv/rahsun86
IshinShishi
Profile Joined April 2012
Japan6156 Posts
July 26 2012 00:10 GMT
#100
This explains why I lost all those TvPs, I get it now!
So... what that make you? Good? You're not good. You just know how to hide, how to lie
hpTheGreat
Profile Joined August 2010
United States173 Posts
July 26 2012 00:17 GMT
#101
On July 26 2012 05:11 eNtitY~ wrote:
This is pretty crazy, if it works on workers too hmm..


you just blew my mind
JacobShock
Profile Blog Joined April 2012
Denmark2485 Posts
July 26 2012 00:20 GMT
#102
On July 26 2012 07:28 Mestru wrote:
Show nested quote +
On July 26 2012 07:25 Zenbrez wrote:
On July 26 2012 07:06 PauseBreak wrote:
This is actually a pretty huge find! So basically, you want to have a pretty good turn over of casters.

It's not very often you have high templars battles in a pvp.

But Ghosts vs High Templars are quite often in TvP. It affects them too


Do ghost and templar have the same range?
"Right on" - Morrow
Mestru
Profile Joined July 2011
Poland10 Posts
July 26 2012 00:20 GMT
#103
On July 26 2012 09:20 JacobShock wrote:
Show nested quote +
On July 26 2012 07:28 Mestru wrote:
On July 26 2012 07:25 Zenbrez wrote:
On July 26 2012 07:06 PauseBreak wrote:
This is actually a pretty huge find! So basically, you want to have a pretty good turn over of casters.

It's not very often you have high templars battles in a pvp.

But Ghosts vs High Templars are quite often in TvP. It affects them too


Do ghost and templar have the same range?

No, but snipe takes additional time to prepare before shotting. It's timed properly.
NB
Profile Blog Joined February 2010
Netherlands12045 Posts
July 26 2012 00:20 GMT
#104
for a random thread like this there are quite a handsome first post in the front page. Mod definitely should check IP to make sure there is no smurfing involved.

About the topic: not only queue order is a given, there is also network environment to take in hand. If i send a command from US East to Korea sever, it will be much slower than a guy sending a same command from Korea itself. Given that we have a method to sync up our action, the data procession time will be different along with our computer specs etc... To much random element and the lack of LAN environment simply make the problem inconclusive. Pretty much /thread
Im daed. Follow me @TL_NB
Yoduh
Profile Joined August 2010
United States216 Posts
Last Edited: 2012-07-26 00:25:43
July 26 2012 00:25 GMT
#105
another case of facts getting mixed up with lies and people going crazy. can OP please add to the first post that this is for abilities only and not workers/normal attacks? just took me 5 minutes to load a sandbox and tested workers myself and its still random.
ZeromuS
Profile Blog Joined October 2010
Canada13389 Posts
July 26 2012 00:28 GMT
#106
On July 26 2012 08:18 ZenithM wrote:
Show nested quote +
On July 26 2012 07:20 ZeromuS wrote:
I think the fact that this impacts Ghost v Templar might be a bigger issue.

O.O

It kinda isn't, EMP is a projectile and has more casting range than feedback as well as AoE. So basically you'll always manage to shoot the projectile.
Feedback is instant so in the time the EMP is traveling air, you can land the feedback if you're close enough to the ghost.

To sum it up, if the two casters cast at the same time, both can land and it's not really up to luck or production date for that matter.
This shit only affect instant spells/attacks with exactly the same range.


No, actually, younger templar will feedback first if both units have a queued attack and then with no energy they dont get sniped

As it is, a single younger ghost will get one snipe off for sure on the templar in the case of snipe before they are hit by feedback.
StrategyRTS forever | @ZeromuS_plays | www.twitch.tv/Zeromus_
Infernal_dream
Profile Joined September 2011
United States2359 Posts
July 26 2012 00:28 GMT
#107
It doesn't work on workers/any other attacking unit because they have RANDOM ATTACK DELAY. If you don't believe me please open the map editor and look at stats. This was discussed in a thread before because someone "found out bc's have much lower dps than proposed." Even though it wasn't true. Every unit in the game has a random attack delay so that not everything fires at the same exact time. Hence "smart fire" tanks. Honestly both of the templars should die.
Ahli
Profile Joined May 2012
Germany355 Posts
Last Edited: 2012-07-26 01:08:25
July 26 2012 00:46 GMT
#108
On July 26 2012 07:48 GodZo wrote:
so bad, the first that make ghost or templar win the battle? Oo

I just made some tests with the editor.

There is a randomness in the ghost vs HT battle.

I tested ghost's snipe versus HT's feedback. Snipe has 1 range more, but a cast time of 0.5 seconds (= duration before spell effect (damage) is executed). So the mechanics behind the spells are different as snipe is no instant effect spell.
In HT vs HT the order of the units checked for their ingame ability execution is applied which has been proofed by the OP.
The OP's rule should/might be true for snipe vs snipe.


In my tests I used triggers to create and order the units.

First I gave both players full map vision, then I created one unit, waited, created the second unit, waited, ordered both to use the spells on each other.

My results are that it depends on the unit's distance when they get the order.
At first the ghost might always lose to the HT, but altering one factor changed the outcome.
If I moved the ghost's spawnpoint slightly more left or right, it started to damage the HT on some points which means snipe was successfully casted before the feedback killed the ghost. So the distance had a factor in the result of the battle.

-> Altering the spawning order had no effect on the result.

-> Ghost snipe vs HT feedback is kind of random as it depends on the distance.

BUT the distances in which one spell is executed before the other one might not be equally distributed (-> not 50%).
So you might end up with a result of 70 to 30% for one unit to win the battle. But maybe it's 60 to 40, maybe it's 90 to 10...
-> FURTHER testings are required!

I tested this in 1.4.4 with multi dependency. So all balance changes should have been applied.
In a short test in 1.5 the ghost never dealt damage to the HT, but I didn't alter the spawnpoints. I noticed that the distance could be a factor as the ghost dealt damage in my 1.4.4 test attempt (which contains the balance changes).


To make a good test for the distances I need an example of the area in which the ghost are and where the HTs are when they both receive their order to use their ability on each other.



TIME FOR A MASSIVE SCALE TEST with random distances:

In the new test I would create an area in which I would spawn the units on a random position within the area. Then I would order both to use their spell on each other. In the end I would try to run the test a lot of times on the map at once and test it over and over with random points. In the end we might have a good idea which unit has how big chances to win.

Since I want results now I just made a test map for that.

Settings:
- Every unit spawns in a random circular area.
- The area has a radius of 3.
- The distance between the center points of each area is 17.
- Ghost and Templar have each 50% chance to spawn first (random integer between 0 and 1).
- Fight is always approximated west vs east.
- West unit is always created first. (But west unit's type is random.)
- Both units receive their order at the same time.

Result:
[image loading]

Templar has a win chance of approx 56% versus ghost snipe in 1.4.4 in these test settings. But they might be flawed as both units spawn in circular areas.

It's possible to get some stable results for the templar win percentage within a short duration with my test map.

If you want me to alter the test or add some features for it to make it a useful tool for battle.net, just ask (PM me).


edit:
After setting the east unit's area to 0 (= always same spawnpoint), the templar's winrate was 53%.
Using a cicular area still might be a problem as the distance isn't evenly distributed.

next test:
Now I'm using points for both units. The west unit has a random x-offset. It is now created with a random distance of 12.0 - 17.0. The result is 53% as seen in the next screenshot.

[image loading]

=> Templar has a win chance of approx 53% versus ghost snipe in 1.4.4.


edit:
- Changing the random distance to 12.0 - 16.0 results in the same win chance for the HT.
- Changing the random distance to 12.0 - 15.0 results in the same win chance for the HT.

This was only a test with west vs east. Maybe it's different in north vs south or in north-west vs south-east.

~ Ahli
AhliSC2@Twitter - GameHeart Observer UI - "HomeStoryCup XX" extension mod fixes WCS GameHeart's small bugs, adds a lot of new features -
nanaoei
Profile Blog Joined May 2010
3358 Posts
July 26 2012 00:47 GMT
#109
between different kinds of caster units, all of their abilities have different ranges. would a newly spawned phoenix be able to move in and lift a HT before it could feedback?
for obvious reasons, no.

i don't see how this is any different than when you try to feedback (wth say an observer hovering over a terran's ghosts and you queue up some feedback uses) and end up getting sniped a couple times before it goes off.
snipe simply has a longer range than most abilities, including feedback.
unless you have some evidence (with this new discovery i mean) i really doubt that a fresh templar gets priority over a direct-snipe that has a longer spell-cast range.

how does this affect units attacking each other (at the same time) at all?
where do you even jump to that idea/conclusion ?
*@boesthius' FF7 nostalgia stream bomb* "we should work on a 'Final Progamer' fangame»whitera can be a protagonist---lastlie: "we save world and then defense it"
-Celestial-
Profile Joined September 2011
United Kingdom3867 Posts
July 26 2012 00:49 GMT
#110
In fairness to people saying about workers: it DOES still provide an advantage.

That advantage is infinitesimally small when compared with the comparatively huge effect of random attack delay but it IS there. It may only translate to winning an extra 1v1 worker vs worker battle once in every 10,000 times, or every 100,000 games or whatever, but it is still an advantage. Its just not a significant one.
"Protoss simultaneously feels unbeatably strong and unwinnably weak." - kcdc
Yoduh
Profile Joined August 2010
United States216 Posts
July 26 2012 00:57 GMT
#111
On July 26 2012 09:49 Lightspeaker wrote:
In fairness to people saying about workers: it DOES still provide an advantage.

That advantage is infinitesimally small when compared with the comparatively huge effect of random attack delay but it IS there. It may only translate to winning an extra 1v1 worker vs worker battle once in every 10,000 times, or every 100,000 games or whatever, but it is still an advantage. Its just not a significant one.


and how do you know this? as far as we know this is a mechanic only active in spell vs. spell calculations. normal attacks might just omit this completely. to say you know for sure you would have to prove it and run 10,000 1v1 worker battles and get some statistics going.
ZeromuS
Profile Blog Joined October 2010
Canada13389 Posts
July 26 2012 00:59 GMT
#112
On July 26 2012 09:49 Lightspeaker wrote:
In fairness to people saying about workers: it DOES still provide an advantage.

That advantage is infinitesimally small when compared with the comparatively huge effect of random attack delay but it IS there. It may only translate to winning an extra 1v1 worker vs worker battle once in every 10,000 times, or every 100,000 games or whatever, but it is still an advantage. Its just not a significant one.


Its only important in mirrors anyway since the way drones v probes v scvs works is impacted more by race than anything. Natural regen of Drones and higher HP of SCVs comes to mind.
StrategyRTS forever | @ZeromuS_plays | www.twitch.tv/Zeromus_
nanaoei
Profile Blog Joined May 2010
3358 Posts
July 26 2012 01:04 GMT
#113
all i know is that this affects high templar in fairly specific situation.

i'd love for there to be other finds but as is, the only thing proven is what's posted in the OP currently
*@boesthius' FF7 nostalgia stream bomb* "we should work on a 'Final Progamer' fangame»whitera can be a protagonist---lastlie: "we save world and then defense it"
dafunk
Profile Joined January 2009
France521 Posts
July 26 2012 01:06 GMT
#114
Veridis Quo
DMKraft
Profile Joined December 2010
476 Posts
Last Edited: 2012-07-26 01:18:48
July 26 2012 01:12 GMT
#115
Drone vs SCV is who gets the last hit first. Probe is the only one that always loses straight up (but always wins with a tiny bit of micro.)

Edit: I guess we all get slower as we get older.
QuantumChaos
Profile Joined November 2011
Canada37 Posts
July 26 2012 01:15 GMT
#116
Just tried it with SCVs, built 2 SCVs and fought them, the older one killed the younger one. Then took a new one I had built and put it against one of my original 6, and the older one died. In another test, the original SCV killed the new SCV.

http://drop.sc/227785 new SCV killed by original SCV
http://drop.sc/227786 First built SCV kills Second built SCV, then third built SCV kills original SCV.
Ahli
Profile Joined May 2012
Germany355 Posts
July 26 2012 01:38 GMT
#117
On July 26 2012 10:15 QuantumChaos wrote:
Just tried it with SCVs, built 2 SCVs and fought them, the older one killed the younger one. Then took a new one I had built and put it against one of my original 6, and the older one died. In another test, the original SCV killed the new SCV.

http://drop.sc/227785 new SCV killed by original SCV
http://drop.sc/227786 First built SCV kills Second built SCV, then third built SCV kills original SCV.

Weapons have random wait times as already mention a dozen of times.
It would require an automatic test map to test that.
AhliSC2@Twitter - GameHeart Observer UI - "HomeStoryCup XX" extension mod fixes WCS GameHeart's small bugs, adds a lot of new features -
ZenithM
Profile Joined February 2011
France15952 Posts
July 26 2012 01:42 GMT
#118
On July 26 2012 09:28 ZeromuS wrote:
Show nested quote +
On July 26 2012 08:18 ZenithM wrote:
On July 26 2012 07:20 ZeromuS wrote:
I think the fact that this impacts Ghost v Templar might be a bigger issue.

O.O

It kinda isn't, EMP is a projectile and has more casting range than feedback as well as AoE. So basically you'll always manage to shoot the projectile.
Feedback is instant so in the time the EMP is traveling air, you can land the feedback if you're close enough to the ghost.

To sum it up, if the two casters cast at the same time, both can land and it's not really up to luck or production date for that matter.
This shit only affect instant spells/attacks with exactly the same range.


No, actually, younger templar will feedback first if both units have a queued attack and then with no energy they dont get sniped

As it is, a single younger ghost will get one snipe off for sure on the templar in the case of snipe before they are hit by feedback.

Sorry I was talking about EMP vs Feedback and forgot about snipe, but apparently tests reveal that it's close to random so I wouldn't worry too much about that.
Fyrewolf
Profile Joined January 2010
United States1533 Posts
July 26 2012 01:52 GMT
#119
On July 26 2012 09:57 Yoduh wrote:
Show nested quote +
On July 26 2012 09:49 Lightspeaker wrote:
In fairness to people saying about workers: it DOES still provide an advantage.

That advantage is infinitesimally small when compared with the comparatively huge effect of random attack delay but it IS there. It may only translate to winning an extra 1v1 worker vs worker battle once in every 10,000 times, or every 100,000 games or whatever, but it is still an advantage. Its just not a significant one.


and how do you know this? as far as we know this is a mechanic only active in spell vs. spell calculations. normal attacks might just omit this completely. to say you know for sure you would have to prove it and run 10,000 1v1 worker battles and get some statistics going.


It's not a mechanic, it's just the effect of SC2 using in order processing for all actions that get executed. The younger unit ends up higher in the list of actions that the game processes, it doesn't do any actions at the same time, but in very quick successions of fractions of a second, which is also why SC2 can do smart pathing and smart firing.
"This is not Warcraft in space" "It's much more...... Sophisticated" "I KNOW IT'S NOT 3D!!!"
-Celestial-
Profile Joined September 2011
United Kingdom3867 Posts
Last Edited: 2012-07-26 01:57:26
July 26 2012 01:56 GMT
#120
On July 26 2012 09:57 Yoduh wrote:
Show nested quote +
On July 26 2012 09:49 Lightspeaker wrote:
In fairness to people saying about workers: it DOES still provide an advantage.

That advantage is infinitesimally small when compared with the comparatively huge effect of random attack delay but it IS there. It may only translate to winning an extra 1v1 worker vs worker battle once in every 10,000 times, or every 100,000 games or whatever, but it is still an advantage. Its just not a significant one.


and how do you know this? as far as we know this is a mechanic only active in spell vs. spell calculations. normal attacks might just omit this completely. to say you know for sure you would have to prove it and run 10,000 1v1 worker battles and get some statistics going.


Simple deduction, your proposal makes absolutely no sense as far as the actual running of the game goes.

To explain...the reason this spellcasting trick works is that the game has to resolve the actions of every single unit somehow. This spellcast test demonstrates how this is done - chronologically, with the youngest given priority. What that action actually IS is irrelevant. You cannot OMIT this because its something that has to be done.

Simply put: the game needs instructions for how to resolve the actions of all of the units. This test demonstrates that it does this in chronological reverse order. Unless for some insane reason they've coded different actions to be resolved in different ways which would be more complex and slow the game down.


Edit: Fyrewolf summarised it rather nicely above.
"Protoss simultaneously feels unbeatably strong and unwinnably weak." - kcdc
dNa
Profile Blog Joined December 2010
Germany591 Posts
July 26 2012 02:03 GMT
#121
that makes so much more sense...

i realized at one point while playing arround on the unit test map with thor vs thor 250mm strike cannon duels, the left thor nearly always lost... but as i didn't think of them as older/younger but as left/right, i thought that wasn't really worth pursuing.. thanks for actually clearing that up lol.
"a pitchfork is for hay. a trident is for killing bitches." -djwheat
lost_artz
Profile Joined January 2012
United States366 Posts
July 26 2012 06:44 GMT
#122
So..has anyone tried this with siege tanks yet?
lazyitachi
Profile Blog Joined December 2011
1043 Posts
July 26 2012 07:25 GMT
#123
Another thread derailing into know nothings discussing everything.

The op also seem to not know how to do proper hypothesis testing.

not sure what is with all the randoming since the tests will bee much more conclusive without random.
Also it is not possible to issue the command to both units at the same time.

Tl at its best. Lol.
RaiKageRyu
Profile Joined August 2009
Canada4773 Posts
July 26 2012 07:29 GMT
#124
Nice find.
Someone call down the Thunder?
dani`
Profile Joined January 2011
Netherlands2402 Posts
July 26 2012 07:38 GMT
#125
On July 26 2012 16:25 lazyitachi wrote:
Another thread derailing into know nothings discussing everything.

The op also seem to not know how to do proper hypothesis testing.

not sure what is with all the randoming since the tests will bee much more conclusive without random.
Also it is not possible to issue the command to both units at the same time.

Tl at its best. Lol.

Instead of only criticizing people who have put some effort in their investigation - even though you think it's flawed - you might want to enlighten us with your knowledge of how to do it better.

You have a point regarding which units casts Feedback first. I have to admit at points in their video I thought the one who died was always the one who issued the command last. They seemed to have a certain pattern in their tests such that whichever HT they thought would win would always begin with casting the spell. However, I also ran some test myself and this does not seem to matter.

I think the tests are fairly conclusive, but should probably be ran automatically a couple thousand times to show that the newer one indeed wins 100% of the time.
Chantastic
Profile Joined June 2012
86 Posts
July 26 2012 07:41 GMT
#126
On July 26 2012 15:44 lost_artz wrote:
So..has anyone tried this with siege tanks yet?


I doubt there is any real effect with siege tanks.

When sieged, whoever sieges first will get the first, and thus last, shot in. Because you can't move when sieged, there isn't an issue where you'll run into each other and start attacking at the same time.
Nekovivie
Profile Joined October 2011
United Kingdom2599 Posts
July 26 2012 07:46 GMT
#127
I can't even remember the last time I saw HT's feedbacking HT's before today.. so I doubt the implications of this will be groundbreaking.
If you are not supporting K-Pop you are hurting E-Sports.
Infernal_dream
Profile Joined September 2011
United States2359 Posts
July 26 2012 07:50 GMT
#128
On July 26 2012 16:46 Nekovivie wrote:
I can't even remember the last time I saw HT's feedbacking HT's before today.. so I doubt the implications of this will be groundbreaking.


Mostly because storm sucks against protoss due to the mass hp of the units anyways. And that you rely on a lot of melee vs. melee so you'd storm the shit out of your own stuff as well.
Ryuu314
Profile Joined October 2009
United States12679 Posts
July 26 2012 07:54 GMT
#129
Barney was right...Newer is always better. :O
AlanSmithee
Profile Joined May 2012
39 Posts
July 26 2012 08:06 GMT
#130
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!
Sandermatt
Profile Joined December 2010
Switzerland1365 Posts
July 26 2012 08:10 GMT
#131
On July 26 2012 16:50 Infernal_dream wrote:
Show nested quote +
On July 26 2012 16:46 Nekovivie wrote:
I can't even remember the last time I saw HT's feedbacking HT's before today.. so I doubt the implications of this will be groundbreaking.


Mostly because storm sucks against protoss due to the mass hp of the units anyways. And that you rely on a lot of melee vs. melee so you'd storm the shit out of your own stuff as well.


I think I have seen PvP storms, in a Kespa vs GSL showmatch. I think Ace stromed to Kespa player whos name I forgot (From WJ).
Sandermatt
Profile Joined December 2010
Switzerland1365 Posts
July 26 2012 08:12 GMT
#132
On July 26 2012 16:41 Chantastic wrote:
Show nested quote +
On July 26 2012 15:44 lost_artz wrote:
So..has anyone tried this with siege tanks yet?


I doubt there is any real effect with siege tanks.

When sieged, whoever sieges first will get the first, and thus last, shot in. Because you can't move when sieged, there isn't an issue where you'll run into each other and start attacking at the same time.


It might be important for workers that approach each other with an attack command. The one who gets the first hit of wins.
scypio
Profile Joined December 2011
Poland2127 Posts
July 26 2012 08:16 GMT
#133
On July 26 2012 09:20 NB wrote:
for a random thread like this there are quite a handsome first post in the front page. Mod definitely should check IP to make sure there is no smurfing involved.


Sigh... Yegwen did his testing on stream with ~250 people watching. Once he was done he said that he's going to write on TL about it and perhaps some of the viewers could share their thoughts on TL too.

And that's the whole conspiracy.
I play random | I like Hots | INnoVation | sOs | Tefel TOP1!
WindWolf
Profile Blog Joined July 2012
Sweden11767 Posts
July 26 2012 08:33 GMT
#134
Interesting find, this could've impact on how the game. Yes it's a detail, but every little detail matter.

Also, Yegwen, have you done some English casts, or do you have any plans to?
EZ4ENCE
kochanfe
Profile Joined July 2011
Micronesia1338 Posts
July 26 2012 08:47 GMT
#135
Well this is truly a monumental discovery!
yeh know, because HTs are so common in PvP...
"The flame that burns twice as bright burns half as long." - Lao Tzu
Roxor9999
Profile Joined December 2011
Netherlands771 Posts
July 26 2012 08:54 GMT
#136
On July 26 2012 17:12 Sandermatt wrote:
Show nested quote +
On July 26 2012 16:41 Chantastic wrote:
On July 26 2012 15:44 lost_artz wrote:
So..has anyone tried this with siege tanks yet?


I doubt there is any real effect with siege tanks.

When sieged, whoever sieges first will get the first, and thus last, shot in. Because you can't move when sieged, there isn't an issue where you'll run into each other and start attacking at the same time.


It might be important for workers that approach each other with an attack command. The one who gets the first hit of wins.

Random attack delay, will make sure that doesn't happen also that has been said about 15 times before.
Big J
Profile Joined March 2011
Austria16289 Posts
July 26 2012 08:55 GMT
#137
Ah, now I get why I'm always losing mirrormatches... Because my macro is too good!
JyB
Profile Joined January 2012
France466 Posts
July 26 2012 09:00 GMT
#138
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!



I think you nailed it. Since those attacks are instantaneous it might just launch it and process the damage right away and not look at the rest of the stack.

I d love to see their code too !
ThePlayer33
Profile Joined October 2011
Australia2378 Posts
July 26 2012 09:04 GMT
#139
so does this work with melee units or not
| Idra | YuGiOh | Leenock | Coca |
Roxor9999
Profile Joined December 2011
Netherlands771 Posts
July 26 2012 09:11 GMT
#140
On July 26 2012 18:04 ThePlayer33 wrote:
so does this work with melee units or not

If you would have read the thread you would've known the answer, no.
The Touch
Profile Joined September 2010
United Kingdom667 Posts
July 26 2012 09:24 GMT
#141
1, 2, 3, 4, 5, 6, and 7.

7 High Templar, a-ha-ha
You Got The Touch
AcrosstheSky
Profile Joined January 2011
United States237 Posts
Last Edited: 2012-07-26 09:47:42
July 26 2012 09:43 GMT
#142
Is it which one is produced first or which one has less energy on it?

Very nice job!
Thylacine
Profile Joined August 2011
Sweden882 Posts
July 26 2012 09:56 GMT
#143
Mysterious..
What you're looking at could be the end of a particularly terrifying nightmare. It isn't. It's the beginning. Introducing Mr. John Valentine, air traveler. His destination: the Twilight Zone...
ThePlayer33
Profile Joined October 2011
Australia2378 Posts
July 26 2012 09:59 GMT
#144
On July 26 2012 18:11 Roxor9999 wrote:
Show nested quote +
On July 26 2012 18:04 ThePlayer33 wrote:
so does this work with melee units or not

If you would have read the thread you would've known the answer, no.

the op says yes, i read the thread tyvm
| Idra | YuGiOh | Leenock | Coca |
pms
Profile Joined April 2008
Poland611 Posts
July 26 2012 10:02 GMT
#145
It's quite obvious from programming perspective: there is a loop in the code which checks damage dealt and units deaths. Apparently this loops iterates over units in the sequence of their creation (which is just a normal way of doing it, but maybe in sc2 some other solution should be applied, since it makes a difference in the game...).
scsnow
Profile Joined April 2010
Slovenia515 Posts
July 26 2012 10:11 GMT
#146
The older one is more experienced, of course he wins!
Pandemona *
Profile Blog Joined March 2011
Charlie Sheens House51484 Posts
July 26 2012 10:13 GMT
#147
Polish SC2 Mythbusters, well i'll be XD good job keep it up
ModeratorTeam Liquid Football Thread Guru! - Chelsea FC ♥
Yegwen
Profile Joined September 2011
Poland80 Posts
July 26 2012 10:25 GMT
#148
Well answering the questions regarding who we are and what we do - I run a regular polish starcraft 2 television on twitch.tv with a schedule we keep and all. Mythbusters is our new show - and we didn't expect the first episode to end with this interesting discovery.

Polish scene is quite alive and active, great place to be. As of myself - I am torn between the awesomness of english and polish scene. For now majority of shows are in polish, but we did for example provide an english commentary to an ESL tournament, and apparently did good enough to do more of it in near future.
We don't grow old, we get old by not growing
dani`
Profile Joined January 2011
Netherlands2402 Posts
July 26 2012 10:33 GMT
#149
On July 26 2012 19:11 scsnow wrote:
The older one is more experienced, of course he wins!

Sound reasonable, but the older one loses
urashimakt
Profile Joined October 2009
United States1591 Posts
Last Edited: 2012-07-26 10:42:36
July 26 2012 10:38 GMT
#150
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.
Who dat ninja?
Bagi
Profile Joined August 2010
Germany6799 Posts
July 26 2012 10:48 GMT
#151
On July 26 2012 19:11 scsnow wrote:
The older one is more experienced, of course he wins!

Nope he's tired from all the fighting, so he loses.
AlanSmithee
Profile Joined May 2012
39 Posts
Last Edited: 2012-07-26 11:36:50
July 26 2012 11:21 GMT
#152
On July 26 2012 19:38 urashimakt wrote:
Show nested quote +
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.

*EDIT 2* Delay fields are a solution if that is the behaviour you want. I do not think it is vise to ompare auto-cast abilitys (like bullets) to active ability's like feedback. Adding a random delay could have a negative effect as it would take away from the skill of the player. Again if the delay is very small this might not matter, would have to be tested to know.
InPlainSight
Profile Joined January 2009
New Zealand40 Posts
July 26 2012 11:42 GMT
#153
On July 26 2012 20:21 AlanSmithee wrote:
Show nested quote +
On July 26 2012 19:38 urashimakt wrote:
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.


From the fact that the last unit created is iterated first I assumed that the data structure was a linked list. Addressing why this progression would be used
agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp


instead of the other would likely be due to caching as putting the same unit in the cache 3 times is much slower than once and performing many operations on it. Additionally the game engine doesn't like simultaneous attacks which in spite of the random variation in attack speed would still occur if every unit had it's attack processed in a separate loop to deaths being processed.
AlanSmithee
Profile Joined May 2012
39 Posts
July 26 2012 11:52 GMT
#154
On July 26 2012 20:42 InPlainSight wrote:
Show nested quote +
On July 26 2012 20:21 AlanSmithee wrote:
On July 26 2012 19:38 urashimakt wrote:
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.


From the fact that the last unit created is iterated first I assumed that the data structure was a linked list. Addressing why this progression would be used
Show nested quote +
agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp


instead of the other would likely be due to caching as putting the same unit in the cache 3 times is much slower than once and performing many operations on it. Additionally the game engine doesn't like simultaneous attacks which in spite of the random variation in attack speed would still occur if every unit had it's attack processed in a separate loop to deaths being processed.


Might be a linked list, might not, I am fairly sure it is not a stak though.
I don't see why they would use a linked list though since it doesn't support random access.

Hmm you really think they would cache that during the loops? using good OO design, they should be able to access these agents in any point of the execution/loop, why would they cache it?

Also, what about the game engine does not "like" simultaneous attacks? I have no knowledge of the engine blizzard built for this game, please enlgihten me.

Just to avoid any confusion i am not talking about multi-threaded loops, just standard game-loop logic as in
ab
ab
ab
as oposed to
aaa
bbb

Thanks in advance.
InPlainSight
Profile Joined January 2009
New Zealand40 Posts
July 26 2012 12:03 GMT
#155
On July 26 2012 20:52 AlanSmithee wrote:
Show nested quote +
On July 26 2012 20:42 InPlainSight wrote:
On July 26 2012 20:21 AlanSmithee wrote:
On July 26 2012 19:38 urashimakt wrote:
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.


From the fact that the last unit created is iterated first I assumed that the data structure was a linked list. Addressing why this progression would be used
agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp


instead of the other would likely be due to caching as putting the same unit in the cache 3 times is much slower than once and performing many operations on it. Additionally the game engine doesn't like simultaneous attacks which in spite of the random variation in attack speed would still occur if every unit had it's attack processed in a separate loop to deaths being processed.


Might be a linked list, might not, I am fairly sure it is not a stak though.
I don't see why they would use a linked list though since it doesn't support random access.

Hmm you really think they would cache that during the loops? using good OO design, they should be able to access these agents in any point of the execution/loop, why would they cache it?

Also, what about the game engine does not "like" simultaneous attacks? I have no knowledge of the engine blizzard built for this game, please enlgihten me.

Just to avoid any confusion i am not talking about multi-threaded loops, just standard game-loop logic as in
ab
ab
ab
as oposed to
aaa
bbb

Thanks in advance.


Th reason I thought it would be linked list is that out of the different structures which would be iterated from newest element to oldest a linked list with insertation at the head makes the most sense. I always assumed that a basic array would do as that allows random access and can easily remove units however in blizzards engine where units seem to die part way through a game state and not at the end as is shown by units not being overkilled by instantaneos attacks a linked list actually makes sense as removing an element from a linked list is easy to do even mid iteration whereas removing units from an array whilst being iterated ends up being messy.

I assume units are held in several datastructures but the linked list is the one iterated each turn. They will probably be in some kind of geohash as well as maybe some tree structures for help with target finding and collision detection.

In terms of the caching what I mean is processor level caching, the processor caching a unit to L1 and performing many operations is much faster than caching the thing once, caching another item and then coming back to that one after iterating all other units in the game. I'm no expert on caching so I could be very wrong here but that's an explaination I came up with.

In terms of not liking simutaneos attacks I simply mean that instant attacking units seem unable to kill one another. Any melee unit, marine or seige tank (and there are probably others) are incapable of killing each other. If units all have there attacks processed they would often kill each other even accounting for the random variation. I don't know why blizzard decided this was for the best but since they decided to do it this was processing all of a units actions at a time seems logical and would also remove some redundant processes for units which just end up dying at the end of the loop anyways.

AlanSmithee
Profile Joined May 2012
39 Posts
Last Edited: 2012-07-26 12:09:03
July 26 2012 12:08 GMT
#156
On July 26 2012 21:03 InPlainSight wrote:
Show nested quote +
On July 26 2012 20:52 AlanSmithee wrote:
On July 26 2012 20:42 InPlainSight wrote:
On July 26 2012 20:21 AlanSmithee wrote:
On July 26 2012 19:38 urashimakt wrote:
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.


From the fact that the last unit created is iterated first I assumed that the data structure was a linked list. Addressing why this progression would be used
agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp


instead of the other would likely be due to caching as putting the same unit in the cache 3 times is much slower than once and performing many operations on it. Additionally the game engine doesn't like simultaneous attacks which in spite of the random variation in attack speed would still occur if every unit had it's attack processed in a separate loop to deaths being processed.


Might be a linked list, might not, I am fairly sure it is not a stak though.
I don't see why they would use a linked list though since it doesn't support random access.

Hmm you really think they would cache that during the loops? using good OO design, they should be able to access these agents in any point of the execution/loop, why would they cache it?

Also, what about the game engine does not "like" simultaneous attacks? I have no knowledge of the engine blizzard built for this game, please enlgihten me.

Just to avoid any confusion i am not talking about multi-threaded loops, just standard game-loop logic as in
ab
ab
ab
as oposed to
aaa
bbb

Thanks in advance.


Th reason I thought it would be linked list is that out of the different structures which would be iterated from newest element to oldest a linked list with insertation at the head makes the most sense. I always assumed that a basic array would do as that allows random access and can easily remove units however in blizzards engine where units seem to die part way through a game state and not at the end as is shown by units not being overkilled by instantaneos attacks a linked list actually makes sense as removing an element from a linked list is easy to do even mid iteration whereas removing units from an array whilst being iterated ends up being messy.

I assume units are held in several datastructures but the linked list is the one iterated each turn. They will probably be in some kind of geohash as well as maybe some tree structures for help with target finding and collision detection.

In terms of the caching what I mean is processor level caching, the processor caching a unit to L1 and performing many operations is much faster than caching the thing once, caching another item and then coming back to that one after iterating all other units in the game. I'm no expert on caching so I could be very wrong here but that's an explaination I came up with.

In terms of not liking simutaneos attacks I simply mean that instant attacking units seem unable to kill one another. Any melee unit, marine or seige tank (and there are probably others) are incapable of killing each other. If units all have there attacks processed they would often kill each other even accounting for the random variation. I don't know why blizzard decided this was for the best but since they decided to do it this was processing all of a units actions at a time seems logical and would also remove some redundant processes for units which just end up dying at the end of the loop anyways.




All your points makes sense, except maybe the processor level caching (just seems to me it would caus a lot of overhead, but I am in no way good at low level optimization so dont take my word for it)

Thanks for your answers.
InPlainSight
Profile Joined January 2009
New Zealand40 Posts
July 26 2012 12:17 GMT
#157
On July 26 2012 21:08 AlanSmithee wrote:
Show nested quote +
On July 26 2012 21:03 InPlainSight wrote:
On July 26 2012 20:52 AlanSmithee wrote:
On July 26 2012 20:42 InPlainSight wrote:
On July 26 2012 20:21 AlanSmithee wrote:
On July 26 2012 19:38 urashimakt wrote:
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Uhm.. randomizing insertion? mixing at intervals? Why on earth would you do that? Anyone with the slightest knowledge of databasemanagement or register handling would know that is a bad idea for many reasons.

However, would you profile this game I am 99% sure there would be no bottleneck or any risk of a bottleneck in this part of the logic. Potential risk in the logics department might be pathfnding but they've managed that nicely and other then that the heavy workload is on the graphics-side and network side of things.

About "choosing another abritrary insertion index", there is no need for that, using any template-based container that support binary search trees, finding agents is done with very few iterations, no mather the method of insertion. Again tehre is no heavy workload in this.

*EDIT* Ok, im tired, the method of insertion does matter since the agents would have to be ordered to be able to do a binary search, hoever this is easily and efficiently done using recursion, so my claims are still valid.

And also i just pulled the word stack out of my *** since it was the first that popped to mind, there is ofcourse no way they would even consider use a stack for this as they need to be able to access elements from within the container and not only the last inserted. They are probably using and normal dynamic array (read vector) or container with mapped values (read map) I wouldnt know if i cant see the code first.

Again, they must have an active reason for having it this way, which i can't think of. I dont think your sTatements are accurate though.


From the fact that the last unit created is iterated first I assumed that the data structure was a linked list. Addressing why this progression would be used
agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp


instead of the other would likely be due to caching as putting the same unit in the cache 3 times is much slower than once and performing many operations on it. Additionally the game engine doesn't like simultaneous attacks which in spite of the random variation in attack speed would still occur if every unit had it's attack processed in a separate loop to deaths being processed.


Might be a linked list, might not, I am fairly sure it is not a stak though.
I don't see why they would use a linked list though since it doesn't support random access.

Hmm you really think they would cache that during the loops? using good OO design, they should be able to access these agents in any point of the execution/loop, why would they cache it?

Also, what about the game engine does not "like" simultaneous attacks? I have no knowledge of the engine blizzard built for this game, please enlgihten me.

Just to avoid any confusion i am not talking about multi-threaded loops, just standard game-loop logic as in
ab
ab
ab
as oposed to
aaa
bbb

Thanks in advance.


Th reason I thought it would be linked list is that out of the different structures which would be iterated from newest element to oldest a linked list with insertation at the head makes the most sense. I always assumed that a basic array would do as that allows random access and can easily remove units however in blizzards engine where units seem to die part way through a game state and not at the end as is shown by units not being overkilled by instantaneos attacks a linked list actually makes sense as removing an element from a linked list is easy to do even mid iteration whereas removing units from an array whilst being iterated ends up being messy.

I assume units are held in several datastructures but the linked list is the one iterated each turn. They will probably be in some kind of geohash as well as maybe some tree structures for help with target finding and collision detection.

In terms of the caching what I mean is processor level caching, the processor caching a unit to L1 and performing many operations is much faster than caching the thing once, caching another item and then coming back to that one after iterating all other units in the game. I'm no expert on caching so I could be very wrong here but that's an explaination I came up with.

In terms of not liking simutaneos attacks I simply mean that instant attacking units seem unable to kill one another. Any melee unit, marine or seige tank (and there are probably others) are incapable of killing each other. If units all have there attacks processed they would often kill each other even accounting for the random variation. I don't know why blizzard decided this was for the best but since they decided to do it this was processing all of a units actions at a time seems logical and would also remove some redundant processes for units which just end up dying at the end of the loop anyways.




All your points makes sense, except maybe the processor level caching (just seems to me it would caus a lot of overhead, but I am in no way good at low level optimization so dont take my word for it)

Thanks for your answers.


This type of caching happens automatically. Basically when the cpu makes a call to ram the L1, L2 caches etc may choose to emulate part of the ram dramatically increasing access times for subsequent calls to the same block of memory. Bascially if we are using the same bits of data sequentially we are likely to get a performance boost rather than loading fresh memory every time for multiple uses.
Novalisk
Profile Blog Joined February 2011
Israel1818 Posts
July 26 2012 12:23 GMT
#158
On July 26 2012 05:41 urashimakt wrote:
Show nested quote +
On July 26 2012 05:39 herbie wrote:
It does make me wonder, if you created a newer army of 10 marines and an older army of 10 marines, would the newer army win slightly more often because it is updated first?

Over a long period of testing, sure. A LONG period. Super long. This advantage is infinitesimal when the random min/max delay appended to attacks is considered.



This needs to be tested.

If one marine survives a marine duel, it'll be firing on other marines for a while which can end up causing the other marines to survive and so on, leading to a landslide victory.

If two armies of marines a-move into each other in a perfect line, then the younger army should in theory always win due to the landslide effect. Even if the formations aren't perfect, I wouldn't be surprised if the younger army wins a majority of the fights.
/commercial
CamoPillbox
Profile Joined April 2012
Czech Republic229 Posts
Last Edited: 2012-07-26 13:00:28
July 26 2012 12:55 GMT
#159
i only wonder if it working on SC1 too..... i tested on zealot ling and marine works 100% same as with feedback ht.
Czech Terran(Hots) player
HeavOnEarth
Profile Blog Joined March 2008
United States7087 Posts
July 26 2012 13:01 GMT
#160
applies to larva selection iirc
"come korea next time... FXO house... 10 korean, 10 korean"
mostevil
Profile Joined February 2011
United Kingdom611 Posts
July 26 2012 13:07 GMT
#161
On July 26 2012 19:38 urashimakt wrote:
Show nested quote +
On July 26 2012 17:06 AlanSmithee wrote:
This finding is very wierd to me.

It's fundamental in game programmnig that all agents are handled with the same priorety each loop.
for example:

agent a cast spell
agent b cast spell

agent a collision detection
agent b collision detection

agent a loose hp
agent b loose hp

By your results the loop would look like

agent a cast spell
agent a collision detection
agent a loose hp

agent b cast spell
agent b collision detection
agent b loose hp

and that would be a very fundamental flaw in the code design.

I doubt it is actually a bug, it must be an active desicion of blizzards part to have it work this way.
I wonder why though, it makes very little sense to me.

And why would they sort their priority-queue baed on how it was added.. Like they are using a stack or something... Efficient but not very dynamic for this kind of a game.. Would love to see their code.

Nice find!

Stacks are pretty good and efficiency is super important in a game where you might have over 1000 actionable entities in a single 1v1 match. Blizzard already has the solution to this issue and it's not reworking the foundation, choosing another abritrary insertion index (or worse yet, randomizing insertion or remixing at intervals).

The solution is to add the same random delay fields to abilities that attacks already have.


Firstly thats obviously not the correct sequence, instant attack damage is resolved as the spell is cast/shot is fired not in a later cycle. Projectiles damage resolves when they hit the target.
Secondly nothing in SC2 is randomized, the replay system relies on that (you can seed a random generator but implementations on different platforms vary, and random is not good for it being a viable esport).
It's not really feasible to resolve all actions at once or as if they resolve at once, nor are the rewards worth the effort as it'll tripple the time spent in that routine.
If a solution is needed then the direction of traversing the lists could alternate per game frame, effectively randomising which fires first for those of us living in human time.
我的媽和她的瘋狂的外甥都
Cubu
Profile Blog Joined February 2011
1171 Posts
July 26 2012 13:15 GMT
#162
I wish the game was designed so that both units would die at the same time. More fair that way.
fabiano
Profile Blog Joined August 2009
Brazil4644 Posts
Last Edited: 2012-07-26 13:29:34
July 26 2012 13:29 GMT
#163
On July 26 2012 22:15 Cubu wrote:
I wish the game was designed so that both units would die at the same time. More fair that way.


This is one of the foundations of game programming.

I bet there are other people here who like me took a course on Computer Graphics and had one assignament to create a "game", and if your code didn't fulfill that foundation then you would lose a shit ton of fuckload of points...

I can't believe blizzard programmers, who are probably really really skilled, made such a mistake D:
"When the geyser died, a probe came out" - SirJolt
AlanSmithee
Profile Joined May 2012
39 Posts
July 26 2012 13:34 GMT
#164
On July 26 2012 22:29 fabiano wrote:
Show nested quote +
On July 26 2012 22:15 Cubu wrote:
I wish the game was designed so that both units would die at the same time. More fair that way.


This is one of the foundations of game programming.

I bet there are other people here who like me took a course on Computer Graphics and had one assignament to create a "game", and if your code didn't fulfill that foundation then you would lose a shit ton of fuckload of points...

I can't believe blizzard programmers, who are probably really really skilled, made such a mistake D:


If two units who have an projectile shoot at each other at aprox. the same time, both die. (Vikings, stalkers etc.) But for the units with instant shots, like marines, it would make little sense if both units die.

There is no real world equivalent of "instant" shot but it if there were the two units would ahve to fire at the exact same time, and that would never happend.

Again, there is no flaw, you can consider it bad design if you want to (i disagree, i think it works well), but belive me, it's very much intentially.
Aerisky
Profile Blog Joined May 2012
United States12129 Posts
July 26 2012 13:34 GMT
#165
Hm...this is pretty interesting. I don't think it should create any huge changes in the metagame or anything like, but it's interesting nonetheless. I wonder whether this was a rather incompetent mistake or whether this was actually implemented on purpose for some reason.
Jim while Johnny had had had had had had had; had had had had the better effect on the teacher.
Heh_
Profile Blog Joined April 2012
Singapore2712 Posts
July 26 2012 13:40 GMT
#166
The number of 1-post users from Poland is amazing, especially the accounts which were created today.
=Þ
Cyber_Cheese
Profile Blog Joined July 2010
Australia3615 Posts
Last Edited: 2012-07-26 13:45:54
July 26 2012 13:43 GMT
#167
On July 26 2012 05:31 JinDesu wrote:
Show nested quote +
On July 26 2012 05:28 sLiMpoweR wrote:
What if they are exactly the same age?


I don't think they can be - assuming the system uses some sort of ID for timestamp.


The buildings would have their own id's too, as well as the workers creating them.


On July 26 2012 22:34 AlanSmithee wrote:
Show nested quote +
On July 26 2012 22:29 fabiano wrote:
On July 26 2012 22:15 Cubu wrote:
I wish the game was designed so that both units would die at the same time. More fair that way.


This is one of the foundations of game programming.

I bet there are other people here who like me took a course on Computer Graphics and had one assignament to create a "game", and if your code didn't fulfill that foundation then you would lose a shit ton of fuckload of points...

I can't believe blizzard programmers, who are probably really really skilled, made such a mistake D:


If two units who have an projectile shoot at each other at aprox. the same time, both die. (Vikings, stalkers etc.) But for the units with instant shots, like marines, it would make little sense if both units die.

There is no real world equivalent of "instant" shot but it if there were the two units would ahve to fire at the exact same time, and that would never happend.

Again, there is no flaw, you can consider it bad design if you want to (i disagree, i think it works well), but belive me, it's very much intentially.


There is no real world equivalent of a lot of things in StarCraft, how does that mean two identical units shouldn't be exactly even?
The moment you lose confidence in yourself, is the moment the world loses it's confidence in you.
fabiano
Profile Blog Joined August 2009
Brazil4644 Posts
July 26 2012 13:43 GMT
#168
On July 26 2012 22:34 AlanSmithee wrote:
Show nested quote +
On July 26 2012 22:29 fabiano wrote:
On July 26 2012 22:15 Cubu wrote:
I wish the game was designed so that both units would die at the same time. More fair that way.


This is one of the foundations of game programming.

I bet there are other people here who like me took a course on Computer Graphics and had one assignament to create a "game", and if your code didn't fulfill that foundation then you would lose a shit ton of fuckload of points...

I can't believe blizzard programmers, who are probably really really skilled, made such a mistake D:


If two units who have an projectile shoot at each other at aprox. the same time, both die. (Vikings, stalkers etc.) But for the units with instant shots, like marines, it would make little sense if both units die.

There is no real world equivalent of "instant" shot but it if there were the two units would ahve to fire at the exact same time, and that would never happend.

Again, there is no flaw, you can consider it bad design if you want to (i disagree, i think it works well), but belive me, it's very much intentially.


It doesnt matter if the shot is instant or not, what matters is if both of them fired and hit at the same time, in a later cycle the state of both units should be set to dead.

Basing who dies first on who is on top of the stack, later in the queue or any other code-only related situation is a design flaw, unless it is related to a feature of the game, such as "the veteran will always prevail".
"When the geyser died, a probe came out" - SirJolt
Aerisky
Profile Blog Joined May 2012
United States12129 Posts
July 26 2012 13:45 GMT
#169
On July 26 2012 22:40 Heh_ wrote:
The number of 1-post users from Poland is amazing, especially the accounts which were created today.

Well, the OP is a Polish Mythbusters type show, so I think he is encouraging more Polish SC2 players/fans to come to TL in his show, which is a pretty great thing ^^
Jim while Johnny had had had had had had had; had had had had the better effect on the teacher.
Heh_
Profile Blog Joined April 2012
Singapore2712 Posts
July 26 2012 13:47 GMT
#170
On July 26 2012 22:45 Aerisky wrote:
Show nested quote +
On July 26 2012 22:40 Heh_ wrote:
The number of 1-post users from Poland is amazing, especially the accounts which were created today.

Well, the OP is a Polish Mythbusters type show, so I think he is encouraging more Polish SC2 players/fans to come to TL in his show, which is a pretty great thing ^^

Well I hope that's true. There's 1 user with an account created in March so that user has been lurking for a bit.
=Þ
AlanSmithee
Profile Joined May 2012
39 Posts
July 26 2012 13:52 GMT
#171
On July 26 2012 22:43 fabiano wrote:
Show nested quote +
On July 26 2012 22:34 AlanSmithee wrote:
On July 26 2012 22:29 fabiano wrote:
On July 26 2012 22:15 Cubu wrote:
I wish the game was designed so that both units would die at the same time. More fair that way.


This is one of the foundations of game programming.

I bet there are other people here who like me took a course on Computer Graphics and had one assignament to create a "game", and if your code didn't fulfill that foundation then you would lose a shit ton of fuckload of points...

I can't believe blizzard programmers, who are probably really really skilled, made such a mistake D:


If two units who have an projectile shoot at each other at aprox. the same time, both die. (Vikings, stalkers etc.) But for the units with instant shots, like marines, it would make little sense if both units die.

There is no real world equivalent of "instant" shot but it if there were the two units would ahve to fire at the exact same time, and that would never happend.

Again, there is no flaw, you can consider it bad design if you want to (i disagree, i think it works well), but belive me, it's very much intentially.


It doesnt matter if the shot is instant or not, what matters is if both of them fired and hit at the same time, in a later cycle the state of both units should be set to dead.

Basing who dies first on who is on top of the stack, later in the queue or any other code-only related situation is a design flaw, unless it is related to a feature of the game, such as "the veteran will always prevail".


That's just what i said, it's a choice of design.

Check few posts back and you'll see I was making the same argument you are. In theory, yes, the common paradigm is something like what you are talking about, but it's ofcourse situational. There is more then following code standards to take in to consideration.

I am trying to think about other RTS games in my head atm (like C&C, AoE, WC (same publisher though), dune etc) and from memory I think they all use the same paradigm. I can't recall a situation were two units kill each other in a 1on1 fight with instant shots.

What do you think?
FeyFey
Profile Joined September 2010
Germany10114 Posts
July 26 2012 13:53 GMT
#172
so the newest units actions come into effect first, this is pretty common, thats why you add small random delays to stuff like this. Understandable that they left it out with marine kiting being so important. Adding a failsave for this would make instant attack units stronger, and they are already favored through the ai.
Oh and sc2 has randomizers, burrow has a random timer to it.
renkin
Profile Joined July 2010
France249 Posts
July 26 2012 13:58 GMT
#173
So how can we use this discovery efficiently ?
By putting the younger units in front lines and the older ones behind ?

I guess 4gates micro wars gain a new dimension...
Maybe it could influence the outcome of zerglings vs zerglings battles ?
Ayoeme
Profile Joined November 2011
Latvia59 Posts
July 26 2012 15:28 GMT
#174
Agree with alot what AlanSmithee said. Also this:
+ Show Spoiler +
On July 26 2012 09:20 NB wrote:
for a random thread like this there are quite a handsome first post in the front page. Mod definitely should check IP to make sure there is no smurfing involved.

About the topic: not only queue order is a given, there is also network environment to take in hand. If i send a command from US East to Korea sever, it will be much slower than a guy sending a same command from Korea itself. Given that we have a method to sync up our action, the data procession time will be different along with our computer specs etc... To much random element and the lack of LAN environment simply make the problem inconclusive. Pretty much /thread

made me vomit. Can't even comprehend the amount of crap and unrelated "theory" in this post.

I guess it would be possible to run the update of the entire structure, which then calls for separate functions that don't collide while processing after the update, destroying your CPU in the process. Though i might be wrong as calling a function is an action by itself.

On a more serious note, to answer a question this wouldn't really influence infestors as neural parasite projectile has a few random assets to it. And yes, while playwise this information isn't really breathtaking, it still is really interesting. Good job.
For some things, reason is not necessary.
X3GoldDot
Profile Joined August 2011
Malaysia3840 Posts
July 26 2012 15:31 GMT
#175
On July 26 2012 22:58 renkin wrote:
So how can we use this discovery efficiently ?
By putting the younger units in front lines and the older ones behind ?

I guess 4gates micro wars gain a new dimension...
Maybe it could influence the outcome of zerglings vs zerglings battles ?


no effect whatsoever on anything except for spellcaster wars, all units have a random delay(extremely small) added to their normal attack, which will seperate the winners of a given battle.
prime/startale/[SexComaZerg, RoyalRoaderZerg, SirLifealot] ingame ID = GoodGame
CzaRyMaRy
Profile Joined July 2012
2 Posts
Last Edited: 2012-07-26 15:44:01
July 26 2012 15:43 GMT
#176
I checked it out and it's the same with zerglings and ultralisks - the younger always wins. BTW Queens are interesting exception - they both die.
Ayoeme
Profile Joined November 2011
Latvia59 Posts
Last Edited: 2012-07-26 15:53:09
July 26 2012 15:52 GMT
#177
On July 27 2012 00:43 CzaRyMaRy wrote:
I checked it out and it's the same with zerglings and ultralisks - the younger always wins. BTW Queens are interesting exception - they both die.

palm-to-the-face'ed when read the thing about queens. Trolling, perhaps.
Although i know not the specifics of attack delays, the thing you said about zerglings and ultras should not be accurate, because of the mentioned attack delay, and the younger one should have a win-advantage of the likes of 50001-to-49999.
For some things, reason is not necessary.
Cuce
Profile Joined March 2011
Turkey1127 Posts
July 26 2012 15:54 GMT
#178
hmm
ıntresting, it would be wild thing if random attack delays are using a seed base on production times.
64K RAM SYSTEM 38911 BASIC BYTES FREE
roemy
Profile Joined April 2010
Germany432 Posts
July 27 2012 10:26 GMT
#179
cute find, but i'm not too worried. unless someone has an eidetic memory combined with an awesome eye for a shellgame of 'find the oldest caster unit in your saved group', i don't see a lot of applications for this little gem -.-

but i do think it's not the most elegant mechanic. i would prefer a tiny spell duration so both units would kill each other.

off topic: also: add a tiny attack 'delay' to siege tanks so they overkill dropped zealots again ^^
rock is fine.. paper could need a buff, but scissors have to be nerfed
Prillan
Profile Joined August 2011
Sweden350 Posts
July 27 2012 10:56 GMT
#180
On July 26 2012 05:12 Yegwen wrote:
http://www.twitch.tv/yegwen We are live and testing this for all other units now if you are as intrigued as we are!

Standard attacks have a short random delay.
You should test all other spells (yamato, snipe, etc.)
TheBB's sidekick, aligulac.com | "Reality is frequently inaccurate." - Douglas Adams
InPlainSight
Profile Joined January 2009
New Zealand40 Posts
July 28 2012 01:46 GMT
#181
On July 27 2012 19:26 roemy wrote:
off topic: also: add a tiny attack 'delay' to siege tanks so they overkill dropped zealots again ^^


Because seige tanks need nerfing.
Xpace
Profile Joined March 2011
United States2209 Posts
July 28 2012 01:50 GMT
#182
I wonder how precise those timestamps go... like 00d00h00m00s.000000?
Normal
Please log in or register to reply.
Live Events Refresh
Sparkling Tuna Cup
10:00
Weekly #100
Creator vs ShoWTimELIVE!
CranKy Ducklings336
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
MindelVK 45
ProTech44
Aristorii 11
StarCraft: Brood War
Britney 83276
Calm 5981
Horang2 1435
BeSt 929
Mini 816
ggaemo 608
EffOrt 470
Nal_rA 454
Larva 396
firebathero 349
[ Show more ]
Hyuk 334
Mong 260
hero 223
Leta 148
Zeus 139
TY 105
ToSsGirL 83
Noble 23
Killer 11
Terrorterran 5
sas.Sziky 3
Dota 2
qojqva3076
XcaliburYe452
Super Smash Bros
Westballz47
Heroes of the Storm
Khaldor298
Other Games
B2W.Neo950
DeMusliM474
Fuzer 197
mouzStarbuck175
ArmadaUGS28
Organizations
StarCraft: Brood War
CasterMuse 25
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 17 non-featured ]
StarCraft 2
• davetesta42
• Gemini_19 27
• musti20045 6
• Reevou 4
• Dystopia_ 1
• Kozan
• AfreecaTV YouTube
• intothetv
• sooper7s
• IndyKCrew
• LaughNgamezSOOP
• Migwel
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• WagamamaTV847
League of Legends
• Jankos1662
Upcoming Events
BSL20 Non-Korean Champi…
56m
Bonyth vs TBD
WardiTV European League
2h 56m
ByuN vs ShoWTimE
HeRoMaRinE vs MaxPax
Wardi Open
21h 56m
OSC
1d 10h
uThermal 2v2 Circuit
3 days
The PondCast
3 days
Replay Cast
4 days
uThermal 2v2 Circuit
5 days
RSL Revival
5 days
RSL Revival
5 days
[ Show More ]
uThermal 2v2 Circuit
6 days
Sparkling Tuna Cup
6 days
Liquipedia Results

Completed

ASL Season 20: Qualifier #1
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
ASL Season 20: Qualifier #2
HCC Europe
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025

Upcoming

ASL Season 20
CSLPRO Chat StarLAN 3
BSL Season 21
RSL Revival: Season 2
Maestros of the Game
SEL Season 2 Championship
WardiTV Summer 2025
uThermal 2v2 Main Event
Thunderpick World Champ.
MESA Nomadic Masters Fall
CAC 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
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
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.