Aurora 4x

C# Aurora => General Discussion => Topic started by: Steve Walmsley on December 06, 2020, 10:48:16 AM

Title: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 10:48:16 AM
I am debating changing the order of missile movement. Currently missiles move in descending order of speed. This has two main implications (based on the assumption that AMMs are faster than ASM):
This means you might get an extra launch against incoming ASM before they strike, but it also means your point defence is likely to engage harder-to-hit, low-damage missiles before slower missiles with larger warheads.

I could simply change missiles to slowest move first (similar to worse reactions first for ships) and the reverse of the above will be true. The issue might be AMMs launching against targets they could not hit due to move order. Therefore, I think the best option might be that AMM with a missile target move first, followed by all other missiles in descending order of size. The latter being to simulate that point defence will likely attack larger inbound targets first.
Title: Re: Missile Movement
Post by: Droll on December 06, 2020, 11:08:34 AM
I actually like the current order because it allows 2nd Stage missiles to use "decoy" missiles in a bid to attack beam PD heavy ships.

It's actually why a part of me wants to see 0.5 MSP missiles just so I can fit double the decoys in a 2nd stage. It sounds like implementing your change will effectively destroy this type of missile.

Edit: Currently large missiles already have trouble doing anything since you removed missile armor so decoying them is the only way I know of that can make them useable.
Title: Re: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 11:20:33 AM
Larger missiles are intended to use ECM/ECCM. Missile 'armour' didn't work with the other mechanics and was too powerful on missiles.

Consider that with Ceramic Composite Armour, a single armour box on a ship is 5 tons. One missile size point is 2.5 tons. Therefore, adding one point of armour to a missile should require 2 MSP with that armour technology.

Also, it is unlikely that point defence crews would shoot at smaller missiles first just to make life easier for an attacker. The mechanics have to pass the common sense test. Once I get around to really tackling EW, perhaps you could have decoy missiles with some form of 'blip enhancer'.
Title: Re: Missile Movement
Post by: King-Salomon on December 06, 2020, 11:32:24 AM
don't know anything about coding - but would it be possible to add a random element to it?

to simulate the "chaos" of a battlesituation instead of this will hapen - than this...

so maybe it might happen in this order.. but next phase it might happen in the other order?

sorry for making things more complicated as they have to  ;D
Title: Re: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 11:37:44 AM
don't know anything about coding - but would it be possible to add a random element to it?

to simulate the "chaos" of a battlesituation instead of this will hapen - than this...

so maybe it might happen in this order.. but next phase it might happen in the other order?

sorry for making things more complicated as they have to  ;D

Making missiles move in a random order is easy to do. Even so, it would still make sense for PD crews to target the largest inbound missiles if they only get one shot.
Title: Re: Missile Movement
Post by: nuclearslurpee on December 06, 2020, 11:38:48 AM
I do support the idea of missiles moving in descending order of size, rather than speed - with an exception for AMMs, probably.

Ideally it would be nice if we don't need a target-based exception for AMMs, since eliminating exceptions in the mechanics seems to be a design goal of C# Aurora. A possible solution would be to have all missiles move before exploding, i.e. allowing AMMs to function in a final fire manner.

So an alternative idea would be to have all missiles move in descending order of size, as suggested to improve beam PD functioning, but not have missiles explode until all missiles have moved. Then detonate missiles in inverse order of time-since-launch, so the "youngest" missiles hit a target and detonate first. This means that in a case where ASMs arrive at a ship in the same game tick that AMMs are launched from that ship/fleet, the AMMs will have a chance to hit the ASMs before they impact their target.

It's worth noting that one rather specific yet common situation where this would be significant is against Precursor missiles as it is not uncommon to encounter these while the player is still rather out-teched. For a player using AMMs it is possible that Precursor ASMs actually outrun player AMMs leading to situations where the AMMs "miss" by having the ASMs fly past them during an increment and then are unable to catch up while flying backwards - which makes sense, given the increment mechanic, but constitutes an additional to-hit penalty on top of the existing hit% calculation. Being able to use AMMs as a pseudo-PD weapon would give the player some recourse in this scenario - besides the good ol-fashioned approach of working out time-on-target solutions in a spreadsheet.
Title: Re: Missile Movement
Post by: Migi on December 06, 2020, 11:44:18 AM
I think making missiles with missile targets move first makes sense.

Just to clarify, would this apply to all missiles or only to missiles the code thinks are AMMs (ie size 1 only)?
Because if you run out of AMMs you might want to use your ASMs in an AMM role (against other ASMs) and would no longer benefit.

I'm not sure that a random element would be a good thing, for one thing it would make it harder to debug.
Title: Re: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 11:45:09 AM
I do support the idea of missiles moving in descending order of size, rather than speed - with an exception for AMMs, probably.

Ideally it would be nice if we don't need a target-based exception for AMMs, since eliminating exceptions in the mechanics seems to be a design goal of C# Aurora. A possible solution would be to have all missiles move before exploding, i.e. allowing AMMs to function in a final fire manner.

So an alternative idea would be to have all missiles move in descending order of size, as suggested to improve beam PD functioning, but not have missiles explode until all missiles have moved. Then detonate missiles in inverse order of time-since-launch, so the "youngest" missiles hit a target and detonate first. This means that in a case where ASMs arrive at a ship in the same game tick that AMMs are launched from that ship/fleet, the AMMs will have a chance to hit the ASMs before they impact their target.

It's worth noting that one rather specific yet common situation where this would be significant is against Precursor missiles as it is not uncommon to encounter these while the player is still rather out-teched. For a player using AMMs it is possible that Precursor ASMs actually outrun player AMMs leading to situations where the AMMs "miss" by having the ASMs fly past them during an increment and then are unable to catch up while flying backwards - which makes sense, given the increment mechanic, but constitutes an additional to-hit penalty on top of the existing hit% calculation. Being able to use AMMs as a pseudo-PD weapon would give the player some recourse in this scenario - besides the good ol-fashioned approach of working out time-on-target solutions in a spreadsheet.

Interesting idea. That is trickier to code however. Currently, the damage does happen after everything moves, but all the interceptions and hits are handled sequentially. A Damage Record is created for each impact and a Resolve Damage phase follows movement. I would have to 'undo' hits due to subsequent interceptions before damage resolution (and record which salvo caused the damage), which is a little messy. Or rewrite missile movement.
Title: Re: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 11:46:00 AM
I think making missiles with missile targets move first makes sense.

Just to clarify, would this apply to all missiles or only to missiles the code thinks are AMMs (ie size 1 only)?
Because if you run out of AMMs you might want to use your ASMs in an AMM role (against other ASMs) and would no longer benefit.

I'm not sure that a random element would be a good thing, for one thing it would make it harder to debug.

'AMM' in this context would be a salvo targeting another salvo, regardless of size.
Title: Re: Missile Movement
Post by: Zincat on December 06, 2020, 12:06:05 PM
Absolutely, PD ships should target largest missiles first.

There is absolutely no possible logical reason why a beam PD weapon would attack smaller missiles first. And at the tech level involved, it would also make no sense to introduce randomness. The largest missile is surely easily recognizable. If it is not, then there is electronic warfare involved. ECM, ECCM or anything else that could be added later on.

But barring that, largest missiles have to be targeted first. In fact, I really want this because I have been in a few situations and the AMM reached first, thus some ASM hit my ships.
Now, about the mechanical in-game means for that to happen, I'd say that what you are thinking could work.

Missiles with a missile target move first
Then all other missiles, from largest to smallest.
Seems pretty easy to understand to me, and functional as well.
Title: Re: Missile Movement
Post by: Droll on December 06, 2020, 12:10:46 PM
Larger missiles are intended to use ECM/ECCM. Missile 'armour' didn't work with the other mechanics and was too powerful on missiles.

Consider that with Ceramic Composite Armour, a single armour box on a ship is 5 tons. One missile size point is 2.5 tons. Therefore, adding one point of armour to a missile should require 2 MSP with that armour technology.

Also, it is unlikely that point defence crews would shoot at smaller missiles first just to make life easier for an attacker. The mechanics have to pass the common sense test. Once I get around to really tackling EW, perhaps you could have decoy missiles with some form of 'blip enhancer'.

Honestly if you make it so that decoy missiles have a much more explicit implementation instead of implicit implementation I don't really care which order missiles move in. I just believe that making decoy missiles is an interesting design aspect which I hope will survive.
Title: Re: Missile Movement
Post by: Iceranger on December 06, 2020, 12:13:47 PM
Larger missiles are intended to use ECM/ECCM. Missile 'armour' didn't work with the other mechanics and was too powerful on missiles.

Consider that with Ceramic Composite Armour, a single armour box on a ship is 5 tons. One missile size point is 2.5 tons. Therefore, adding one point of armour to a missile should require 2 MSP with that armour technology.

Also, it is unlikely that point defence crews would shoot at smaller missiles first just to make life easier for an attacker. The mechanics have to pass the common sense test. Once I get around to really tackling EW, perhaps you could have decoy missiles with some form of 'blip enhancer'.

I totally agree that shooting smaller missiles first doesn't make sense. However, I would like to point out the current lack of efficiency of large missiles are not balanced by their ability to mount better ECM/ECCM.

The main reason for smaller missile to dominate is simply that it is much easier to saturate the (beam) PD with smaller missiles. You can launch 6x S1 missiles with roughly the same space needed to launch a single S6 missile (which may not be consider a 'large' missile by some players). On the defender side, they only need 1/6 PD guns to defend against S6 missile salvos compared to defending against S1 salvos launched from a similar sized ship. This number gets much worse with larger ASMs. That's why we constantly see players do well against certain race's ASMs but get completely murdered by their AMM platforms. With proper design and under a realistic settings (similar tech levels), it is very likely that one can design S1 missiles with better efficiency (in terms of cost per actual damage) than any larger missiles.
Title: Re: Missile Movement
Post by: Steve Walmsley on December 06, 2020, 12:21:37 PM
Bear in mind that if a target has ECM, the missile can only overcome that with onboard ECCM. The fire control can't help in C#. So against ECM-protected targets and especially at higher TL, smaller missiles have a disadvantage to hit.
Title: Re: Missile Movement
Post by: Droll on December 06, 2020, 12:35:43 PM
Bear in mind that if a target has ECM, the missile can only overcome that with onboard ECCM. The fire control can't help in C#. So against ECM-protected targets and especially at higher TL, smaller missiles have a disadvantage to hit.

This has never come into play for me. I am always able to have small missiles with both ECM and ECCM mounted that can both do consistent damage while also breaching PD. My missile sizes tend to be between 4-10 on my capital ships.

This is especially because of how mandatory ECM/ECCM is currently. ECM 10 grants almost complete immunity from any and all NPR weapons fire in all contexts (STO, PD, AS). The only reason why I lose fighters is because they mount the fighter size ECM 5s.

It should be noted that for this reason I always rush research of ECM systems.
Title: Re: Missile Movement
Post by: Pury on December 06, 2020, 12:57:42 PM
I think that it would be interesting to allow NPR to target missiles primarily based on their knowledge about them and secondarily based on their size and speed.   That would make it harder to use their limitations as an AI for players advantage.   Simple calculation of missile type (and maybe number of them) in a salvo, where All aviable information's: DMG, agility, speed, ECM would be used to calculate which salvo is the deadliest.   If missile design is unknown, then it is treated as the known missile of the closest size (With maximum difference implemented to prevent some wrong assumption's).   If non missile designs present are known, then AI will target them based on Size and (then) Speed. 
Edit:
Although this would require to separate movement and dmg phase, as proposed above
Title: Re: Missile Movement
Post by: Zap0 on December 06, 2020, 10:19:51 PM
(based on the assumption that AMMs are faster than ASM)

I'd like to attack this assumption: In my game I've got AMMs that are slower than ASMs. Why? AMMs don't need to worry about getting shot at and can spend their tonnage maximizing their hit chance using more maneuverability at the cost of engine tonnage. ASMs on the other hand worry very much about getting shot down and invest more heavily in their speed, as it doubles as their defense.
That means that I could end up in situations where I have ASMs outrunning AMMs, but that would require a given race to fight against their own missiles, which they generally don't :-)

The determinism in missile movement/impact order has been bothering me a little bit. Right now it seems that decoy missiles are the "ideal" play. I like that that can exist as an option in the game mechanics, but rather not have them always be the best option. So I'm in favor of both the AMM moving before ASM and a randomized move order for missiles in their brackets in general.
Title: Re: Missile Movement
Post by: Zincat on December 07, 2020, 02:43:53 AM
I am sorry but this is not acceptable reasoning to me.

I am not against missile decoys in general. But it needs to be something that pertains to electronic warfare. The mechanics have to make sense. This is the reason why I'm against random movement missile order with the current system in place.

If there is no EW, then PD HAS to target largest missiles first. If there is EW then we can have decoys. But the mechanics have to be consistent. Even more so because with AMM you can target exactly the missiles you want. There is never a situation, with AMM, where you are hitting the wrong missiles by chance.

Therefore, having movement randomized would ONLY impact PD beam weapons, and not AMM. So this is not acceptable reasoning. You are basically saying that this "decoy" of sort only affects beam FC and not  missile FC.
Title: Re: Missile Movement
Post by: Froggiest1982 on December 07, 2020, 03:02:31 AM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?
Title: Re: Missile Movement
Post by: Steve Walmsley on December 07, 2020, 09:43:04 AM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?

Yes, that is possible.
Title: Re: Missile Movement
Post by: Droll on December 07, 2020, 10:43:40 AM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?

Yes, that is possible.

This is probably the best outcome as it allows you to direct your gunners to choose targets based on the tactical outlook. You might have knowledge about a certain NPR that might make different incoming missiles in a wave more/less desirable to shoot at.

It also gets around the whole realism/logic issue of what decision making process the gunners would follow.
Title: Re: Missile Movement
Post by: Steve Walmsley on December 07, 2020, 12:01:02 PM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?

Yes, that is possible.

This is probably the best outcome as it allows you to direct your gunners to choose targets based on the tactical outlook. You might have knowledge about a certain NPR that might make different incoming missiles in a wave more/less desirable to shoot at.

It also gets around the whole realism/logic issue of what decision making process the gunners would follow.

Yes, but it also gives the NPR a harder decision, so AI work would be needed as well. Maybe a longer term option.
Title: Re: Missile Movement
Post by: Froggiest1982 on December 07, 2020, 12:15:57 PM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?

Yes, that is possible.

This is probably the best outcome as it allows you to direct your gunners to choose targets based on the tactical outlook. You might have knowledge about a certain NPR that might make different incoming missiles in a wave more/less desirable to shoot at.

It also gets around the whole realism/logic issue of what decision making process the gunners would follow.

Yes, but it also gives the NPR a harder decision, so AI work would be needed as well. Maybe a longer term option.

You can always keep the AI on a fixed logic for the time being.
Title: Re: Missile Movement
Post by: Migi on December 07, 2020, 01:46:25 PM
Question: would it possible to make it optional similar to STOs?

So I could just ask to target by speed, chance to hit or size?

Yes, that is possible.

This is probably the best outcome as it allows you to direct your gunners to choose targets based on the tactical outlook. You might have knowledge about a certain NPR that might make different incoming missiles in a wave more/less desirable to shoot at.

