The Missiles are a Lie (analysis)

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Hearteater

Recruit
9 Badges
May 14, 2014
2
163
  • Magicka
  • Warlock 2: The Exiled
  • Warlock: Master of the Arcane
  • Stellaris
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Shadowrun Returns
  • Prison Architect
Almost everything you've read about missiles is wrong. They are terrible, but possibly not for the reasons you are thinking. I have just spent five hours running variations of combat with a wide range of missile settings to determine exactly how they work. I used a personal mod to adjust game stats between tests and loaded my save and replayed the same battle over and over. I did this without using reload stats (because that crashes Stellaris as soon as combat starts) so I had to exit and restart Stellaris for every single test. Here are my results:

The Setup
I used two beginning game fleets of 20 Corvettes each equipped with 3 Small weapons, 2 fusion reactors, and the initial tier 1 required components. I also modded their armor to 0. On one set I put 3 Nuclear Missiles, and on the other 3 Red Lasers. Both sets of weapons were modded as follows: Range 50, Cooldown: 5, Damage: 10, Accuracy: 100%, Tracking: 70%. Missiles were set to speed 5 (what they are by default). As a result of these settings, every attack will hit and do full damage, and there is no range advantage for the missiles.

Note that in Stellaris, with no random wind-up or damage, combat is actually deterministic. That is, it plays out exactly the same every time when you have identical battles.

>> Original reddit thead and discussion.

The Outcome
The missiles you see launched from your ships are not real missiles. They are just a visual effect that hold only a passing resemblance to what your missiles are actually doing. In particular:
  • In general, only a single volley of missiles will be drawn at a time. You can hear the sound effect of each volley, but no new missiles appear (this is on max graphics settings). This can easily result in 4-5 invisible missiles flights waiting to strike. (EDIT: This appears to be controlled by MAX_GFX_MISSILES which is set to 50. Since my salvos were 60 missiles, I basically saw only one salvo at a time. Thanks FullMetalFox)
  • The invisible missiles strike much earlier than the visible effects, apparently travelling about twice as fast. Basically, when the visible missiles are half-way to their target, the invisible missiles they represent hit. There is still a noticeable delay before hitting even when ships enter into a furball.
  • Visible missiles disappear only when their target dies for any reason. Often this is a result of invisible missile damage. The visible missile disappearing does NOT affect your damage output. However, invisible missiles disappear when the attacking ship dies but the VISIBLE missile remains!
Missiles suck because they overkill INSANELY compared to direct fire weapons, with missiles allocated to overkill their targets by between 3 and 4.5 times:

  • In a single volley of 60 missiles that deal 30 damage each, 45 were targeting a single 300 hull corvette, dealing it 1350 damage! Out of the 60 missiles, the spread was: 45 @ ship A, 6 @ ship B, 3 @ ship C, and 3 @ ship D.
  • In a single volley of 60 missiles that deal 5 damage each, 48 were targeting on a single 300 hull corvette, dealing it 240 damage. Out of the 60 missiles, the spread was: 48 @ ship A, 6 @ ship B, and 6 @ ship C. Roughly the same spread of missiles, despite the reduced damage.
  • Compare to a single volley of 60 red lasers dealing 30 damage each. The spread was: 10 each @ ship A-E (killing all 5), 6 @ ship F, 3 @ ship G, 1 @ ship H. Note that there is ZERO overkill here, even though it takes 10 shots per kill and each ship mounted 3 lasers. This means some ships fired at two targets to avoid over-killing. Side note: Ships RARELY target multiple targets with identical weapons, in fact, over-killing is the only time I've observed that behavior.
  • Changing damage values of the missiles doesn't change the outcome much. It is apparent that the 13-15 missiles directed at other targets were more flukes than an intelligent attempt by the game to estimate necessary damage to kill the initial target.
There are several important features mods should consider:

  • The wedge formation is very important to consider. Because the ships don't all reach engagement range at the same time, ships further back make targeting decisions based on the results of the attacks of the front ships. This is NOT true of missiles.
  • The variable wind-up for weapons is also important because it causes ships to pick different targets. When wind-up is fixed, all ships that fire at the same time tend to pick the same target. Especially for high-damage direct fire weapons, the min and max wind-up time should be larger to increase the time delay between shots of ships with the same weapon.
  • Slow missiles, especially with a long range, means a lot of invisible missile waves and greater amounts of overkill.
