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

Apex Predator is on top of the food chain #74390

Closed

Conversation

osuphobia
Copy link
Contributor

@osuphobia osuphobia commented Jun 8, 2024

Summary

Features "PREDATION mutations will give you bonus on weakpoint"

Purpose of change

Close #74285
Predators should also have the ability to fight better with their skills.

Describe the solution

Now PREDATION mutations will give your character bonus on weakpoint proficiencies.

First, you get more bonus from knowing certain weakpoint, and suffer less when not knowing certain weakpoint proficiencies.
With Culler, default_weakpoint_penalty will have a +1 to decrease the effect of default_weakpoint_penalty.
With Apex Predator, you get an extra +3 default_weakpoint_bonus when knowing certain weakpoint proficiencies, and will not suffer from default_weakpoint_penalty.

Second, your character can learn weakpoint proficiencies faster.
With Apex Predator, you will be able to learn weakpoint proficiencies four times as fast.
Culler is not affected.

For the part of learning speed, I added some infrastructure, so it can be used for other enchantments. See the doc for more details.

Testing

Compiled and tested locally. The melee_test failed for one time while adjusting things, it's only once so I'm not sure if I fixed it or it's just some RNG stuff.

Additional context

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. [JSON] Changes (can be) made in JSON Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies [C++] Changes (can be) made in C++. Previously named `Code` [Markdown] Markdown issues and PRs Mechanics: Enchantments / Spells Enchantments and spells <Bugfix> This is a fix for a bug (or closes open issue) <Enhancement / Feature> New features, or enhancements on existing json-styled JSON lint passed, label assigned by github actions labels Jun 8, 2024
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jun 8, 2024
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Jun 8, 2024
@osuphobia osuphobia marked this pull request as ready for review June 8, 2024 14:40
@github-actions github-actions bot requested a review from KorGgenT June 8, 2024 14:40
@Venera3
Copy link
Member

Venera3 commented Jun 8, 2024

I can see the higher bonuses when you did learn one, but what's the rationale behind removing the penalties for not knowing a prof?

I also don't see the wp learn speed bonus from a flavor perspective - you're explicitly giving up learning stuff in favor of instincts, and learning profs are mostly done while meticulously dissecting your enemies.

@Vaskritaya
Copy link
Contributor

I also don't see the wp learn speed bonus from a flavor perspective - you're explicitly giving up learning stuff in favor of instincts, and learning profs are mostly done while meticulously dissecting your enemies.

To this end, perhaps it would make more sense to significantly increase the weakpoint proficiency learned from combat, rather than just give a flat bonus to learnspeed. Maybe even decrease it for dissection? Would make a lot more sense with the flavor of learning more from combat but losing intelligence, although I think it would need new infrastructure to make work.

@osuphobia
Copy link
Contributor Author

osuphobia commented Jun 8, 2024

I can see the higher bonuses when you did learn one, but what's the rationale behind removing the penalties for not knowing a prof?

We have infrastructure for crafting profs, to estimate your gradual improvement in certain area, by decreasing penalties along with the progress of getting the prof.
But for default_weakpoint_bonus/default_weakpoint_penalty of weakpoint profs, there are only two states, known or unknow. Of cause it's better to also simulate the improvement curve, but that can be introduced in another PR.

I also don't see the wp learn speed bonus from a flavor perspective - you're explicitly giving up learning stuff in favor of instincts, and learning profs are mostly done while meticulously dissecting your enemies.

It might be my word choice that makes you have this feeling. It's not really "learning", just "earning" the progress by predation, in the other words, killing and feast of flesh and blood. And yes, dissecting is a huge exp source of prof earing progress, but "instincts" can also let the Apex Predator find its enemy's weakness naturally.
And, if you really think Apex Predator will lose the ability to study things (and the -3 INT is not enough), maybe we should increase the difficulty of certain intellectual activities and forbid or heavily restrict bestial mutants from doing them. But again that should be in another PR.

Fundamentally, if you consider the progress of earning weakpoint profs as the progress of recalling bestial instincts to kill, it's just working like the existing COMBAT_CATCHUP modifier for combat skills IMO.

@osuphobia
Copy link
Contributor Author

I also don't see the wp learn speed bonus from a flavor perspective - you're explicitly giving up learning stuff in favor of instincts, and learning profs are mostly done while meticulously dissecting your enemies.

