lisongmechlab / lsml

Li Song Mech Lab
http://lisongmechlab.github.io/lsml/
GNU General Public License v3.0
42 stars 6 forks source link

Examine how "javelin" weapon types spread the projectiles #691

Closed LiSongMWO closed 2 years ago

LiSongMWO commented 7 years ago

Some weapons have the projectileclass="javelin" attribute in the XML, namely LRM and ATM type weapons. These weapons also have a spread attribute which apparently doesn't function the same way as it does for SRM or LBX.

For now the spread is disabled for javelin type weapons. But we need to examine how the spread is computed over the flight path.

NavidA1 commented 7 years ago

Lrms and ATMs have lots of parameters regarding their arced flight path. Parameters like: peakdist peaktime minheight maxheight trackingstrength radius formation_speed formation_size formation_size_per_index spread falloffexponent

Just by looking at those parameters and seeing how LRMs work in game, My guess is that the game calculates a trajectory with two segments (a circular ascent and an exponential descent) based on range of the "end" point using peakdist ,peaktime , minheight , maxheight andfalloffexponent . The trajectory is updated in real time. The missiles then according to tracking strength of the weapon seem to be tracking a virtual target moving along that generated trajectory with the weapon's projectile velocity.

Streaks do not have any path. they are fired and they instantly try to follow the end point with the tracking strength attribute.

Regarding the spread. It seems like that Spread for LBX weapons define how apart the pellets are fired... think of it as a value measured in radians rather than a random spread of dots in a circle (with a radius equal to the spread value). As a result, LBX spread wider and wider as they travel further from the shooter. SRMs, LRMs and ATM spreads however are just random dots (formation_size and formation_size_per_index maybe) in a circle defined with a radius equal to spread value. Therefore, they keep the same spread no matter how far they go.

That i what I can guess from all this.

Also btw, There is a Radius attribute in the stats which I think is the target hit check condition. I remember in the past where Streaks were hovering in the air where their target was supposed to be, constantly orbiting a single point in a tight pack, never being able to hit a perfect spot (due to finite tracking strength)... until they exploded after their lifetime limit

LiSongMWO commented 7 years ago

Falloffexponent is an old attribute that was used for the near range falloff of c-lrms. So it's probably not used for the trajectory.

Also the spread of lbx and MG and SRM is different from LRM (These are already calculated).

I would appreciate recordings of the flight path from spectator mode in lobby both top and side view.

On 15 Sep 2017 15:53, "NavidA1" notifications@github.com wrote:

Lrms and ATMs have lots of parameters regarding their arced flight path. Parameters like: peakdist peaktime minheight maxheight trackingstrength radius formation_speed formation_size formation_size_per_index spread falloffexponent

Just by looking at those parameters and seeing how LRMs work in game, My guess is that the game calculates a trajectory with two segments (a circular ascent and an exponential descent) based on range of the "end" point using peakdist ,peaktime , minheight , maxheight andfalloffexponent . The trajectory is updated in real time. The missiles then according to tracking strength of the weapon seem to be tracking a virtual target moving along that generated trajectory with the weapon's projectile velocity.

Streaks do not have any path. they are fired and they instantly try to follow the end point with the tracking strength attribute.

Regarding the spread. It seems like that Spread for LBX weapons define how apart the pellets are fired... think of it as a value measured in radians rather than a random spread of dots in a circle (with a radius equal to the spread value). As a result, LBX spread wider and wider as they travel further from the shooter. SRMs, LRMs and ATM spreads however are just random dots (formation_size and formation_size_per_index maybe) in a circle defined with a radius equal to spread value. Therefore, they keep the same spread no matter how far they go.

That i what I can guess from all this.

Also btw, There is a Radius attribute in the stats which I think is the target hit check condition. I remember in the past where Streaks were hovering in the air where their target was supposed to be, constantly orbiting a single point in a tight pack, never being able to hit a perfect spot (due to finite tracking strength)... until they exploded after their lifetime limit

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EmilyBjoerk/lsml/issues/691#issuecomment-329789177, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6Memu_HNypGOAeG6yzQfAiE5dOioTks5sioE7gaJpZM4OnW7q .

NavidA1 commented 7 years ago

The new free cam option in the testing grounds is a good way to see those missile trajectories.

LiSongMWO commented 7 years ago

I do not trust results from testing grounds as they have historically proven to not always agree with the live servers.

2017-10-19 18:41 GMT+02:00 NavidA1 notifications@github.com:

The new free cam option in the testing grounds is a good way to see those missile trajectories.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/EmilyBjoerk/lsml/issues/691#issuecomment-337966774, or mute the thread https://github.com/notifications/unsubscribe-auth/AFD6MaurqL6hrZf41R_5HYLURwS8sWeOks5st3vXgaJpZM4OnW7q .

LiSongMWO commented 2 years ago

I've filed #789 to superseed all the missile spread bugs.