-
Notifications
You must be signed in to change notification settings - Fork 494
Rework continuous_aim as a performance tradeoff, not just a spam penalty #6293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Rework continuous_aim as a performance tradeoff, not just a spam penalty #6293
Conversation
|
This tested well though might need adjustments for actual player perf expectations in heavy multiplayer games. |
This adds support for give/take/capture and dynamic team maxunits. Non-player teams get a very large reference value for their maxunits, making them less prone to reaimTime penalties and keeping a more smooth difficulty scaling as they produce more units. Player teams scale vs. a reference amount, 2400 (2000 maxunits + 400 default spam rating for padding), so unit control is never noticeably different due to game mode. It also allows spam score to decrease over time, treating this as a performance tradeoff rather than a penalty for making units, and spreads out the reaimTime penalty to all unitdefs on that team, not only the source "spam-prone" unit. Finally, all units are "spammable" to some degree, now, and all values have been adjusted to account for this.
6e60e00 to
282c7c5
Compare
why? |
|
I want to treat this as a performance tradeoff rather than a penalty for making units. eta: Slightly better PR description. |
Co-authored-by: sprunk <[email protected]>
…c/Beyond-All-Reason into continuous-aim-improvements
This is equally arbitrary and made-up. Just want the PvE horde-mode faction not to lose its edge over players when they give themselves crazy bonuses.
still dancing around the fact that the customparam isn't the "X units made" so I have some sloppy writing unless someone reads the code to figure out what it means
Work done
current maxunits / default maxunitsThis approach offers a more direct performance tradeoff rather than a continuously increasing penalty for making units. Chiefly, I want to recover my original/faster reaim time whenever units are lost, including given and captured units. Then, I want to support our dynamic maxunits per-team.
Before this change, two teams received the same time penalty even with vastly different unit caps.
After, if e.g. one team has fewer players, each player on that team takes a reduced spam penalty.
The penalty decrease is not in direct proportion to maxunits. It is weighted toward a reference number (whatever the default maxunits is/was for that team). However,
game_dynamic_maxunitsalready does not redistribute 100% of unit cap, but only 25% of it, so this might be decided too defensively.I've run through this with both
givecatand several massive fightertests and found no errors.This is tangentially relevant to #6289 but neither needs to wait on the other.