It also gets around the whole realism/logic issue of what decision making process the gunners would follow.

Yes, but it also gives the NPR a harder decision, so AI work would be needed as well. Maybe a longer term option.
I would like to start by mentioning that STO targeting is currently a pain and I made a suggestion to improve it.

For the AI and player the default targeting option should be based on missile size because this is very likely to correlate with warhead size. A size 1 missile almost certainly cannot fit the same warhead as a size 6 or 12 missile.
The secondary sort should probably be missile speed because faster missiles have a better base to-hit chance and are somewhat likely to represent newer technology.
It probably needs some fuzzy logic so that a size 5.999 missile is not ignored due to a size 6.000 missile.*
If the warhead size of all incoming missiles is known then the targeting logic can swap to targeting by warhead size which is probably the most important stat.
I don't know if missile to-hit chance is supposed to be known but it gets shown in the logs. Missile to-hit chance can be used to reverse engineer the manoeuvrer rating and give to-hit chance against a target at any speed.
So the secondary sorting should be to-hit chance against the target, once known.
I think it would be more thorough to multiply to-hit chance and damage to get expected damage per missile, and sort by that value but it depends on whether to-hit and MR are supposed to be known in game.


This is all pretty in-depth and I'm not sure if we are really discussing the original question any more.


*Actually thinking about it you can design and build lots of different missiles by making lots of different research projects for a missile with the same stats. The research cost of this increases linearly by the number of missile types you want to field. Until they hit something the target cannot know which are more important or if they are identical. It might be necessary to treat all missiles of the same (or similar) size as having the same warhead size until demonstrated otherwise.
Title: Re: Missile Movement
Post by: xenoscepter on December 07, 2020, 06:07:32 PM
 - Could we maybe have missile Agility contribute to evasion chance?  That way we could make highly evasive missiles.

BTW: I miss my Armored Torpedoes... :(
Title: Re: Missile Movement
Post by: TheTalkingMeowth on December 07, 2020, 06:21:07 PM
- Could we maybe have missile Agility contribute to evasion chance?  That way we could make highly evasive missiles.

BTW: I miss my Armored Torpedoes... :(

I really think making agility contribute to missile evasion would be a good change (and have written on this elsewhere). However, it's a major balance change and would also make the issue currently being discussed (how to prioritize targeting for PD and AMMs) even harder.
Title: Re: Missile Movement
Post by: Zap0 on December 08, 2020, 03:29:16 AM
- Could we maybe have missile Agility contribute to evasion chance?  That way we could make highly evasive missiles.

I really think making agility contribute to missile evasion would be a good change (and have written on this elsewhere).

If missile agility was a boon to both to-hit and to-dodge, you'd always want to have whatever the optimal ratio for your missile is. As it is currently it's a decision between spending tonnage on improving to-hit or spending it elsewhere, mainly to-dodge.

Title: Re: Missile Movement
Post by: xenoscepter on December 08, 2020, 03:50:30 AM
- Could we maybe have missile Agility contribute to evasion chance?  That way we could make highly evasive missiles.

I really think making agility contribute to missile evasion would be a good change (and have written on this elsewhere).

If missile agility was a boon to both to-hit and to-dodge, you'd always want to have whatever the optimal ratio for your missile is. As it is currently it's a decision between spending tonnage on improving to-hit or spending it elsewhere, mainly to-dodge.

 - Ya know, that's true. :)
Title: Re: Missile Movement
Post by: TheTalkingMeowth on December 08, 2020, 11:00:57 AM
You would need to introduce non-linearity in the effects of agility if that change were made. That's why it's so out of scope.

Basically, if agility represented the transverse acceleration capacity of the missile, you could use results from missile guidance theory to determine hit chance in a way that is nonlinear and creates interesting design choices, since accuracy would now vary against different size targets (among other things).