Point Defense, Now Coded with Spaghetti
Maybe, just maybe, something could be done about missiles via mods with everything that has been found so far. That is, until you account for point defense. NOTHING in point defense makes sense. The system is full of black-magic and basically impossible to sanely mod.

I used 10 Destroyers with no armor, 3 tier 1 PD, and 2 Red Lasers (still modded as above). I modded the PD to 100% accuracy, a 2.5 CD, and to deal only 1 damage. This gives me 30 PD guns facing 60 incoming missiles. I modded the missiles to high CD so I could observe only a single salvo for testing.

First, Point Defense stats are for attacking other ships only. They aren't for shooting down incoming missiles. Instead, there is some black box conversion that apparently determines how many missiles should be shot down. This formula has holes in it that can result in very crazy results from PD, that cause wildly different numbers of missiles to get stopped. Here are some examples:
  • Remeber, the visual missiles mean nothing. PD shooting those down is just eye candy.
  • Changing the cooldown on the red lasers affects the number of missiles shot down, even though the red lasers do not participate in shooting down missiles. How these even happens I cannot fathom.
  • Here are the number of missiles shot down based on the speed of the incoming missiles, see if you spot anything odd:
(Why you no have tables on your forum PI? Is it because all your games are so simple no one's every needed them before :) . Go here for the table version)
* Missiles had a range of 50 unless otherwise indicated.

Spd=5, 46 of 60 missiles stopped (with only 30 PD, 16 got two shots @ 2.5 CD)
Spd=10, 36 of 60 stopped
Spd=20, 32 of 60 stopped (at this point, 2 of the PD guns got a second shot)
Spd=30, 26 of 60 stopped (not every PD gun even got a single shot off, possibly due to the formation and guns on one edge not having range against missiles targeting a ship on the other)
Spd=60, 18 of 60 stopped (hard to attribute this to formation and range issues)
Spd=90, 42 of 60 stopped (WTF? Almost as bad as speed 5 missiles!)
Spd=120, 54 of 60 stopped (WORSE than speed 5?!)
Spd=55, 36 of 60 stopped (just 5 more speed and 18 less missiles get stopped)
Spd=65, 40 of 60 stopped (just 5 less speed and 22 less missiles get stopped)
Spd=50, 36 of 60 stopped (wait for it...)
Spd=40, 3 of 60 stopped (Thank you reddit users for the graph)
Spd=50, Rng=|40, 42 of 60 stopped (So, if I reduce the range of the missiles to 40, 6 more missiles get stopped. Why? This should have no impact on the Spd=50 and Rng=50 test)

So, there you go. PD use black magic to shoot down invisible missiles. Systems and values not even related to PD or missiles may drastically impact there performance.

Paradox Action Items
Not trying to be passive aggressive PI, just want to TL;DR this whole post in case this is an area you have any interest in make changes.
  • Please fix reload stats so it stops crashing Stellaris. This made this testing EXTREMELY painful.
  • Find a way to draw more missile salvos. If you cut to showing only a single missile per ship (instead of one per launcher per ship) you could get more salvos on screen. Consider making grouped missiles particles so you can get multiple missiles on screen for each ship but only use one particle. Reduce missile trail particles, they are kinda long. Maybe have the trail length decrease quickly so that by the time the next salvo launches the salvos in the air have minimal tails.
  • Increase the base missile speed, just for visual purposes, speed 5 is comically slow. Heck, the invisible missiles are hitting earlier anyway, so maybe at least increase the visual speed? Bonus points for matching visuals and actual impact.
  • Missiles need to intelligently account for damage from other missiles in the air, like direct fire weapons. You'll need to account for expected PD kills and over-allocate when the target fleet has PD, but this is a solvable math issue so there isn't any excuse for getting very satisfactory results.
  • Speaking of PD, fix that terrible implementation. If you are going to black box it, at least do the math right. How the missile speed can cause results like that, not to mention the insanity of changing the Red Lasers' CD causing different PD results.
  • Lastly, I can recreate any of these situations on demand. If you need a save and mod files to reproduce, let me know.
 
Last edited:
  • 136
  • 16
  • 4
Reactions:
Honestly, I played about 3 hours of Heinlein and shelved it largely due to new weapon imbalances.

Thanks a lot for going through the trouble of analyzing these problems. Very Helpful. I hope @Wiz and team take a moment to consider your findings.
 
Last edited:
Excellent report.
I'd love to have a look at those files of yours.
 
  • 48
  • 8
  • 2
Reactions:
Honestly, I played about 3 hours of Heinlein and shelved it largely due to new weapon imbalances.

Thanks a lot for going through the trouble of analyzing these problems. Very Helpful. I hope @Wiz and team take a moment to consider your findings.

The new weapon imbalance is way more interesting than the old weapon imbalance though. It used to be Lance or GTFO, now it's worth using at least three or four weapon types.

Just not missiles, even if they weren't a box of voodoo strangeness their anti-armour performance is crap so they're not worth using as soon as Cruisers appear.
 
  • 10
  • 1
Reactions:
If missiles are magic, should Spiritualist empires should get bonuses to missile damage?

More seriously though, good work OP. In-depth research and analysis is always appreciated. I absolutely second your request to fix reload stats because having to exit to desktop between test runs is akin to torture (am I the only one who has Stellaris taking several minutes to launch?).
 
  • 7
  • 4
Reactions:
The missiles you see launched from your ships are not real missiles.
Remeber, the visual missiles mean nothing. PD shooting those down is just eye candy.

Slight aside - I've often wondered why the decision was made to code the combat visuals as a representation of the actual combat. (even if that's not actually the case) As aside from seeing ship losses it doesn't really add anything valuable to the game. Likewise for modelling weapon hardpoints onto each ship type, for all variants of ship sections... all that does is massively increase the 3D art overhead for adding new ship sets, for such a miniscule visual bonus.
 
