Skip to content

Mitigating script controlled missile ECM and GPP error circumvention #7

Description

@trk20

Problem

With vanilla Lua missile control scripts, it's already possible to entirely remove error introduced to missiles by various means.

With this mod's switch to an easier to use and more feature rich language and changes to the missile API for usability, this makes it even more practical for scripts to implement these potentially unfair error mitigations.

While this is partially mitigated by removing the ability for scripts to access perfect target position (which accounts for both stability and detection error), it poses a problem for both ECM and GPP error, as these errors have a constant direction vector for each missile that can be determined and corrected for - in the most extreme case by calculating the underlying missile physics from the point of launch, or more practically with one or more PIDs.

Approaches

There are three general approaches this could be handled by FtDSharp:

  • Keep vanilla behaviour and expect players to self-regulate when appropriate
  • Determine a non-vanilla alternative that keeps the spirit and general effectiveness of ECM and GPP error while making it either substantially more difficult or (ideally) impossible to mitigate
  • Both, and add a setting to use one or the other

Non-vanilla alternatives

Option Description Pros Cons
Noisy aimpoint error Replace the static error direction vector on the missile aimpoint with one that changes randomly each frame - Can keep the same error magnitude
- Works similarly to normal detection error
- Will introduce significant additional jitter to missiles without opportunity for a player to trade responsiveness for smoothness
- Introduces choice between maintaining error magnitude and being harder to mitigate (if magnitude was also random)
Connectivity interference Instead of introducing error, have ECM and lack of GPP give a chance for the missile's aimpoint not to update that tick - missile essentially gains a chance to "go dumb". - Essentially impossible to mitigate
- Doesn't introduce additional jitter
- More true to life/realistic
- Requires mapping error magnitude to interference probability and related balancing of effectiveness
- Substantially different from vanilla

Feel free to suggest additional alternatives or voice your opinion in the comments

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions