• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 04:01
CEST 10:01
KST 17:01
  • 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
Code S RO12 Preview: Maru, Trigger, Rogue, NightMare12Code S RO12 Preview: Cure, sOs, Reynor, Solar15[ASL19] Ro8 Preview: Unyielding3Official Ladder Map Pool Update (April 28, 2025)17[ASL19] Ro8 Preview: Rejuvenation8
Community News
Maru & Rogue GSL RO12 interviews: "I think the pressure really got to [trigger]"0Code S Season 1 - Maru & Rogue advance to RO80Code S Season 1 - Cure & Reynor advance to RO84$1,250 WardiTV May [May 6th-May 18th]5Clem wins PiG Sty Festival #67
StarCraft 2
General
Maru & Rogue GSL RO12 interviews: "I think the pressure really got to [trigger]" Code S Season 1 - Maru & Rogue advance to RO8 Clem wins PiG Sty Festival #6 How does the number of casters affect your enjoyment of esports? Code S Season 1 - Cure & Reynor advance to RO8
Tourneys
[GSL 2025] Code S:Season 1 - RO12 - Group B [GSL 2025] Code S:Season 1 - RO12 - Group A $1,250 WardiTV May [May 6th-May 18th] SOOPer7s Showmatches 2025 Sea Duckling Open (Global, Bronze-Diamond)
Strategy
[G] PvT Cheese: 13 Gate Proxy Robo Simple Questions Simple Answers
Custom Maps
[UMS] Zillion Zerglings
External Content
Mutation # 472 Dead Heat Mutation # 471 Delivery Guaranteed Mutation # 470 Certain Demise Mutation # 469 Frostbite
Brood War
General
(UMS) Artosis vs Ogre Zerg [The Legend Continues] BW General Discussion BGH auto balance -> http://bghmmr.eu/ Recent recommended BW games Preserving Battlereports.com
Tourneys
[ASL19] Ro8 Day 4 [BSL20] RO32 Group F - Saturday 20:00 CET [BSL20] RO32 Group E - Sunday 20:00 CET [CSLPRO] $1000 Spring is Here!
Strategy
[G] How to get started on ladder as a new Z player Creating a full chart of Zerg builds [G] Mineral Boosting
Other Games
General Games
Stormgate/Frost Giant Megathread What do you want from future RTS games? Nintendo Switch Thread Grand Theft Auto VI Battle Aces/David Kim RTS Megathread
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
LiquidLegends to reintegrate into TL.net
Heroes of the Storm
Simple Questions, Simple Answers
Hearthstone
Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia TL Mafia Community Thread TL Mafia Plays: Diplomacy TL Mafia: Generative Agents Showdown Survivor II: The Amazon
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine UK Politics Mega-thread Elon Musk's lies, propaganda, etc.
Fan Clubs
Serral Fan Club
Media & Entertainment
Movie Discussion! Anime Discussion Thread [Books] Wool by Hugh Howey Surprisingly good films/Hidden Gems
Sports
2024 - 2025 Football Thread NHL Playoffs 2024 NBA General Discussion Formula 1 Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Cleaning My Mechanical Keyboard How to clean a TTe Thermaltake keyboard?
TL Community
BLinD-RawR 50K Post Watch Party The Automated Ban List TL.net Ten Commandments
Blogs
Why 5v5 Games Keep Us Hooked…
TrAiDoS
Info SLEgma_12
SLEgma_12
SECOND COMMING
XenOsky
WombaT’s Old BW Terran Theme …
WombaT
Heero Yuy & the Tax…
KrillinFromwales
BW PvZ Balance hypothetic…
Vasoline73
Test Entry for subject
xumakis
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12376 users

Valkyrie dmg formula?

Forum Index > Brood War Strategy
Post a Reply
Normal
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2020-12-27 10:58:47
December 26 2020 22:25 GMT
#1
Someone know the dmg formula of Valkyrie?

I guess its a balance thing why its doing diminishing returns but im curious what the formula actually is.

My own test:

Amount of stacked Wraiths and their leftover HP after one Valkyrie volley (8x6 dmg).

1 - 72/120 = 48 of 48 dmg (0% diminishing returns)

2 - 2x 84/120 = 72 of 96 dmg (25%)

3 - 96/120, 86/120, 84/120 = 94 of 144 dmg (35%)

3 - 102/120, 96/120, 66/120 = 96 of 144 dmg (33%)

4 - 4x 90/120 = 120 of 192 dmg (37%)

4 - 96/120, 2x 90/120, 84/120 = 120 of 192 dmg (37%)

5 - 2x 98/120, 2x 90/120, 84/120 = 140 of 240 dmg (42%)

6 - 102/120, 2x 96/120, 90/120, 2x 84/120 = 168 of 288 dmg (42%)

11 - 7x 96/120, 92/120, 3x 90/120 = 286 of 528 dmg (46%)
-.-
LML
Profile Blog Joined March 2007
Germany1756 Posts
December 26 2020 23:40 GMT
#2
(Wiki)Valkyrie
Isn't the "Advanced Mechanics" section explaining what you're looking for? All the rocket placements, etc.
LML
MeSaber
Profile Joined December 2009
Sweden1235 Posts
December 27 2020 10:54 GMT
#3
Well no, there seem to be a specific formula for it. It doesnt seem to matter how many times i try, i get the same results every time.

As you can see on my test this doesnt count for one Wraith where it always is 100% no matter where the missiles land.

I even tried stacked vs non-stacked where it yielded the same result. This one i tested above is stacked.

I will post my test of the non-stacked dmg also. If they wind out to be the same as stacked, there has to be a diminishing returns formula involved as it doesnt matter where the targets are.

Look at my second 3 Wraith test. One got 66/120 HP left, which should seem impossible ye? It seems calculate how many targets are in the area and what dmg should be dished out in total, no matter to whom it gets which is why it got down to 66/120 instead of 72/120 which would be the max dmg possible from a single volley vs one single target.

If the image of the missiles landing spots are true, i would be able to place a Wraith at every those locations and have no diminishing returns. Each wraith should end up with 72/120 or even more (splash), which im pretty sure wont be the case but ill try it anyway :D
-.-
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2020-12-28 16:33:39
December 28 2020 16:30 GMT
#4
Just tested it myself and you are right. This is kinda crazy. It confirms my intuitive understanding that mutas seem to survive a lot longer against valks than I expect them to. The diminishing returns seem even bigger versus mutas than wraiths actually (maybe cuz of the hitbox). With more than 3 clumped together, I see the originally targetted muta taking 10, 11 damage as opposed to 24 (48/2 since explosive damage is halved versus small units), which is a loss of almost 60%.

There definitely seems to be some algorithm that governs how to spread out the damage of a valk missile for every unit in its splash radius, an algorithm different from all other kinds of splash damage. Maybe someone who knows the source code (bwapi?) can explain it.
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2020-12-28 17:03:30
December 28 2020 17:00 GMT
#5
Are you sure about the 66/120? I've never been able to recreate that and it does seem impossible.

My second theory is that when there's only one unit, there's a special algorithm to deal 100% of the damage.
When there's more than one, the default splash algorithm kicks in. Per liquipedia, 36% of the missiles hit the target, dealing 100%, and 64% miss, dealing between 25% and 50% (so let's say 37.5% average). So the expected damage is 100%*36% + 37.5%*64% = 60%, meaning that you would expect to lose 40% of the damage to the target. However, this only applies to the direct target; other targets slightly off center will be missed more. For example, if a unit is at the corner of the missile box then it will be missed completely by a few missiles. Therefore, you would expect to lose more than 40% of the damage, maybe 50% or more. This calculation then explains the findings you are seeing, without having to invent a new splash algorithm. This calculation also explains why mutas take even less damage (smaller hit boxes leading to less splash dealt).

EDIT: According to (Wiki)List of Unit and Building Sizes , mutas have larger sizes than wraiths, but this table might not refer to hit boxes.
Ars longa, vita brevis, principia aeturna.
LG)Sabbath
Profile Blog Joined July 2005
Argentina3022 Posts
December 28 2020 18:51 GMT
#6
Would you say that cloning the valks to separate muta would increase the damage done by them?
https://www.twitch.tv/argsabbath/
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
December 28 2020 19:00 GMT
#7
No, because as long as there is more than one muta in the splash radius, I believe the standard splash algorithm applies.
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
January 01 2021 09:49 GMT
#8
I don't think there is any explicit diminished return formula for Valks. Unfortunately you don't give any description of your testing method, which makes it hard to zero in on likely candidates for an explanation.
How did you stack the target Wraiths?
Were they holding position or moving while being hit?
Did you keep track of which one was the primary target and whether that received the full damage?
How many repeats did you run for each number?
Did you get the exact same distribution of remaining HP each time? And can you keep tests running without ever getting a differing result?
Which known factors did you already control for (if any) and how?
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-01-01 12:29:13
January 01 2021 12:16 GMT
#9
Well no its not an empirical test by any means. I did just as many tests of stacked as listed here. I will upload the replays:

https://ufile.io/d94yz9dm

https://ufile.io/ekln4qe4
-.-
MeSaber
Profile Joined December 2009
Sweden1235 Posts
January 01 2021 12:32 GMT
#10
On December 29 2020 02:00 StRyKeR wrote:
Are you sure about the 66/120? I've never been able to recreate that and it does seem impossible.

My second theory is that when there's only one unit, there's a special algorithm to deal 100% of the damage.
When there's more than one, the default splash algorithm kicks in. Per liquipedia, 36% of the missiles hit the target, dealing 100%, and 64% miss, dealing between 25% and 50% (so let's say 37.5% average). So the expected damage is 100%*36% + 37.5%*64% = 60%, meaning that you would expect to lose 40% of the damage to the target. However, this only applies to the direct target; other targets slightly off center will be missed more. For example, if a unit is at the corner of the missile box then it will be missed completely by a few missiles. Therefore, you would expect to lose more than 40% of the damage, maybe 50% or more. This calculation then explains the findings you are seeing, without having to invent a new splash algorithm. This calculation also explains why mutas take even less damage (smaller hit boxes leading to less splash dealt).

EDIT: According to (Wiki)List of Unit and Building Sizes , mutas have larger sizes than wraiths, but this table might not refer to hit boxes.


To be fair, if Valkyrie did 100% at all times they would be way way OP :D

Having a splash algo seems just fair, however it would be nice to know it just for fun

Maybe should test where it maxes out, how many targets it can hit until it stops diminishing dmg per target. This might be at 50%
-.-
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-01-01 21:48:48
January 01 2021 21:47 GMT
#11
You guys are massively overthinking this. Air unit repulsion is the simple answer to this problem: A perfect stack is just not possible, the more air units you stack, the more and faster they will drift apart, This (in conjunction with any other unit movement) means that the relative position of each stacked unit relative to the rocket explosions is slightly different and that the more target units there are, the more spread out they will be and the more the primary target will be relatively off-centre of the stack, meaning that statistically the they will be less likely to be hit by all the explosions.
If you want to estimate this effect in one single mathematical formula, you'll have to build a fairly sophisticated statistical model first, I am afraid.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 03 2021 17:53 GMT
#12
I'm leaning towards Freakling's take as well. I think it isn't anything specific to the valkyrie (except the single target taking 100% damage, which is the only exception).
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-01-04 21:35:33
January 04 2021 21:31 GMT
#13
On January 04 2021 02:53 StRyKeR wrote:
I'm leaning towards Freakling's take as well. I think it isn't anything specific to the valkyrie (except the single target taking 100% damage, which is the only exception).

It is also worth noting this seemingly rather strange fact: Due to the exact spread pattern of the missiles, a Valkyrie's primary target is consistently the one target in a stack that receives the least damage.

In fact, I'd challenge the OP on the claim that a single targeted Wraith received 100% missile damage. This is not very reproduceable, at least not with a stationary Wraith. A moving Wraith with a lucky spread pattern might work, though, but that would be a statistical outlier.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-05 20:34:58
January 04 2021 22:49 GMT
#14
On January 05 2021 06:31 Freakling wrote:
Show nested quote +
On January 04 2021 02:53 StRyKeR wrote:
I'm leaning towards Freakling's take as well. I think it isn't anything specific to the valkyrie (except the single target taking 100% damage, which is the only exception).

It is also worth noting this seemingly rather strange fact: Due to the exact spread pattern of the missiles, a Valkyrie's primary target is consistently the one target in a stack that receives the least damage.

In fact, I'd challenge the OP on the claim that a single targeted Wraith received 100% missile damage. This is not very reproduceable, at least not with a stationary Wraith. A moving Wraith with a lucky spread pattern might work, though, but that would be a statistical outlier.


OP is correct on this one. This is the first thing I recreated. For single targets, the damage is 100% every single time.
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 04 2021 22:59 GMT
#15
I just checked out the replay. WOW the 3 wraith version (second one) actually DOES go down to 66 hp after one volley! That's crazy. It's not clear if the general splash algo does this or something specific to the valkyrie. Anyone from BWAPI wanna chime in here? Sonko?
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-05 19:05:51
January 05 2021 18:37 GMT
#16
I have an explanation for the single target case.
Given what we know about the spaghetti code, my bet is that Blizzard wanted you to be able to attack allies / your own units. But the issue is that valks (like reavers) cannot splash damage your own units. So if only the default splash algorithm is used for the valk, attacking yourself would cause 0 damage since they're splash only, even the intended target. They didn't want that, so they made every missile hit with 100% damage to the target unit regardless of miss. But if they do this with multiple units, valks would nonsensically do 100% to every unit even if miss. So once there's more than one target in the splash zone, they apply regular damage. Sloppy code imo, but consistent with their other sloppy coding.

Doesn't explain the > 100% damage though.
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-05 19:30:41
January 05 2021 19:29 GMT
#17
Okay guys.

So I believe the behavior versus a single target is indeed SPECIFIC to air units in general. Here are the tests.

Unit - 100% damage rate to single target

Valkyrie - YES
Reaver - NO
Lurker - NO
Firebat - NO (tested vs vulture with speed)
Siege Tank - NO
Archon - NO (tested vs vulture with speed)
Corsair - YES (tested vs interceptors and always did full damage)
Infested Terran - NO (tested vs torrasque)
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-05 20:23:26
January 05 2021 20:04 GMT
#18
Got some more data.

In the longer replay MeSaber attached, I isolated the moment 02:17 when things go awry.

https://imgur.com/a/tpmDA2n

There are three wraiths stacked in this image.
This is after the first two missiles of the volley. It did 9 and then 9 damage to one of the wraiths, which should be impossible.

But interestingly enough, one of the other two wraiths took 0 damage and has 120/120 hp left.

So it would seem that the unlucky wraith took additional damage intended for the lucky one, and it has to do with the fact that they're exactly overlapped.

I can't imagine what kind of terrible code would result in this.
Ars longa, vita brevis, principia aeturna.
MeSaber
Profile Joined December 2009
Sweden1235 Posts
January 05 2021 21:03 GMT
#19
Stryker nice research man! Gotta hand it to ya! =)

I will give this "issue" another shot today by looking at where the missiles actually hit according to liquipedia.
-.-
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-01-05 21:54:12
January 05 2021 21:28 GMT
#20
I got a treat for you Stryker! https://ufile.io/hchdrvq4

[image loading]

If we go by this image as a reference, the top left should take one hit, bottom right 2 hits, center 5 hits at the most per each, this is however not the case as the replay shows.

The map has the test layouts copied so they should act quite the same per each 'site test' but it does not. Top left takes just as much damage as center and bottom right in most cases. Center rarely takes the most damage even though it should.

The damage imo seems to be equalized over how many targets are in the area.

https://ufile.io/n1r8b3mj

Replay of the next test of expanding the ring until only the center target takes damage.

A big conclusion from this test is that the AOE of valkyrie missiles are insanely large, and my guesses would be that wherever the missile lands it will split the damage to all units that are hit (liquipedia states 3x3 matrix). When its one unit (the target) it will always hit inside a 3x3 matrix of the unit, which means it can never miss a single volley versus its target.

This means also that it may be possible for missiles to land in the same spot many times, seems highly likely after looking at the damage from first replay. And thats why a unit who should be taking less damage (according to image above) gets more damage than the others.

Anything to add Stryker? :D
-.-
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-07 14:20:36
January 05 2021 22:51 GMT
#21
I figured it out.

https://github.com/OpenBW/openbw/blob/master/bwgame.h


Sonko pointed me to the bwapi source code and I took a look. There is indeed a separate algorithm for "is_air_splash" and it makes two queues, one to deal full damage and one to deal splash.

Let's say L = outer splash radius, M = medium splash radius, S = inner splash radius.

Full queue
It builds a queue of units as such:
1) unit can't have same player as bullet's player (if it does, it must be the missile's target)
2) unit can't be the missile firer
3) unit has to be within L distance

Now, if the original bullet's target is in this queue and is within S distance, the queue is truncated to JUST the target, and full damage is dealt to it.
Otherwise, a RANDOM unit from this queue is chosen to take full damage.

Splash queue
1) unit can't have same player as bullet's player (if it does, it must be the missile's target)
2) unit can't be the missile firer
3) unit can't be missile target
4) unit can't be interceptor (!!!)
5) unit has to be within L distance

Then for each unit here, it does either 50%, 25%, or no damage depending on distance.


Let's apply it to our problematic cases.

Single target
The original target will always be in the Full queue because valkyrie missile has huge L.
It doesn't matter whether the target is within S distance because the queue only has size 1 and so the target takes full damage.

The Splash queue omits the original target, so nothing else needs to be done.

Conclusion: single target takes 100% no matter what

Multiple targets
As stated above, the original target will always be in the Full queue.
Case 1: Target is within S distance of the missile.

It becomes the ONLY element in the queue and takes full damage.
We now go to the splash queue. The non-targets within M take 50% and within S take 25%.

Conclusion: target takes 100%, rest take 50% or 25%

Case 2: Target is outside S distance of the missile.

A random unit in the Full queue is chosen to take 100% damage.
We now go to the splash queue. The non-targets within M take 50% and within S take 25%.

Conclusion: random unit takes 100%, non-targets take 50% or 25%.

Herein lies the issue -- the splash queue only excludes the target, NOT THE RANDOMLY PICKED UNIT FROM THE FULL QUEUE!
So it could be the case that the randomly picked unit was NOT the target, in which case that poor unit would take an additional 50% or 25% damage based on proximity! Let's call this "super damage", when unit takes more than 100% damage.

Note that this super damage can only occur if the target is NOT within S of the missile, because if it were, it would take the 100% from Full queue and be excluded from the Splash queue.
Since the missile pattern centers around the target, I imagine that most of the time, the target IS within S of the missile, so we don't see super damage.

