Skip to content
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

Autoscaling AI classes are affected by the presence of non-autoscaling AI classes in ai.tbl #4516

Closed
MoerasGrizzly opened this issue Jul 30, 2022 · 1 comment · Fixed by #4831
Assignees
Labels
ai A feature or issue related to the AI algorithms bug An issue from unintended consequences

Comments

@MoerasGrizzly
Copy link

In FSO exists the lovely flag:
$Autoscale by AI Class Index.
BP in particular uses this for the Fury AI

what nobody knew up until very recently thanks to @EatThePath , this flag still affects autoscaling!
Specifically, the FS2 default AI classes will still count the non-autoscaling classes towards their own autoscaling process.

In effect this means that if you have a setup like this:

Coward
None
Lieutenant
Captain
Major
Colonel
General
20 non-autoscaling classes

The general class will be much weaker then the lieutenant class in the following setup

20 non-autoscaling classes
Coward
None
Lieutenant
Captain
Major
Colonel
General

Non-autoscaling classes are not affected by this, but autoscaling classes should not be impacted by non-autoscaling ones either. In a mod that uses both (like say, BP), stuff like AI turret fire rate and the like will be affected every time a new AI Class is added. This is all measures of undesirable, and massively affects mission balance.

@wookieejedi wookieejedi added bug An issue from unintended consequences ai A feature or issue related to the AI algorithms labels Jul 30, 2022
@Goober5000 Goober5000 self-assigned this Oct 27, 2022
Goober5000 added a commit to Goober5000/fs2open.github.com that referenced this issue Oct 27, 2022
This adds an AI profiles flag that filters autoscaling so that only the index and number of autoscaled classes are considered, not the index and number of all AI classes.

Fixes scp-fs2open#4516.
@MoerasGrizzly
Copy link
Author

MoerasGrizzly commented Nov 20, 2022

Returning to this: The fix doesn't work fully. Although things like firerate appear to work correctly, stuff like afterburner usage is still affected by the scaling bug.
ai.zip
ai2.zip

Steps to reproduce:
On FSBlue with a current nightly, try playing SM1-03 with AI1 and AI2, and notice how with the file included in AI2.zip, the AI reaches the Iceni much faster.

edit: on review of the submitted bugfix, it seems like several aspects that are affected by AI autoscaling have not been touched. I'm in particular worried about
$Afterburner Use Factor:
$Shockwave Evade Chances Per Second:
$Get Away Chance:
$Secondary Range Multiplier:

@EatThePath did a review of the AI's autoscaling a while back. I'll attach it here for your convenience:
ai_autoscale_digging.txt

Goober5000 added a commit to Goober5000/fs2open.github.com that referenced this issue Nov 23, 2022
PR scp-fs2open#4516 did not cover all of the autoscaled AI class attributes, since a few of them were labeled differently.  This adds checks to grab the correct autoscale index for the remaining cases:

```
$Afterburner Use Factor:
$Shockwave Evade Chances Per Second:
$Get Away Chance:
$Secondary Range Multiplier:
```

Fortunately, Sushi's investigation was pretty thorough.  Between these remaining cases and @EatThePath's autoscaling review, this PR should cover the complete set of autoscaling situations.

Fixes scp-fs2open#4922.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ai A feature or issue related to the AI algorithms bug An issue from unintended consequences
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants