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
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:
Non-vanilla alternatives
- Works similarly to normal detection error
- Introduces choice between maintaining error magnitude and being harder to mitigate (if magnitude was also random)
- Doesn't introduce additional jitter
- More true to life/realistic
- Substantially different from vanilla
Feel free to suggest additional alternatives or voice your opinion in the comments