Furthermore, it would be the case that the ORIGINAL target actually takes ZERO damage if the random unit picked during Full queue was not the target, since the splash queue specifically omits the target. So the existence of super damage implies the target received zero damage!

Note that the total damage is the same across the cases.

Finally, I think the "diminishing returns" observation is simply due to the fact the average missile misses its target. Let's pretend each missile is a student and each unit is a test question. Now, each student is dumb and scores 50% or 25% normally on any given question. However, the Full queue is a "get out of jail free card" that guarantees you a 100% on exactly one question. So if there is only one question, everyone scores a perfect score. If there are only a few questions, the class average is still high. Add a lot of questions, and it becomes clear that each student is failing.

Another interesting observation is that interceptors are immune to splash damage. In other words, it can never take damage via the Splash queue, so it must get damaged during the Full queue. Every valkyrie missile will hit at most one interceptor for full damage and deal no splash no matter how many interceptors there are. So in fact, valkyries are bad against interceptors. Similarly with corsairs.

Bonus observation:

If a corsair hits a group of say 11 stacked mutas, it will do a full 2.5 damage (not 5, since it's explosive damage) to the one target and 1.25 to the other 10. So no matter how stacked you are, it only does 2.5 to one muta. So if you have a group of corsairs, it helps to target fire one specific muta even if the mutas are clumped so that you do more concentrated damage on that one muta.
Ars longa, vita brevis, principia aeturna.
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-01-06 01:04:32
January 06 2021 01:02 GMT
#22
Well thats what we were after all along! Thanks Sonko/Stryker! =)

Great write-up btw.

Holy smokas. Valkyries/Corsair being bad vs interceptors is actually mind blowing.
-.-
Jealous
Profile Blog Joined December 2011
10107 Posts
January 06 2021 06:31 GMT
#23
Additional details from the Discord discussion when I first approached Sonko about this

[image loading]

[image loading]

[image loading]

[image loading]

Many thanks to PurpleWave and all other participants in the SSCAIT Discord for this. These are things I think that not even progamers and their staff had explored, because they were more worried about outcomes than the internal logic by which these things operate. Valkonic made a splash for a reason. Cheers.
"The right to vote is only the oar of the slaveship, I wanna be free." -- бум бум сучка!
Sonko
Profile Joined February 2019
154 Posts
January 06 2021 09:05 GMT
#24
Thanks for the mention, all I did was post the source to the openBW source
Here you can take a look at it.
A site about brood war AI: www.makingcomputerdothings.com
kogeT
Profile Joined September 2013
Poland2031 Posts
January 06 2021 12:27 GMT
#25
On January 06 2021 18:05 Sonko wrote:
Thanks for the mention, all I did was post the source to the openBW source
Here you can take a look at it.


Is that basicially whole BW decomplied?
https://www.twitch.tv/kogetbw
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-06 14:11:16
January 06 2021 14:07 GMT
#26
I just wanted to note that "more units mean being more spread out" is not the primary factor in the diminishing returns observed. You'd still see it even if the units were tightly stacked on top of each other. The main factor is the "Full queue" effect which guarantees the missile doing 100% damage to exactly one unit while doing 50%/25% to the rest.

In contrast, ground-based splash does not suffer from diminishing returns when stacked. For example, if a Protoss player were glitching their units into a tight ball to do stacked recall, a siege tank in siege mode could fire a few times and wipe all the units at once, dealing a full 100% damage to every unit. Or if a player drills their workers into one location, a single Reaver scarab would wipe all of them out for 100% damage.
Ars longa, vita brevis, principia aeturna.
Cryoc
Profile Joined July 2011
Germany909 Posts
January 06 2021 17:19 GMT
#27
Thanks for the investigation. I learned a lot. I always wondered, why Valkyries are bad vs Carriers, because based on the unit stats, half a control group of valkyries should destroy every interceptor of a Carrier fleet in seconds. Little did I know that they just excluded interceptors from taking any splash damage at all...

The developers must have liked Carriers a lot.
http://www.twitch.tv/cryoc
Jealous
Profile Blog Joined December 2011
10107 Posts
January 06 2021 20:41 GMT
#28
On January 06 2021 23:07 StRyKeR wrote:
I just wanted to note that "more units mean being more spread out" is not the primary factor in the diminishing returns observed. You'd still see it even if the units were tightly stacked on top of each other. The main factor is the "Full queue" effect which guarantees the missile doing 100% damage to exactly one unit while doing 50%/25% to the rest.

In contrast, ground-based splash does not suffer from diminishing returns when stacked. For example, if a Protoss player were glitching their units into a tight ball to do stacked recall, a siege tank in siege mode could fire a few times and wipe all the units at once, dealing a full 100% damage to every unit. Or if a player drills their workers into one location, a single Reaver scarab would wipe all of them out for 100% damage.

Ya, and what about Archon vs Muta? They ROAST stacked flocks, can literally kill like 36 stacked mutas in 3 hits no problem.
"The right to vote is only the oar of the slaveship, I wanna be free." -- бум бум сучка!
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 06 2021 22:01 GMT
#29
On January 07 2021 05:41 Jealous wrote:
Show nested quote +
On January 06 2021 23:07 StRyKeR wrote:
I just wanted to note that "more units mean being more spread out" is not the primary factor in the diminishing returns observed. You'd still see it even if the units were tightly stacked on top of each other. The main factor is the "Full queue" effect which guarantees the missile doing 100% damage to exactly one unit while doing 50%/25% to the rest.

In contrast, ground-based splash does not suffer from diminishing returns when stacked. For example, if a Protoss player were glitching their units into a tight ball to do stacked recall, a siege tank in siege mode could fire a few times and wipe all the units at once, dealing a full 100% damage to every unit. Or if a player drills their workers into one location, a single Reaver scarab would wipe all of them out for 100% damage.

Ya, and what about Archon vs Muta? They ROAST stacked flocks, can literally kill like 36 stacked mutas in 3 hits no problem.


I believe Archon splash isn't considered air splash, so that makes sense as well.
Ars longa, vita brevis, principia aeturna.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-06 23:52:58
January 06 2021 23:45 GMT
#30
Some quick math vs N mutas:

Each missile does 100% of 6/2 = 3 to one muta and a mix of 50%, 25% to all others, let's average to 33%, which is 1 damage. So each missile does 3*1 + 1*(N - 1) = N + 2 damage, or 8N + 16 damage for an entire volley.

To see the diminishing returns, note that we calculate the baseline denominator as 24N, since if we assume each missile does full damage, which is 3, that yields 24 damage per volley and there are N units. So the efficiency rate is (8N + 16)/24N, or 1/3 + 2/(3N). In other words, the efficiency goes down with N, establishing diminishing returns.

N = 1 => 100%
N = 2 => 66%
N = 3 => 55%
N = 4 => 50% and so on.

Furthermore, the average muta takes (8N + 16)/N = 8 + 16/N damage. At 7 mutas, this is roughly 10 damage. In other words, if you have 7 mutas clumped versus a valk, taking a volley is essentially like each muta taking a single hit from a wraith. Taking into account firing speed, the damage output of a valk versus 7 mutas is about 2.5 wraiths. Might be good to keep in mind when calculating whether you should fight or flee with your mutas.
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
January 07 2021 07:23 GMT
#31
On January 06 2021 03:37 StRyKeR wrote:
I have an explanation for the single target case.
Given what we know about the spaghetti code, my bet is that Blizzard wanted you to be able to attack allies / your own units. But the issue is that valks (like reavers) cannot splash damage your own units. So if only the default splash algorithm is used for the valk, attacking yourself would cause 0 damage since they're splash only, even the intended target. They didn't want that, so they made every missile hit with 100% damage to the target unit regardless of miss. But if they do this with multiple units, valks would nonsensically do 100% to every unit even if miss. So once there's more than one target in the splash zone, they apply regular damage. Sloppy code imo, but consistent with their other sloppy coding.

Doesn't explain the > 100% damage though.
Good point, actually. I assume all of you went the route of doing tests on your own Wraiths, using normal melee play and your own Wraiths/Mutas? If so you have to consider that that may completely invalidate results, as far as enemy damage goes.
To make sure I'm not just talking out of some false memory, I actually made a test map where I can test it against stacks of enemy and neutral units.
MeSaber
Profile Joined December 2009
Sweden1235 Posts
January 07 2021 11:33 GMT
#32
On January 07 2021 08:45 StRyKeR wrote:
Some quick math vs N mutas:

Each missile does 100% of 6/2 = 3 to one muta and a mix of 50%, 25% to all others, let's average to 33%, which is 1 damage. So each missile does 3*1 + 1*(N - 1) = N + 2 damage, or 8N + 16 damage for an entire volley.

To see the diminishing returns, note that we calculate the baseline denominator as 24N, since if we assume each missile does full damage, which is 3, that yields 24 damage per volley and there are N units. So the efficiency rate is (8N + 16)/24N, or 1/3 + 2/(3N). In other words, the efficiency goes down with N, establishing diminishing returns.

N = 1 => 100%
N = 2 => 66%
N = 3 => 55%
N = 4 => 50% and so on.

Furthermore, the average muta takes (8N + 16)/N = 8 + 16/N damage. At 7 mutas, this is roughly 10 damage. In other words, if you have 7 mutas clumped versus a valk, taking a volley is essentially like each muta taking a single hit from a wraith. Taking into account firing speed, the damage output of a valk versus 7 mutas is about 2.5 wraiths. Might be good to keep in mind when calculating whether you should fight or flee with your mutas.


Thats actually very useful.
-.-
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 07 2021 12:21 GMT
#33
On January 07 2021 16:23 Freakling wrote:
Show nested quote +
On January 06 2021 03:37 StRyKeR wrote:
I have an explanation for the single target case.
Given what we know about the spaghetti code, my bet is that Blizzard wanted you to be able to attack allies / your own units. But the issue is that valks (like reavers) cannot splash damage your own units. So if only the default splash algorithm is used for the valk, attacking yourself would cause 0 damage since they're splash only, even the intended target. They didn't want that, so they made every missile hit with 100% damage to the target unit regardless of miss. But if they do this with multiple units, valks would nonsensically do 100% to every unit even if miss. So once there's more than one target in the splash zone, they apply regular damage. Sloppy code imo, but consistent with their other sloppy coding.

Doesn't explain the > 100% damage though.
Good point, actually. I assume all of you went the route of doing tests on your own Wraiths, using normal melee play and your own Wraiths/Mutas? If so you have to consider that that may completely invalidate results, as far as enemy damage goes.
To make sure I'm not just talking out of some false memory, I actually made a test map where I can test it against stacks of enemy and neutral units.


Read the first post on second page, I figured it out.
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-01-07 15:37:15
January 07 2021 15:25 GMT
#34
Shouldn't make mobile posts while still half asleep in bed in the morning… Also the problem with my own initial test setup was that I did not space out targets fa enough to get real single target damage. The combined spread+splash area of Valkyries is huge (about 5 tiles, it seems, could easily be calculated exactly from the scatter pattern positions and splash radii, of course).
However, my statement on the fact that the primary target in a tight stack is always the one to receive the least damage hold empirically true. I'll upload my test map shortly which easily proves this conclusively. Here it is
The algorithm, you laid out helps to better zero in on the exact mechanics behind that though: From 14 Missile hits only 5 hit more or less dead-centre, so we can assume that these fully hit the primary target (within 100% splash radius S). However it's probably only to be within 25% radius (L) of all the other missiles, which hit further out. So that gives an estimate of 4/7(5·6 + 9·1.5) ≈ 24, which is pretty accurate, though different, mostly lower values can be observed (it's statistical of course). Getting good estimates for the secondary targets is a lot harder, but it seems that between them "drifting off" into the 50% splash areas of more of the missile explosions and their randomly becoming the primary target of an attack they amass more damage over time than the actual, primary target.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-01-07 16:30:55
January 07 2021 16:18 GMT
#35
The primary target never takes splash damage, so in your example, the other 9 missiles would do 0 splash damage to the primary target, and can only damage it via the random full queue process.

Primary target takes either 0% or 100%.
All others either take 25%, 50%, 125%, or 150%.

Say there are N targets total.

If as you said 5 of 14 missiles hit within S of the primary target, that primary target gets 100% and the rest get say, 33% on average.

Primary: 5*100%
Other: 5*33%

The other 9 of 14 missiles pick a random primary target, so every target has 1/N chance of 100%.
Non-primary takes, say 33% on average again.

Primary: 9/N*100%
Other: 9/N*100% + 9*33%

In summary, for 14 missiles, expected damage taken is:

Primary: (5*100% + 9/N*100%)/14 = 5/14 + 9/(N*14)
Other: (5*33% + 9/N*100% + 9*33%)/14 = 1/3 + 9/(N*14)

So ultimately, whether primary takes less damage depends on how many hits are straight on and also what the others on average take. Under the assumptions above, since 5/14 < 1/3, the primary target takes less damage.

Note that this estimation doesn't apply to the corsair since its missile always hits the primary target straight on (within S distance), and so the corsair always does more damage to the primary target (100%) as opposed to others (25% or 50%).
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-01-07 18:25:12
January 07 2021 18:22 GMT
#36
On January 08 2021 01:18 StRyKeR wrote:
The primary target never takes splash damage, so in your example, the other 9 missiles would do 0 splash damage to the primary target, and can only damage it via the random full queue process.

Primary target takes either 0% or 100%.
All others either take 25%, 50%, 125%, or 150%.

That makes the explanation even more clean-cut.

Say there are N targets total.

If as you said 5 of 14 missiles hit within S of the primary target, that primary target gets 100% and the rest get say, 33% on average.

Primary: 5*100%
Other: 5*33%

The other 9 of 14 missiles pick a random primary target, so every target has 1/N chance of 100%.
Non-primary takes, say 33% on average again.

Primary: 9/N*100%
Other: 9/N*100% + 9*33%

In summary, for 14 missiles, expected damage taken is:

Primary: (5*100% + 9/N*100%)/14 = 5/14 + 9/(N*14)
Other: (5*33% + 9/N*100% + 9*33%)/14 = 1/3 + 9/(N*14)

So ultimately, whether primary takes less damage depends on how many hits are straight on and also what the others on average take. Under the assumptions above, since 5/14 < 1/3, the primary target takes less damage.

Note that this estimation doesn't apply to the corsair since its missile always hits the primary target straight on (within S distance), and so the corsair always does more damage to the primary target (100%) as opposed to others (25% or 50%).

Imagine a Corsair with Valkyrie scattering on attacks O_o

Would be nice to actually have all the relevant code sequences quoted here for reference…
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 07 2021 18:39 GMT
#37
This was linked above: github.com

Just look there -- search for "is_air_splash". I think it's impossible to paste code readably on this forum.
Ars longa, vita brevis, principia aeturna.
Jealous
Profile Blog Joined December 2011
10107 Posts
Last Edited: 2021-01-07 19:33:27
January 07 2021 19:32 GMT
#38
On January 08 2021 03:39 StRyKeR wrote:
This was linked above: github.com

Just look there -- search for "is_air_splash". I think it's impossible to paste code readably on this forum.

You can try like this.
Don't
Test
Me
"The right to vote is only the oar of the slaveship, I wanna be free." -- бум бум сучка!
Freakling
Profile Joined October 2012
Germany1526 Posts
January 07 2021 20:39 GMT
#39
^
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
January 08 2021 16:44 GMT
#40
Here it is.
I'm wondering now if bwapi actually lists which units have air splash. I searched in the repository but couldn't find where such settings are set.


void bullet_deal_splash_damage(bullet_t* b) {
auto bb = square_at(b->sprite->position, b->weapon_type->outer_splash_radius);
if (is_air_splash) {
a_vector<unit_t*> targets;
for (unit_t* target : find_units(bb)) {
if (target == b->bullet_owner_unit) continue;
if (target->owner == b->owner && target != b->bullet_target) continue;
if (!weapon_can_target_unit(b->weapon_type, target)) continue;
int distance = unit_distance_to(target, b->sprite->position);
if (distance > b->weapon_type->outer_splash_radius) continue;
if (target == b->bullet_target && distance <= b->weapon_type->inner_splash_radius) {
targets = {target};
break;
}
targets.push_back(target);
}
if (!targets.empty()) {
size_t random_index = 0;
if (targets.size() != 1) random_index = lcg_rand(58) % targets.size();
bullet_deal_damage(b, targets[random_index]);
}
}
bool damages_allies = !is_air_splash && b->weapon_type->hit_type != weapon_type_t::hit_type_enemy_splash;
for (unit_t* target : find_units(bb)) {
if (target == b->bullet_owner_unit && b->weapon_type->id != WeaponTypes::Psionic_Storm) continue;
if (!damages_allies && target->owner == b->owner && target != b->bullet_target) continue;
if (!weapon_can_target_unit(b->weapon_type, target)) continue;
int distance = unit_distance_to(target, b->sprite->position);
if (distance > b->weapon_type->outer_splash_radius) continue;
if (b->weapon_type->id == WeaponTypes::Psionic_Storm) {
if (target->storm_timer) continue;
target->storm_timer = 1;
}
if (is_air_splash) {
if (target == b->bullet_target) continue;
if (unit_is(target, UnitTypes::Protoss_Interceptor)) continue;
}
if (!is_air_splash && distance <= b->weapon_type->inner_splash_radius) {
bullet_deal_damage(b, target, 1);
} else if (!u_burrowed(target)) {
if (distance <= b->weapon_type->medium_splash_radius) {
bullet_deal_damage(b, target, 2);
} else {
bullet_deal_damage(b, target, 4);
}
}
}
}

Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
January 10 2021 00:03 GMT
#41
Most unit data is actually stored in separate files in the MPQs.
stambe
Profile Joined May 2005
Bulgaria492 Posts
May 09 2021 14:09 GMT
#42
This is too much programing and difficult calculations for me. What i wanna know is - do valkyries cost wise inflict more damage to clumped mutas/air units compared to corsairs ?
Valks rulzz
WolFix
Profile Joined December 2009
Poland38 Posts
May 11 2021 08:52 GMT
#43
Nice discoveries. I always wondered if the SCV movement during building is fully randomized or deterministic in some way?
ZOrb_
Profile Joined May 2021
16 Posts
May 12 2021 01:57 GMT
#44
Awesome write up @StRyKeR. I did a bunch of testing myself, as well as a review of the BWAPI (Although, this can't be considered as gospel, right? It is a fan project, not source code, no?) and I came to the exact same conclusions as you. The only thing I did not specifically test was the "super damage" that you mention, although it does seem plausible. Anyways, I think the best way to conceptualize the Valkyrie missile attack is that it was maybe inspired by how real Anti Air homing missiles operate. Basically, the warhead does not impact a target, but rather explodes nearby in a shaped blast that sends shrapnel into a target aircraft, but also releases a pressure wave due to the explosion. So anyways, I think of it like that. On detonation the HALO missile picks a target nearby (within a 100px radius) to fire its shrapnel at, dealing heavy damage, and collaterally damages any OTHER targets within that explosion radius with the blast wave. Anyways I lowkey like to roleplay like this as it kinda makes the games more fun and immersive.

Also stand by everyone - I'm going to release a map soon that demos how to get perfect U-Turn micro on the Valkyrie, allowing you to fire backwards without glitching basically 100% of the time :_)
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-05-12 13:45:14
May 12 2021 13:44 GMT
#45
I did a post about that. Check my previous posts where i show how to aim your patrol-click and position your valk.

What do you mean "without glitching"?
-.-
Freakling
Profile Joined October 2012
Germany1526 Posts
May 12 2021 15:04 GMT
#46
On May 12 2021 10:57 ZOrb_ wrote:
Awesome write up @StRyKeR. I did a bunch of testing myself, as well as a review of the BWAPI (Although, this can't be considered as gospel, right? It is a fan project, not source code, no?)


It is source code. Not Blizzard source code of course, but it does accurately reproduce the game's behaviour. If it didn't you couldn't run things like a replay viewer on it.
ZOrb_
Profile Joined May 2021
16 Posts
May 12 2021 17:52 GMT
#47
Hey Saber, I found your post and it describes it PERFECTLY. I'm kinda surprised there are no replies because I feel like a lot of people tend to mess up or misunderstand that micro with the Valkyrie. The key is not to "click behind", but rather order the unit to do a RIGHT or LEFT U-turn - whichever one will allow the targeting scan to see the enemy in front as it spins around. I am almost done making both a Valk U-turn demo map as well as a practice map that should get this info out there.
MeSaber
Profile Joined December 2009
Sweden1235 Posts
May 12 2021 20:07 GMT
#48
Sounds good. Make a new post about it when ure done
-.-
stambe
Profile Joined May 2005
Bulgaria492 Posts
May 13 2021 13:15 GMT
#49
On May 13 2021 02:52 ZOrb_ wrote:
Hey Saber, I found your post and it describes it PERFECTLY. I'm kinda surprised there are no replies because I feel like a lot of people tend to mess up or misunderstand that micro with the Valkyrie. The key is not to "click behind", but rather order the unit to do a RIGHT or LEFT U-turn - whichever one will allow the targeting scan to see the enemy in front as it spins around. I am almost done making both a Valk U-turn demo map as well as a practice map that should get this info out there.


That would be sweet ! What do you mean to order the unit to do a left or right U-turn ? Like dont do patrol behind the valk, but at the side 45 degree angle ? Sorry for the question, but there is conflicting tips about valk micro all over the internet.
Valks rulzz
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-05-13 14:54:36
May 13 2021 14:33 GMT
#50
@stambe if your valkyrie is going straight north and your target is north west you should patrol to the area that makes the valkyrie turn towards the target and not away from the target. If your valkyrie turns the wrong direction it wont shoot.

[image loading]
-.-
GGmano
Profile Joined February 2021
103 Posts
May 14 2021 11:25 GMT
#51
As far as i know Valkyries use center splash dmg so it definately matters where the missiles hit.. like nuke ,archon and tank splash center splash does 100% to the inner circle and (not fully sure on the lesser circles but i think its) second circle 75%or50% and outta circle is 50%or25%.. the circle diameter on the different center splash types variate, the nuke has the largest circle area
Poegim
Profile Joined February 2017
Poland264 Posts
May 15 2021 07:04 GMT
#52
Where is Orders::class ?
Aka: Poezja[T4], Zulu. [[ Probably second best player in the world. In honor of my best friend Moagim, he was a Kraken from the sea. Poegim ]]
ZOrb_
Profile Joined May 2021
16 Posts
May 15 2021 08:53 GMT
#53
When you patrol click 'behind' the Valkyrie, you are basically giving it 1 of 2 possible orders: Turn CLOCKWISE and retreat, or turn COUNTERCLOCKWISE and retreat. By clicking directly behind, the Valkyrie will choose to turn towards the shortest path. If your Valkyrie is facing north and you click behind and slightly to the right, it will turn clockwise, slightly left and it will turn counterclockwise. When you click exactly behind, you are basically leaving it up to chance whether it will turn right or left. I will explain this further in my Valkyrie practice and demo maps. I should be done in about a week and I will post them here.
iloveav
Profile Joined November 2008
Poland1478 Posts
May 16 2021 14:41 GMT
#54
Please do remember that if you are shooting zerg or protoss, regen is to be accounted for. The lower the effective damage is, the higher the effectivness of the regeneration.

That is why a single valk is not as scary, but getting it dead soon is a priority for zerg in zvt.

(well... i am assuming that because I am toss :D).
aka LRM)Cats_Paw.
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-05-19 13:05:57
May 19 2021 12:46 GMT
#55
Firebathero uploaded an interesting video recently regarding interceptors and splash damage (he often does deep dives into Starcraft engine behavior via experiments in game):



It's in Korean, but the gist is that he figures out that air units do NO splash to interceptors (as I've found by reading the source code) but ground units and spells do. He tested this by having a group of enemy interceptors (adjusted to 0 shields, 1 hp, 0 damage) attack a tanky unit (e.g. his own Command Center) and then attacking moving into the interceptors with units that have artificially inflated damage. The valk killed 8 units per volley (so one per missile) and the corsair killed one unit per attack, implying no splash damage being done.

However, he finds one more interesting quirk, which is that when his valk attacks his own Command Center, he ends up killing 2-3 interceptors per volley, apparently doing splash. When his corsair attacks his own Command Center, once in a very long while does he kill an interceptor, apparently doing splash.

This phenomenon is again explained by our reading of the source code:

1) yes, indeed, blizzard made a special exception for interceptors to never be included in the splash queue for taking air splash damage

2) valk missiles land in a wide region and do not always land close to the target, so in the case of the Command Center, if the Command Center isn't within the inner splash radius of a valk missile, the full queue is populated with interceptors within the outer splash radius and a RANDOM unit from this queue is chosen to take full damage

3) when a corsair misses its target (every ranged unit has a miss chance of 1/256), the center of the hit is shifted a bit, and since the inner splash radius is fairly small, it may no longer include the target in question, in which case the full queue is populated with interceptors within the outer splash radius and a RANDOM unit from this queue is chosen to take full damage

This brings up one more point, which is that why is the behavior different when attacking interceptors directly versus his own Command Center. The answer is that it is still explained.

In the case of the valk attacking moving into interceptors, each valk missile likely rarely includes the original target in the full queue because interceptors are small and fast moving, and picking a random one within the larger splash radius. Since a valk has huge larger splash radius, it should almost always never have an empty full queue, thus getting one kill per missile. You don't get 8 kills per volley with the Command Center because it is large and stationary so you are fairly likely for the targeted missile to get within the inner splash radius to it to not have to randomly pick from its full queue.

Similarly, the corsair, when it doesn't miss with 1/256 chance, will land its "missile" directly on the unit and so does not have to pick randomly from its full queue.

We can make one more prediction as a result of this understanding which firebathero's video does not show, which is that the valk shouldn't ALWAYS kill 8 interceptors per volley when attack moving into the group of interceptors, which should occur if 1) a missile finds no interceptors within the outer splash radius (rare) or 2) two missiles overkill the same interceptor (rare).

I imagine we'd blow his mind if we told him a valk missile can do > 100% damage sometimes.
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-05-20 13:37:49
May 20 2021 13:26 GMT
#56
On May 19 2021 21:46 StRyKeR wrote:3) when a corsair misses its target (every ranged unit has a miss chance of 1/256), the center of the hit is shifted a bit, and since the inner splash radius is fairly small, it may no longer include the target in question, in which case the full queue is populated with interceptors within the outer splash radius and a RANDOM unit from this queue is chosen to take full damage.

Miss chance only applies to ranged ground attacks (and even for ground attacks it might be just sloppy coding rather than an intended mechanic). Corsairs always hit. The occasional Interceptor kill is from Interceptors that actually were within the 100% splash area when the attack hit.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-05-20 13:43:23
May 20 2021 13:41 GMT
#57
On May 14 2021 20:25 GGmano wrote:
As far as i know Valkyries use center splash dmg so it definately matters where the missiles hit.. like nuke ,archon and tank splash center splash does 100% to the inner circle and (not fully sure on the lesser circles but i think its) second circle 75%or50% and outta circle is 50%or25%.. the circle diameter on the different center splash types variate, the nuke has the largest circle area

Splash radii work different for air units. Read the thread. It is all explained in here, all the way down to the code level.

On May 15 2021 17:53 ZOrb_ wrote:
When you patrol click 'behind' the Valkyrie, you are basically giving it 1 of 2 possible orders: Turn CLOCKWISE and retreat, or turn COUNTERCLOCKWISE and retreat. By clicking directly behind, the Valkyrie will choose to turn towards the shortest path. If your Valkyrie is facing north and you click behind and slightly to the right, it will turn clockwise, slightly left and it will turn counterclockwise. When you click exactly behind, you are basically leaving it up to chance whether it will turn right or left. I will explain this further in my Valkyrie practice and demo maps. I should be done in about a week and I will post them here.

All air micro is basically Chinese triangles…
StRyKeR
Profile Blog Joined January 2006
United States1739 Posts
Last Edited: 2021-05-20 16:19:16
May 20 2021 16:10 GMT
#58
On May 20 2021 22:26 Freakling wrote:
Show nested quote +
On May 19 2021 21:46 StRyKeR wrote:3) when a corsair misses its target (every ranged unit has a miss chance of 1/256), the center of the hit is shifted a bit, and since the inner splash radius is fairly small, it may no longer include the target in question, in which case the full queue is populated with interceptors within the outer splash radius and a RANDOM unit from this queue is chosen to take full damage.

Miss chance only applies to ranged ground attacks (and even for ground attacks it might be just sloppy coding rather than an intended mechanic). Corsairs always hit. The occasional Interceptor kill is from Interceptors that actually were within the 100% splash area when the attack hit.


That's what I thought, but firebathero slows down the replay and zooms in here: https://www.youtube.com/watch?v=eAYEr34dzfE&t=430s.

The corsair clearly misses the CC, so it must be the case that air units can miss.

Also, your understanding of air splash is incorrect here. If you assume the corsair never misses, then it CANNOT deal damage to any interceptor because its target is the CC and the full queue is populated with ONLY the original target if it is within the inner splash radius, which must be the case if the corsair does not miss since the CC is stationary.
Ars longa, vita brevis, principia aeturna.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-05-21 10:44:32
May 20 2021 19:26 GMT
#59
On May 21 2021 01:10 StRyKeR wrote:
Show nested quote +
On May 20 2021 22:26 Freakling wrote:
On May 19 2021 21:46 StRyKeR wrote:3) when a corsair misses its target (every ranged unit has a miss chance of 1/256), the center of the hit is shifted a bit, and since the inner splash radius is fairly small, it may no longer include the target in question, in which case the full queue is populated with interceptors within the outer splash radius and a RANDOM unit from this queue is chosen to take full damage.

Miss chance only applies to ranged ground attacks (and even for ground attacks it might be just sloppy coding rather than an intended mechanic). Corsairs always hit. The occasional Interceptor kill is from Interceptors that actually were within the 100% splash area when the attack hit.


That's what I thought, but firebathero slows down the replay and zooms in here: https://www.youtube.com/watch?v=eAYEr34dzfE&t=430s.

The corsair clearly misses the CC, so it must be the case that air units can miss.

Also, your understanding of air splash is incorrect here. If you assume the corsair never misses, then it CANNOT deal damage to any interceptor because its target is the CC and the full queue is populated with ONLY the original target if it is within the inner splash radius, which must be the case if the corsair does not miss since the CC is stationary.

Anti-air attacks definitely have no miss chance. Since air units are not influenced by terrain levels miss chances are not applied when they are attacked.
I suspect the reason for the target switch may be the difference between the CC position (centre of the CC) and the hit position of the attack which is far enough offset to put the CC outside the inner splash radius.

EDIT: Although looking at the distance function, as long as the weapon sprite is within the bounding box of the unit it should still be the primary target:
int unit_distance_to(const unit_t* u, xy pos) const {
return xy_length(pos - nearest_pos_in_rect(pos, unit_sprite_bounding_box(u)));
}

So there must be something else going on entirely. Maybe lifted buildings don't have a bounding box…

EDIT: Nevermind, according to in-game testing miss chance seems to apply to air splash attacks, but not to single target air attacks.
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2021-05-21 07:49:33
May 21 2021 07:22 GMT
#60
https://ufile.io/lgpfy3bl Air to Air have miss chance. Time: 13:06 - 13:07 and from what i can tell it didnt do damage.

https://ufile.io/j7azbhu3 Corsair vs CC. Time 1:41 - 1:42. Miss is a hit.

https://ufile.io/25dj506u vs scourge. Takes full damage also even though its a miss (Base 20 dmg, 10 dmg vs scourge. Took 10 dmg on miss)
-.-
Freakling
Profile Joined October 2012
Germany1526 Posts
May 21 2021 10:43 GMT
#61
Nevermind, after some further in-game testing it seems that miss chance actually does apply to air splash attacks…
ZOrb_
Profile Joined May 2021
16 Posts
May 22 2021 04:55 GMT
#62
I am very certain that the 1/256 miss chance DOES apply to anti air attacks. I have seen VODs where a goliath volley will shoot and one missile will land on the target, dealing damage, and the second missile will land far short and 'miss' dealing no damage. I will try to find a clip of this as I saw it recently in either an ASL or Artosis stream. I also want to make a clarification on a misunderstanding on "inner splash radius" as it pertains to air to air splash.

I know that it is often labeled as an inner, medium, and outer radius with accompanying pixel lengths, but how the game internally decides what to do with that information is hidden from us and not necessarily intuitive. A siege tank, for example, is very simple, A target either takes 100%, 50%, or 25% dmg based on its distance to the attack epicenter. The broodwar Air-to-air splash units (Valk, Sair, Devo) are more complicated. The game doesn't just scan each region to determine the splash damage amount. It uses the inner radius (5px for both Corsair and Valkyrie) to FIND its intended initial target, and deal 100% to ONLY THAT UNIT. Yes that is correct, both the Valk and the Sair deal 100% damage to ONLY ONE UNIT PER SHOT. I have tested this extensively and would be happy to provide test maps or directions to anyone looking to confirm. An example of how I tested this on a map for the corsair: set Neutron Flare damage to 200, set Mutalisk armor to 100 and health to 40. Add a singular CPU Corsair to the map, add full group of 11 mutas for the player. Group the Mutalisks with a larva to stack, and stack them HEALIVY. Set game speed to slowest (use the '-' key), and stack the Mutas hard and fly around the Corsair. Every time the corsair attacks, ONE and ONLY ONE Mutalisk will die, despite the fact that all the Mutas are within 5px of one another.

Anyways, just an interesting quirk that most people don't know about. Feel free to respond if you want me to find the map I used for testing to post it
ZOrb_
Profile Joined May 2021
16 Posts
May 22 2021 05:15 GMT
#63
Something to keep in mind when exploring the inner workings of older games (I'd say any games from the mid 2000s and before) is that they tend to be a lot LESS formulaic compared to today's standards, and a lot less conclusions can be correctly drawn from analyzing the game's data. A lot of this has to do with the fact that object-oriented programming was a lot less pervasive and less popular at the time, meaning that different parts of a games assets and scripts where made from scratch for each unit, attack, animation etc. rather that just creating an "object" for units, animations, flingys etc, and just altering a few values here and there to add diversity to the game. Although I am confident that Blizzard used objects in C++ to create a lot of things in Broodwar, there are a lot more 'special cases' in old games where programmers grabbed values from an object's data structure and ran them specific scripts to add flavor to the game. I think this applies here where we see that the general splash formula applies differently on different units. Another example is how move speed applies to zerglings. Rather than just translocating a Zergling "X" px to the right or left on each frame, the zergling follows an iscript that move them a in the following repeating pattern of px per frame [ 2 8 9 5 6 7 2 ]. This is likely due to the fact that just moving the unit at a constant velocity would look 'off', as it would not match the bounding gait of the Zergling as it moved. I for one am a huge fan of this kind of stuff as it adds a lot more flavor and depth to the game, which is evident as we are still currently discussing basic mechanics that, although subtle, have not been fully understood for 20+ years.

This blog is SUPER great and goes into a lot of detail on Brood War's inner workings:
https://makingcomputerdothings.com/brood-war-api-the-comprehensive-guide-index-for-the-posts/
ZOrb_
Profile Joined May 2021
16 Posts
May 22 2021 06:45 GMT
#64
Also, based on Stryker's post, I want to mention a couple Valkyrie strategies vs Protoss that is actually somewhat viable. I know most of us here are familiar with the quick launch interceptor trick on the carrier where you first attack an allied building before moving your carrier into battle. The reason that trick works is not actually because the Interceptors "launch" quickly, but rather that they never actually re-enter the Carrier if it keeps moving. This is likely due to the order-of-operations not quite lining up in the code to both move the Interceptors to the Carrier's center, and then check to re-enter, before moving the Carrier unit its self. Anyways, I digress. The point is that when an enemy has prepared this technique, or is simply relocating their Carriers in battle without allowing the Interceptors to re-enter, you basically have a situation where potentially dozens of Interceptors are stacked underneath the Carrier group. Now, although they do NOT take splash damage as we commonly understand it, they will be the recipient of the random full damage Valkyrie missile around 50% of time if the Valkyrie is firing upon the Carrier group. This can allow a large group of Valkyries to destroy interceptors underneath the Carriers while also dealing splash damage to the capitol ships themselves. Part of the reason this works is because when Interceptors are low on HP, they will enter the Carrier to recharge, but this does not happen when the carrier is moving for the reasons described above.

Another related way to use Valkyries against Carriers is actually to exploit the above Interceptor behavior to damage the Carriers indirectly. By firing a large salvo against the Interceptors, you will trigger some of them to fly back to the Carrier to recharge, whilst dragging a massive cloud of HALO rockets to the Carrier group (Think the final battle from Galaxy Quest LOL). This can allow you to not only shoo away Interceptors from your base by forcing them to retreat and repair (The Interceptor repair mechanic is AI and can not be cancelled), but you will also damage the Carriers from afar, effectively increasing the range of the Valkyries in the process. This is actually a legitimate strategy once you practice it, although once you have destroyed the Carriers, your Valkyries are borderline useless against the rest of the Protoss army.
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-05-22 08:54:18
May 22 2021 08:53 GMT
#65
@ZOrb: The algorithm for air splash is explained in detail by Stryker, including the relevant OpenBW code.
The short of it is: Air splash only ever applies the full damage to one unit, all other units within the splash radii receive 50% or 25%, depending on their distance from the attack position.

Furthermore, after some more study of the attack code and systematic in-game testing of different units it is clear that I was wrong and the default 1/256 miss chance does in deed apply to all anti-air attacks as well. It's just hard to observe for some units (particularly for Mutalisks and Wraiths which have relatively low attack speeds, and a miss statistically only happens about once every 20 volleys from a control group and still can be hard to even spot with all the vapour trail sprites going on with their attacks).
Freakling
Profile Joined October 2012
Germany1526 Posts
Last Edited: 2021-05-22 18:14:02
May 22 2021 09:22 GMT
#66
On May 22 2021 15:45 ZOrb_ wrote:
Also, based on Stryker's post, I want to mention a couple Valkyrie strategies vs Protoss that is actually somewhat viable. I know most of us here are familiar with the quick launch interceptor trick on the carrier where you first attack an allied building before moving your carrier into battle. The reason that trick works is not actually because the Interceptors "launch" quickly, but rather that they never actually re-enter the Carrier if it keeps moving. This is likely due to the order-of-operations not quite lining up in the code to both move the Interceptors to the Carrier's center, and then check to re-enter, before moving the Carrier unit its self. Anyways, I digress. The point is that when an enemy has prepared this technique, or is simply relocating their Carriers in battle without allowing the Interceptors to re-enter, you basically have a situation where potentially dozens of Interceptors are stacked underneath the Carrier group. Now, although they do NOT take splash damage as we commonly understand it, they will be the recipient of the random full damage Valkyrie missile around 50% of time if the Valkyrie is firing upon the Carrier group. This can allow a large group of Valkyries to destroy interceptors underneath the Carriers while also dealing splash damage to the capitol ships themselves. Part of the reason this works is because when Interceptors are low on HP, they will enter the Carrier to recharge, but this does not happen when the carrier is moving for the reasons described above.

Another related way to use Valkyries against Carriers is actually to exploit the above Interceptor behavior to damage the Carriers indirectly. By firing a large salvo against the Interceptors, you will trigger some of them to fly back to the Carrier to recharge, whilst dragging a massive cloud of HALO rockets to the Carrier group (Think the final battle from Galaxy Quest LOL). This can allow you to not only shoo away Interceptors from your base by forcing them to retreat and repair (The Interceptor repair mechanic is AI and can not be cancelled), but you will also damage the Carriers from afar, effectively increasing the range of the Valkyries in the process. This is actually a legitimate strategy once you practice it, although once you have destroyed the Carriers, your Valkyries are borderline useless against the rest of the Protoss army.

All of this is way too inefficient and situational though:
- You assuming you can just catch the Carriers on the move without the Protoss player reacting. Unlikely.
- And then there is the fact that no matter how you go about it, Halo missile damage is actually too low to deal any significant damage against heavy Carrier amour (2 damage on a full hit, otherwise 1, .5). It's just not effective or cost efficient.
ZOrb_
Profile Joined May 2021
16 Posts
May 22 2021 10:48 GMT
#67
It is situational, and yes, you deal low damage per shot per carrier. However, vs 5 or 6 carriers, your DPS is actually still very high due to splash dealing about 40 damage per volley vs hull and around 150 per volley vs shields PER Valkyrie. If you play around in a custom map, and are very good at the micro, it is actually quite cost effective in your favor. I don't know how practical it would be in a real game, due to the lack of utility of the Valkyries after the battle, but I really do think it is a potentially viable untapped strategy, even as unlikely as it seems from a glance. If you can do the U-turn trick very well, and also due the trick I described above about firing on the ints, and having the missiles follow them back to the Carrier, you can actually bully Carriers in a really exciting way. Either way it is a lot of fun to try, even just in a 1p UMS map. I know it sounds crazy, but try it out!
ZOrb_
Profile Joined May 2021
16 Posts
May 22 2021 10:57 GMT
#68
I'll make us a micro map we can battle it out on tomorrow :O My Valks vs your Carriers
Freakling
Profile Joined October 2012
Germany1526 Posts
May 22 2021 18:15 GMT
#69
Micro doesn't make a difference against Carriers as they outrange Valkyries by a fair margin.
stambe
Profile Joined May 2005
Bulgaria492 Posts
May 23 2021 09:22 GMT
#70
On May 22 2021 19:48 ZOrb_ wrote:
It is situational, and yes, you deal low damage per shot per carrier. However, vs 5 or 6 carriers, your DPS is actually still very high due to splash dealing about 40 damage per volley vs hull and around 150 per volley vs shields PER Valkyrie. If you play around in a custom map, and are very good at the micro, it is actually quite cost effective in your favor. I don't know how practical it would be in a real game, due to the lack of utility of the Valkyries after the battle, but I really do think it is a potentially viable untapped strategy, even as unlikely as it seems from a glance. If you can do the U-turn trick very well, and also due the trick I described above about firing on the ints, and having the missiles follow them back to the Carrier, you can actually bully Carriers in a really exciting way. Either way it is a lot of fun to try, even just in a 1p UMS map. I know it sounds crazy, but try it out!


ZOrb is right. Ive been using this tactic since 2005 in my low/medium skilled games in PGTour and ICCup. The tricks is to build no more than 5-8 Valks(cause more than that and they cant shoot in SC:BW, dunno about remastered) and keep them away from the Carriers. Never engage the carriers directly. Stay above Turrets or above your Goliaths and lets them fire volleys at the stray interceptors at the Carriers maximum leash range(12 or more then are in flight pattern) or further. Some interceptors will get bellow 10 shields and will be the target for a lot of Halo rockets, making them retreat to the carriers and pulling the rocket cloud with them to the stacked Carriers fleet.
Now with the newly refined Patrol Micro for valks, you can dance your Valks and bait the toss to target them and you do the patrol trick, making the Interceptors fly towards the valks, but then they get out of the max leash range of the Carriers (12) and need to return to the carriers, making the valks shoot and the entire Halo rocket cloud is dragged onto the Carrier Fleet. This strat is most usefull when Carrier numbers get above 8 where Terrans start to struggle with only pure Goliaths. The trick works quite well then there are Goliaths fighting the Carriers and you try to stutter step your goliaths to kill carriers making the P retreat and then attack the interceptors with the Valks. Its hard to explain, but i was always a huge valk fan since i startet playing BW in '98 and i hated players and pros alike, dissing the valk for being useless, making me try to find tricks and strats with them to make them worthwhile. Im pretty sure someone will make a map to practice that start, but ive made it work in real games.

ZOrb i think you made a miscalculation - there is no way a single Valk can do 150 dmg per volley to shields or 40 dmg per volley to Carrier hull with base armor 4. I dont know the exact numbers, cause valk splash works in non-standart way as described in this thread, but if we take that you have +1 for Valks for medium splash area (50%) thats (7*0,5)-4 = 3,5-4 = 0,5 dmg(thats minimum possible damage in the game) per rocket to the hull for Carrier. So a volley will do 8*0,5 = 4 dmg.
Valks rulzz
ZOrb_
Profile Joined May 2021
16 Posts
May 24 2021 05:50 GMT
#71
Yes! I have made a map for this very purpose if you want to try it. I am just polishing up the terrain so it as at least SOMEWHAT pretty and I'll upload it to BW maps and provide a link. As for the damage calculation, my numbers are calculated based on the total splash done across 6 carriers 8*(6-4) + 5*8*.5 = 16+20 = 36 vs. hull; 8*6 + 5*8*3 = 168 vs. shields. Sorry if that was not clear.
stambe
Profile Joined May 2005
Bulgaria492 Posts
May 24 2021 06:48 GMT
#72
On May 24 2021 14:50 ZOrb_ wrote:
Yes! I have made a map for this very purpose if you want to try it. I am just polishing up the terrain so it as at least SOMEWHAT pretty and I'll upload it to BW maps and provide a link. As for the damage calculation, my numbers are calculated based on the total splash done across 6 carriers 8*(6-4) + 5*8*.5 = 16+20 = 36 vs. hull; 8*6 + 5*8*3 = 168 vs. shields. Sorry if that was not clear.


I would love to try the map! I didn't took into consideration you calculated for 6 carriers, since this type of investment and micro management is worth it vs 8+ carriers IMHO, where pure gols no longer cut it especially on maps with tough terrain and many obstacles. In this modern age of SC:R i think vs mass carriers you either have to invest in lockdown or go for the valkyrie zoning if i can call it that. TBH recently i havent seen tosses get above 8 carriers in carrier games. I guess having a strong ground army is not to be underestimated
Valks rulzz
ZOrb_
Profile Joined May 2021
16 Posts
June 21 2021 03:22 GMT
#73
The map is done! I will make a bigger post on the forum advertising it, but here is the file:

https://www.mediafire.com/file/wrz9qczluxylt9j/Valkyrie_vs._Carrier_Arena_1.0.scx/file
ZOrb_
Profile Joined May 2021
16 Posts
Last Edited: 2021-07-05 03:33:59
July 05 2021 03:29 GMT
#74
Scan on Valks vs. Carrier

MeSaber
Profile Joined December 2009
Sweden1235 Posts
July 05 2021 10:01 GMT
#75
Not sure what he means. Attacking Carriers with mass Valkyries works fine but its expensive ofc.
-.-
TheGreatOne
Profile Joined November 2005
United States534 Posts
Last Edited: 2021-10-26 21:37:46
July 21 2021 22:20 GMT
#76
Yes Valkyrie damage is strong but Devourer damage is stronger and Corsair damage is definitly stronger.
Protoss has always been the strongest race and always will be!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Toss_Master
Profile Joined June 2017
United States46 Posts
Last Edited: 2021-10-26 22:06:49
July 22 2021 15:22 GMT
#77
Devourer damage is stronger than Valkyrie damage but Corsair damage is stronger than both Devourers and Valkyries.
vOdToasT
Profile Blog Joined September 2010
Sweden2870 Posts
January 21 2023 23:40 GMT
#78
On May 22 2021 18:22 Freakling wrote:
Show nested quote +
On May 22 2021 15:45 ZOrb_ wrote:
Also, based on Stryker's post, I want to mention a couple Valkyrie strategies vs Protoss that is actually somewhat viable. I know most of us here are familiar with the quick launch interceptor trick on the carrier where you first attack an allied building before moving your carrier into battle. The reason that trick works is not actually because the Interceptors "launch" quickly, but rather that they never actually re-enter the Carrier if it keeps moving. This is likely due to the order-of-operations not quite lining up in the code to both move the Interceptors to the Carrier's center, and then check to re-enter, before moving the Carrier unit its self. Anyways, I digress. The point is that when an enemy has prepared this technique, or is simply relocating their Carriers in battle without allowing the Interceptors to re-enter, you basically have a situation where potentially dozens of Interceptors are stacked underneath the Carrier group. Now, although they do NOT take splash damage as we commonly understand it, they will be the recipient of the random full damage Valkyrie missile around 50% of time if the Valkyrie is firing upon the Carrier group. This can allow a large group of Valkyries to destroy interceptors underneath the Carriers while also dealing splash damage to the capitol ships themselves. Part of the reason this works is because when Interceptors are low on HP, they will enter the Carrier to recharge, but this does not happen when the carrier is moving for the reasons described above.

Another related way to use Valkyries against Carriers is actually to exploit the above Interceptor behavior to damage the Carriers indirectly. By firing a large salvo against the Interceptors, you will trigger some of them to fly back to the Carrier to recharge, whilst dragging a massive cloud of HALO rockets to the Carrier group (Think the final battle from Galaxy Quest LOL). This can allow you to not only shoo away Interceptors from your base by forcing them to retreat and repair (The Interceptor repair mechanic is AI and can not be cancelled), but you will also damage the Carriers from afar, effectively increasing the range of the Valkyries in the process. This is actually a legitimate strategy once you practice it, although once you have destroyed the Carriers, your Valkyries are borderline useless against the rest of the Protoss army.

All of this is way too inefficient and situational though:
- You assuming you can just catch the Carriers on the move without the Protoss player reacting. Unlikely.
- And then there is the fact that no matter how you go about it, Halo missile damage is actually too low to deal any significant damage against heavy Carrier amour (2 damage on a full hit, otherwise 1, .5). It's just not effective or cost efficient.


I've beaten S rank Protoss users who are going carriers with valkyries
If it's stupid but it works, then it's not stupid* (*Or: You are stupid for losing to it, and gotta git gud)
MeSaber
Profile Joined December 2009
Sweden1235 Posts
Last Edited: 2023-01-25 09:52:56
January 25 2023 09:11 GMT
#79
On January 22 2023 08:40 vOdToasT wrote:
Show nested quote +
On May 22 2021 18:22 Freakling wrote:
On May 22 2021 15:45 ZOrb_ wrote:
Also, based on Stryker's post, I want to mention a couple Valkyrie strategies vs Protoss that is actually somewhat viable. I know most of us here are familiar with the quick launch interceptor trick on the carrier where you first attack an allied building before moving your carrier into battle. The reason that trick works is not actually because the Interceptors "launch" quickly, but rather that they never actually re-enter the Carrier if it keeps moving. This is likely due to the order-of-operations not quite lining up in the code to both move the Interceptors to the Carrier's center, and then check to re-enter, before moving the Carrier unit its self. Anyways, I digress. The point is that when an enemy has prepared this technique, or is simply relocating their Carriers in battle without allowing the Interceptors to re-enter, you basically have a situation where potentially dozens of Interceptors are stacked underneath the Carrier group. Now, although they do NOT take splash damage as we commonly understand it, they will be the recipient of the random full damage Valkyrie missile around 50% of time if the Valkyrie is firing upon the Carrier group. This can allow a large group of Valkyries to destroy interceptors underneath the Carriers while also dealing splash damage to the capitol ships themselves. Part of the reason this works is because when Interceptors are low on HP, they will enter the Carrier to recharge, but this does not happen when the carrier is moving for the reasons described above.

Another related way to use Valkyries against Carriers is actually to exploit the above Interceptor behavior to damage the Carriers indirectly. By firing a large salvo against the Interceptors, you will trigger some of them to fly back to the Carrier to recharge, whilst dragging a massive cloud of HALO rockets to the Carrier group (Think the final battle from Galaxy Quest LOL). This can allow you to not only shoo away Interceptors from your base by forcing them to retreat and repair (The Interceptor repair mechanic is AI and can not be cancelled), but you will also damage the Carriers from afar, effectively increasing the range of the Valkyries in the process. This is actually a legitimate strategy once you practice it, although once you have destroyed the Carriers, your Valkyries are borderline useless against the rest of the Protoss army.

All of this is way too inefficient and situational though:
- You assuming you can just catch the Carriers on the move without the Protoss player reacting. Unlikely.
- And then there is the fact that no matter how you go about it, Halo missile damage is actually too low to deal any significant damage against heavy Carrier amour (2 damage on a full hit, otherwise 1, .5). It's just not effective or cost efficient.


I've beaten S rank Protoss users who are going carriers with valkyries


Each splash radius is affected by armor reduction.

Target = 100% dmg - armor (6-4=2)
Splash 50% = 50% dmg - armor (6/2-4=0.5)
Splash 25% = 25% dmg - armor (6/4-4=0.5)

Carrier has base 4 armor so each missile do 0.5 dmg in splash radius.

As Stryker explained earlier, only one target is eligible for full damage per missile.

If the aimed target is missed, it will be dealt no damage/splash, and someone else gets the full dmg + eligible splash (in total 125-150% dmg).

From my tests 8 valks are better than 11 wraiths vs many carriers. The reason is simply because depending on target amount you dish out more dmg from the splash, even if its just a few points.

I would argue valks are always better than wraiths. (more hp/armor/range, less apm needed, retreating fire, builds faster)
-.-
Normal
Please log in or register to reply.
Live Events Refresh
Next event in 1h 59m
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Leta 870
PianO 574
Larva 460
TY 216
NotJumperer 25
Sacsri 16
IntoTheRainbow 10
eros_byul 2
Dota 2
XcaliburYe346
XaKoH 158
League of Legends
JimRising 676
Super Smash Bros
hungrybox2020
Heroes of the Storm
Khaldor267
Other Games
summit1g8817
WinterStarcraft663
Happy483
Has10
Organizations
Counter-Strike
PGL17531
StarCraft 2
ESL.tv138
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 13 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota2159
League of Legends
• HappyZerGling112
Other Games
• WagamamaTV236
Upcoming Events
Sparkling Tuna Cup
1h 59m
WardiTV Invitational
2h 59m
AllThingsProtoss
2h 59m
uThermal 2v2 Circuit
5h 59m
Chat StarLeague
7h 59m
BSL Season 20
9h 59m
MadiNho vs dxtr13
Gypsy vs Dark
Circuito Brasileiro de…
10h 59m
Afreeca Starleague
1d 1h
BeSt vs Light
Wardi Open
1d 2h
Replay Cast
1d 15h
[ Show More ]
Replay Cast
2 days
Afreeca Starleague
2 days
Snow vs Soulkey
WardiTV Invitational
2 days
PiGosaur Monday
2 days
GSL Code S
3 days
ByuN vs Rogue
herO vs Cure
Replay Cast
3 days
GSL Code S
4 days
Classic vs Reynor
GuMiho vs Maru
The PondCast
4 days
RSL Revival
4 days
GSL Code S
5 days
Korean StarCraft League
5 days
RSL Revival
6 days
Online Event
6 days
Clem vs ShoWTimE
herO vs MaxPax
Liquipedia Results

Completed

BSL Nation Wars Season 2
PiG Sty Festival 6.0
Calamity Stars S2

Ongoing

JPL Season 2
ASL Season 19
YSL S1
BSL 2v2 Season 3
BSL Season 20
China & Korea Top Challenge
KCM Race Survival 2025 Season 2
CSLPRO Spring 2025
2025 GSL S1
Heroes 10 EU
PGL Astana 2025
Asian Champions League '25
ECL Season 49: Europe
BLAST Rivals Spring 2025
MESA Nomadic Masters
CCT Season 2 Global Finals
IEM Melbourne 2025
YaLLa Compass Qatar 2025
PGL Bucharest 2025
BLAST Open Spring 2025
ESL Pro League S21

Upcoming

NPSL S3
CSLPRO Last Chance 2025
CSLAN 2025
Esports World Cup 2025
HSC XXVII
Championship of Russia 2025
Bellum Gens Elite Stara Zagora 2025
2025 GSL S2
DreamHack Dallas 2025
IEM Cologne 2025
FISSURE Playground #1
BLAST.tv Austin Major 2025
ESL Impact League Season 7
IEM Dallas 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.