OP, Hearteater, I’m singularly amazed.
Not only you provided a metric ton of incredible information, you managed to organize and explain all of that in a way that is easy to grasp. Well done!
And the data are very interesting: after Heinlein I’ve begun to use missiles less and less, because I was convinced that with both the nerf to the range of Destroyer torpedoes and the visible missile travel speed, it would have been better to switch to something else.

And I was wrong!

The lack of damage was caused only by the overkill targeting you so kindly explained to us.
Which I suppose, could be immensely helpful in balancing a little rocketry science in Stellaris, which at the moment feel like the third wheel of the situation.
I ask to devs: would it be possible to give missiles AoE damage? Redistributing a portion of the raw damage of every invisible missile to an area of effect, or to every ships in a fleet that is targeted?
This could be a partial solution to the overkill mechanic…
 
  • 1
  • 1
Reactions:
OP, Hearteater, I’m singularly amazed.
Not only you provided a metric ton of incredible information, you managed to organize and explain all of that in a way that is easy to grasp. Well done!
And the data are very interesting: after Heinlein I’ve begun to use missiles less and less, because I was convinced that with both the nerf to the range of Destroyer torpedoes and the visible missile travel speed, it would have been better to switch to something else.

And I was wrong!

The lack of damage was caused only by the overkill targeting you so kindly explained to us.
Which I suppose, could be immensely helpful in balancing a little rocketry science in Stellaris, which at the moment feel like the third wheel of the situation.
I ask to devs: would it be possible to give missiles AoE damage? Redistributing a portion of the raw damage of every invisible missile to an area of effect, or to every ships in a fleet that is targeted?
This could be a partial solution to the overkill mechanic…
The best way around the overkill issues would be to let them aquire new targets.
However that would mean each missile would need the full ability to target the entire lifetime. That would drastically increase the load that Missiles put on Combat Resolution/World Simulation.

A simpler fix would be to just make them a lot faster. Or add overkill to the other weapons as well (proper salvo fire rather the measure each shoot seperately).

The only other way to avoid Overkill is the one that AI War uses; Basically the game tracks wich ship has enough incomming projectiles for a "assured destruction". And nothing more will go for them. This can be a single porjectile (from certain weapons like the Ion Cannon).
However that will not work in a scenario with Shield and Hull Regeneration. Maybe if it was supressed for some time after a missile hit and would go up to +20% total damage needed?
Damn, in combat regeneration will always mess things up horribly for balance. I think I warned them something like this would happen, but it might not have been on this Forum.
 
  • 3
Reactions:
Great report! I've always wondered how one could setup empires/fleets to test. Is there a tutorial on how to setup a Stellaris game for testing purposes?
I think more people would add reports like these.

As for the original problem. Having the missiles acquire a new target is what we should expect from advanced missiles.
However, this would mean tracking each missile and that could/might have an impact on the speed of the battle.
I agree with the assessment that changing the speed might be easier. Cooldown time might be adjusted to keep things balanced.
Accordingly, PD stats might have to be changed but overall this seems easier to do then tracking each missile.
 
  • 2
Reactions:
The Outcome
The missiles you see launched from your ships are not real missiles. They are just a visual effect that hold only a passing resemblance to what your missiles are actually doing. In particular:
  • In general, only a single volley of missiles will be drawn at a time. You can hear the sound effect of each volley, but no new missiles appear (this is on max graphics settings). This can easily result in 4-5 invisible missiles flights waiting to strike.
  • The invisible missiles strike much earlier than the visible effects, apparently travelling about twice as fast. Basically, when the visible missiles are half-way to their target, the invisible missiles they represent hit. There is still a noticeable delay before hitting even when ships enter into a furball.
  • Visible missiles disappear only when their target dies for any reason. Often this is a result of invisible missile damage. The visible missile disappearing does NOT affect your damage output. However, invisible missiles disappear when the attacking ship dies but the VISIBLE missile remains!
Missiles suck because they overkill INSANELY compared to direct fire weapons, with missiles allocated to overkill their targets by between 3 and 4.5 times:

In order to see if I got the same result I decided to test this for myself. I did not actually go into the files to create the perfect missile for this. I did however create a battleship design with a single missile and the usual complement I test my mod with in Thumbnail 1 So enjoy a sneak peak of the Swarmer missiles
20161122191745_1.jpg
So I then pitted two of these battleships against one another. Turns out more than one missile per launcher at a time is drawn.
20161122191931_1.jpg
Then for Point two I looked at the timing between where the missile is drawn at the time it hits the target. These are the results:
20161122192204_1.jpg 20161122192217_1.jpg 20161122192245_1.jpg 20161122192254_1.jpg
One result was omitted because the drawn missile was just outside of screenshot. It looks like the missile is tied to the drawn part of the missile. But In this experiment it cannot be proven wrong that the missile has slightly more speed than the drawn part.

If the missile is tied to the drawn part than it can be confirmed that the invisible missiles are not actually seperate from the drawn part.

Therefore in an attempt to prove this I will use corvettes in an attempt to alter the distance between the invisible missile and the drawn missile by moving away/toward it. What should be seen is that the distance between hitting and damage should decrease if the corvette is moving towards the missile and the distance should increase if the missile is moving away.

Results:

20161122194805_1.jpg 20161122194750_1.jpg 20161122194813_1.jpg

While the method wasn't the best for this it appears that there isn't much difference in terms of this invisible missile hitting. I would expect a bigger difference if there was. Therefore I can only conclude that there are no invisible missiles and the current system is a missile that hits a short distance before it's shown to do so.

Paradox Action Items
Not trying to be passive aggressive PI, just want to TL;DR this whole post in case this is an area you have any interest in make changes.
  • Please fix reload stats so it stops crashing Stellaris. This made this testing EXTREMELY painful.
  • Find a way to draw more missile salvos. If you cut to showing only a single missile per ship (instead of one per launcher per ship) you could get more salvos on screen. Consider making grouped missiles particles so you can get multiple missiles on screen for each ship but only use one particle. Reduce missile trail particles, they are kinda long. Maybe have the trail length decrease quickly so that by the time the next salvo launches the salvos in the air have minimal tails.
  • Increase the base missile speed, just for visual purposes, speed 5 is comically slow. Heck, the invisible missiles are hitting earlier anyway, so maybe at least increase the visual speed? Bonus points for matching visuals and actual impact.
  • Missiles need to intelligently account for damage from other missiles in the air, like direct fire weapons. You'll need to account for expected PD kills and over-allocate when the target fleet has PD, but this is a solvable math issue so there isn't any excuse for getting very satisfactory results.
  • Speaking of PD, fix that terrible implementation. If you are going to black box it, at least do the math right. How the missile speed can cause results like that, not to mention the insanity of changing the Red Lasers' CD causing different PD results.
  • Lastly, I can recreate any of these situations on demand. If you need a save and mod files to reproduce, let me know.

