fa
fa copied to clipboard
Sync strike
Select a group of TML, hold ctrl, and click to give a launch order. Only launchers with no other orders queued will be included. TMLs between different factions don't work great when they're grouped together.
My first impression is that it all seems fine. Thank you for writing the pull request. We'll take this with the 4th developers iteration.
I'll give it a test once the release of the third developers iteration is done.
@clyfordv is this ready for testing?
- There are some additional features I've planned on adding, but the base architecture for doing so is there and not expected to change.
- The flight time values haven't been updated since the tactical missile componentization, but don't differ significantly.
To test right now, select multiple launchers, hold ctrl, and give a launch command.
Let's first try to merge the current feature set before we extend on it
Would you mind if I make some edits / add annotations as I see fit?
Would you mind introducing an MIT license to the top of the code? As an example:
- https://github.com/FAForever/fa/blob/deploy/fafdevelop/lua/sim/NavGenerator.lua#L1-L21
But then with a name of your choosing, of course
@clyfordv how would this work with the new tactical missile trajectory?
Load/launch times should stay the same. Initial testing suggests trajectories have a very similar flight time, so the as is implementation should be fine. However, now that the TML trajectories are deterministic, it would be best to just to rework it so the values are calculated automatically (once) instead of a using a lookup table.
Edit: Timing is good, just tested it.
Interesting addition that I think is a fine addition after refinement.
The TMLs get stuck if a sync strike is ordered out of range. They won't be able to fire at all.
Rarely the TMLs wouldn't fire, even with loaded missiles.
When targeting close, the sync strike isn't well synced. Firing without sync fire has the missiles impact within smaller time duration.
Ordering the launch of a sync strike when 0 missiles are loaded also makes TMLs stuck.
@clyfordv I'd love to include this; what is the status quo at the moment?
Still need to incorporate some of Pokute's feedback and put the finishing touches on the UI (which is pretty slick if I may say so).
Primary roadblock is that some of the recent tactical missile changes have jacked up the missile trajectories (see comment here: https://github.com/FAForever/fa/pull/5525) and I can't do the flight time data until that's settled.
the missile changes are settled in if you ask me. At best we may increase their fire rate and reduce the damage at this point.
The short range trajectories feel unfinished, where (at least for UEF, haven't looked at the others too much) the missiles tend to overshoot (the old short range trajectories were not great, pretty jerky, but we should strive to improve on them).
I feel like there's also some balance implications for, say, the flapjack effectively having its minimum range (against mobile targets) increased, along with the effectiveness of TML against close-in experimentals.
I'm happy to take a crack at some short range corrections if you'd like.
The minimum range increase was discussed with and accepted by the balance team. You're free to adjust some of the trajectories to make them work better up close 😃 . Ideally the arc on long range targets remains roughly the same
Will do. See new UI/UX for sync strikes:
- Launch command + hold CTRL to initialize sync strike
- Launch command + hold CTRL + click existing sync strike to add launchers
- Click sync strike order icon to release strike
Is this the final behavior*? Once we go to the release branch there's no going back
Can't confidently say that, no. There's a lot of new UI and backend machinery that needs a shakedown before I can say yes.
It certainly does look fancy 😃
https://github.com/FAForever/fa/assets/15778155/817065ec-aff7-47c4-8a62-8af3a4d87961
It certainly does look fancy 😃
sync-strike.mp4
TML stips just got a UI helping hand
what was the hold up on this one ?
- Feature ready but needs testing/shakedown before being unleashed
- Firing data tables are out of date
I'm also not entirely sure whether we should introduce this. The feature is nice, but it's not exactly maintainer friendly. If we edit the trajectories (which happened a lot the past year) then we also need to re-evaluate the timing tables. Which is easily forgotten 😃
How difficult would it be to generate the timing tables at runtime?
You'd need to:
- (1) Launch a missile on an interval over the range of the missile launcher.
- (2) Launch multiple missiles per step of the interval.
- (3) Compute the average number of ticks that it takes to reach a target at a given step of the interval.
And then update the values in the UI, as all of this logic is in the UI at the moment 😃 !