To this end, perhaps it would make more sense to significantly increase the weakpoint proficiency learned from combat, rather than just give a flat bonus to learnspeed. Maybe even decrease it for dissection? Would make a lot more sense with the flavor of learning more from combat but losing intelligence, although I think it would need new infrastructure to make work.

I just came up with an idea: what if we change the exp source for bestial mutants, like not earning proficiency progress from dissection, but from butchery?

src/character_proficiency.cpp Outdated Show resolved Hide resolved
src/character_proficiency.cpp Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the astyled astyled PR, label is assigned by github actions label Jun 9, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jun 9, 2024
@PatrikLundell
Copy link
Contributor

I don't think it's a good idea to make butchery more profitable for beasts than for others. If anything, beasts should be less precise with their butchery than humans. It would be much more fitting to have a higher learning rate from combat and a lower from dissection (although low INT may be enough: I don't know).

@osuphobia
Copy link
Contributor Author

I don't think it's a good idea to make butchery more profitable for beasts than for others. If anything, beasts should be less precise with their butchery than humans. It would be much more fitting to have a higher learning rate from combat and a lower from dissection (although low INT may be enough: I don't know).

After diving into the codes, I found out that the way we get weakpoint prof to improve is just wierd now. I will make another PR to solve it, as it's not limited to things I implemented here, and I don't want to make this PR too complicated.

@Venera3
Copy link
Member

Venera3 commented Jun 10, 2024

Buffing prof learned in combat and disabling dissection would be how I'd see that work.

The point of weakpoints is they are a thing you need to learn, and blunting the penalty feels very heavy-handed in that context. Predators should be the best at everything melee-related is the wrong way to go about it, predators are good when they *can* rely on their instincts is a better pitch.

@osuphobia
Copy link
Contributor Author

Buffing prof learned in combat and disabling dissection would be how I'd see that work.

The point of weakpoints is they are a thing you need to learn, and blunting the penalty feels very heavy-handed in that context. Predators should be the best at everything melee-related is the wrong way to go about it, predators are good when they *can* rely on their instincts is a better pitch.

Did you see #74426 ?

@osuphobia
Copy link
Contributor Author

If you want an immediate solution, I can go with a workaround to simply cut xp from dissection for predators in this PR. But to properly and thoroughly solve the problem, I urge you to see #74426 and give me some suggestions there.

src/weakpoint.cpp Outdated Show resolved Hide resolved
src/weakpoint.cpp Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the astyled astyled PR, label is assigned by github actions label Jun 10, 2024
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jun 10, 2024
@kevingranade
Copy link
Member

It's not really "learning", just "earning" the progress by predation, in the other words, killing and feast of flesh and blood.

To be clear about this point, this rationale is never correct. Skills and proficiencies are always about learning and practice.

Drop the lowered penalty for not having the proficiency, lower the multipliers you're adding (3x is a ridiculously high multiplier). That seems to apply to both learning speed and bonuses once you have the proficiencies, this shouldn't be many times better than a base human, just marginal.

Ideally if you're leveraging instinctual targeting of weak points it would skew toward the weak points that real predators attack (hamstring, nape of neck) at the cost of others that a more intelligent fighter would focus on such as armor gaps and less obvious anotomical features. That's obviously out of scope for this PR, just trying to look ahead a bit. The way I could see this working is having a list of weakpoints that get a boost, and the others get a penalty.

Overall I'm kind of sckeptical of this new proficiency configurability on behalf of one mline.

@osuphobia
Copy link
Contributor Author

Drop the lowered penalty for not having the proficiency, lower the multipliers you're adding (3x is a ridiculously high multiplier). That seems to apply to both learning speed and bonuses once you have the proficiencies, this shouldn't be many times better than a base human, just marginal.

I will calculate the overall improvement later and see how should I change the numbers.

It's not really "learning", just "earning" the progress by predation, in the other words, killing and feast of flesh and blood.

To be clear about this point, this rationale is never correct. Skills and proficiencies are always about learning and practice.

Ideally if you're leveraging instinctual targeting of weak points it would skew toward the weak points that real predators attack (hamstring, nape of neck) at the cost of others that a more intelligent fighter would focus on such as armor gaps and less obvious anotomical features. That's obviously out of scope for this PR, just trying to look ahead a bit. The way I could see this working is having a list of weakpoints that get a boost, and the others get a penalty.

Overall I'm kind of sckeptical of this new proficiency configurability on behalf of one mline.

There were not many responses in #74285 , so I just did this one with my own rationale (and I got a 👍 from Maleclypse😣)
I will reconsider it and search around to see if I can find some proof for my idea.

@osuphobia osuphobia marked this pull request as draft June 11, 2024 03:29
@osuphobia
Copy link
Contributor Author

osuphobia commented Jun 11, 2024

Eek, I just misunderstood the mechanic😶‍🌫️

@osuphobia
Copy link
Contributor Author

About the speed bonus, as you can see in #74426 (comment) , the progress you can get from practice_hit and practice_kill is negligible compare to practice_dissect.
In 878ac0b I just cut the xp from dissection to half for predators as a trade off, so the speed bonus is much more conservative now, it can hardly be called a buff. I'd say it's literally rather a nerf.

@osuphobia
Copy link
Contributor Author

Ideally if you're leveraging instinctual targeting of weak points it would skew toward the weak points that real predators attack (hamstring, nape of neck) at the cost of others that a more intelligent fighter would focus on such as armor gaps and less obvious anotomical features.

About this, few weakppoints in dda meet this criteria, maybe Cyborg Anatomy and Synthetic Armors? Even the logic that bestial mutants being bad at finding this kind of wp is doubtful to me, because they are not just ordinary beasts, but survivors and successful predators in this post-apocalyptique world. There is no reason that they can not see cyborgs and fully armed militias as preys, and there is no essential difference between natural armors and implants and synthetic armors IMO.

@kevingranade
Copy link
Member

To the extent that they are overriding their instincts with their knowledge from being intelligent, they should lose any bonuses gained from their instincts. You're trying to have it both ways by saying they get a boost because of their killer instincts, without acknowledging how those instincts can be wrong and counterproductive in some circumstances.

@osuphobia
Copy link
Contributor Author

To the extent that they are overriding their instincts with their knowledge from being intelligent, they should lose any bonuses gained from their instincts. You're trying to have it both ways by saying they get a boost because of their killer instincts, without acknowledging how those instincts can be wrong and counterproductive in some circumstances.

I just found out that I missed a disscusion before, and changed my mind today.
#74426 (comment)
So what about this idea? If you think that is acceptable, then I'll make another PR to implement it.
If that one can be merged, then I can change this PR to reflect the part of "lose any bonuses gained from their instincts".
I will give up adding learning speed boost in this PR, but make predators have bonus applied earlier with codes like this:

float weakpoint_family::modifier( const Character &attacker ) const
{
    float weakpoint_bonus = bonus.value_or( proficiency.obj().default_weakpoint_bonus() );
    float weakpoint_penalty = penalty.value_or( proficiency.obj().default_weakpoint_penalty() );
    float pct = attacker.get_proficiency_practice( proficiency );
    
    if( attacker.has_flag( json_flag_PRED4 ) ) {
        pct = pct < 0.79f ? std::min( 0.79f, pct + 0.39f ) : pct;
    } else if( attacker.has_flag( json_flag_PRED3 ) ) {
        pct = pct < 0.69f ? std::min( 0.69f, pct + 0.29f ) : pct;
    } else if( attacker.has_flag( json_flag_PRED2 ) ) {
        pct = pct < 0.59f ? std::min( 0.59f, pct + 0.19f ) : pct;
    } else if( attacker.has_flag( json_flag_PRED1 ) ) {
        pct = pct < 0.49f ? std::min( 0.49f, pct + 0.09f ) : pct;
    }

    return weakpoint_bonus * pct + weakpoint_penalty * ( 1.00f - pct );
}

@kevingranade
Copy link
Member

It's extremely unclear what that is trying to achieve (mathematically), and no I don't like the "gradual proficiency gain" concept here, especially since I am pushing for weak point proficiencies to be even more binary than they are now.

@osuphobia
Copy link
Contributor Author

Ok, then I'll close this one.

@osuphobia osuphobia closed this Jun 12, 2024
@osuphobia osuphobia deleted the predator-knows-weakpoints-better branch June 12, 2024 17:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` <Documentation> Design documents, internal info, guides and help. <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions [Markdown] Markdown issues and PRs Mechanics: Enchantments / Spells Enchantments and spells Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PREDATION mutations are white elephants
5 participants