1. Please do Paradox. It's an issue where if you click on a fleet during a battle after reload stats has been executed it Crashes to desktop.

2. Proven that it already does.

3. Not really an issue for me.

4. I think it's fine, you just need to fine tune it in terms of balancing appropriately.

5. What are you talking about? I've had no problem fine tuning my mod's PD stats the balance it out.

Not sure what to make of the PD system "black box" nor the testing. I don't see how speed would affect the ability of a instant hit PD system. Therefore I can only say that the lack of a clear gradient with a large inaccuracy in the results is to be expected.
 
  • 8
  • 5
Reactions:
I'd like to see missles acquire new targets. To me, its the only solution that makes sense. I would not think acquiring the closest target would be that big of a resource hog.
 
  • 6
Reactions:
The best way around the overkill issues would be to let them aquire new targets.
However that would mean each missile would need the full ability to target the entire lifetime. That would drastically increase the load that Missiles put on Combat Resolution/World Simulation.

A simpler fix would be to just make them a lot faster. Or add overkill to the other weapons as well (proper salvo fire rather the measure each shoot seperately).

The only other way to avoid Overkill is the one that AI War uses; Basically the game tracks wich ship has enough incomming projectiles for a "assured destruction". And nothing more will go for them. This can be a single porjectile (from certain weapons like the Ion Cannon).
However that will not work in a scenario with Shield and Hull Regeneration. Maybe if it was supressed for some time after a missile hit and would go up to +20% total damage needed?
Damn, in combat regeneration will always mess things up horribly for balance. I think I warned them something like this would happen, but it might not have been on this Forum.

Why not trigger a re-target at the point where you're about to delete the projectile? That way not every missile would need to retarget at all and the ones that did would only do so a few times. Should cut down on the overhead.

You could also just have missiles spread out to hit as many different targets as possible, although that might make them even worse. q:3 Giving them an EMP stun to lengthen cooldowns or suppress regen or something might make that effective though.
 
  • 2
Reactions:
I can't say much about the balance aspects of this, but I can definitely support the suggestion that Paradox mess with how they render their missiles- of everything in the game, missiles lag it out the worst (second only to late-game sprawl), at least in my experience. The game literally reaches a near-freeze if I zoom in on even a fairly small missile engagement.
 
re the overkill factor: This is REALLY REALLY BAD when the fleets retarget (and overkill) every science ship, transport ship, and mining station that comes into range instead of the enemy fleet and station.

<grumble> It's that damn Drake nerf all over again </grumble>
 
  • 4
Reactions:
I can't say much about the balance aspects of this, but I can definitely support the suggestion that Paradox mess with how they render their missiles- of everything in the game, missiles lag it out the worst (second only to late-game sprawl), at least in my experience. The game literally reaches a near-freeze if I zoom in on even a fairly small missile engagement.
Well it is the missile plus the smoketrail. With a chance of multiple missiles per launcher being in space at any given time as shown above.
As far as Weapon projectiles go, Missiles are just the worst of the bunch as far as GPU processing is concerned. It is thier very nature.

Why not trigger a re-target at the point where you're about to delete the projectile? That way not every missile would need to retarget at all and the ones that did would only do so a few times. Should cut down on the overhead.
Currently projectiles are not even considered to retarget. To properly do retargetting they might have to turn each and every missile into a sort of "micro ship". Put 10 missiles on one BB, that would be 10 extra ships the game has to calculate. Per salvo that has not yet reached the target.

And the vanishing can also happen if the launching ship is destroyed, wich should not trigger retargetting (and let us not try to retarget a missiles whose launching ship has been killed; no access to accuracy and tracking values would make that infeasible).

I think it was planned for the Cloud Lighting to actually jump to nearby targets. If so, the expansion of projectiles to allow jumping could also allow missiles to retarget.
Indeed the process of retargetting for Jump and Retargetting for Target loss would be extremly similar.
 
  • 2
Reactions: