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

Capping the grind of crafting skills #6849

Merged
merged 5 commits into from Mar 24, 2014

Conversation

Projects
None yet
8 participants
@SeanMirrsen
Copy link
Contributor

commented Mar 22, 2014

It's mostly a blunt implementation, an optional cap parameter to be
passed to player::practice. Not sure if it can be done better.

With this setup, the maximum crafting skill level one can reach via
repeatedly practicing a given recipe, is capped at "difficulty+1".
Making hooks out of nails will never bring you beyond skill level 1,
etc. Disassembly follows the same rules. If it's too strict, might
change to "difficulty+2".

SeanMirrsen added some commits Mar 22, 2014

Add sheet metal to oven deconstruct
As per the oven's JSON entry for bashing
Capping the grind of crafting skills
It's mostly a blunt implementation, an optional cap parameter to be
passed to ```player::practice```. Not sure if it can be done better.

With this setup, the maximum crafting skill level one can reach via
repeatedly practicing a given recipe, is capped at "difficulty+1".
Making hooks out of nails will never bring you beyond skill level 1,
etc. Disassembly follows the same rules. If it's too strict, might
change to "difficulty+2".
@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

Well, since it doesn't appear to charge Focus for non-improvement, it's technically not a gamebreaker.

I don't much appreciate being required to hunt up ingredients for skill-gain. Massive skill-gen to overcome rust was a pisser in 02Feb, and that won't likely change because now you're demanding it to stop folks from boiling water en masse.

@Lain-

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

I think a less strict cap would be better, like Sean has proposed, difficulty+2 or even difficulty+3 ?

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

Yes, I don't mind if it's more lax, but I think it needs to be here in principle. I can even make it so that it doesn't cut skill gain completely, just severely decreases it past that point. You really shouldn't be able to learn advanced blacksmithing and fletching techniques by bending and unbending a nail for five weeks straight. It's a good way to bring yourself up to a starting point, but I think that should be it.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Mar 23, 2014

I think being able to gain to difficulty+1 with a given recipe is fair. Note two things:
As noted if this cap kicks in it doesn't decrease focus.
The call to skillLevel(s).practice(turn); still happens at the end, which resets the rust counter, so this will prevent advancement, but rust will still be halted.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

My only counterpoint to that is the possibility of lossy-failure if not 25% over the skill requirement. At lower levels, this, as PR'd, is sufficient: being able to handle the flashlight or the boiling water isn't that trivial.

Middle to higher levels, it's possible to botch your crafting. Suggest that at difficulty >= 5, this be buffed to account for that: when you can routinely do the recipe with no risk, yeah, no skill gain therefrom can be reasonable. (Skill 6, if I understand it right, is 20% higher than difficulty 5. At skill 7, yeah, difficulty 5 is routine. So on and so forth.)

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

Hmm. With 8 intelligence your skill roll and the difficulty roll should be identical when you've the same skill level as the difficulty. So if you're skill 1 doing a diff 1 task, at 8 intelligence both rolls are 4d24. In order to fail badly, you need to roll such that 110%-150% of your roll must still be lower than the diff roll.

// Messed up badly; waste some components.
if (making->difficulty != 0 && diff_roll > skill_roll * (1 + 0.1 * rng(1, 5))) {
    add_msg(_("You fail to make the %s, and waste some materials."),

To completely eliminate failure against a roll of 4d24, thus, you need to be able to consistently roll an 88, because 88*1.1 is greater than 96, the highest outcome of a 4d24.

In order to /consistently/ roll 88, under the current system, you need... 22 points of skill, because Intelligence only sets the number of sides on the die. It's bloody unlikely for sure, but you will still be able to badly botch a difficulty 1 craft when you have 21 points of skill, if that's even possible (I think it caps at 20?). So yeah. I can add that 25%-over-difficulty check, but I don't think it'll be quite as meaningful as you think.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

OK, I realize that "routinely" and "no risk" may not have played well together. Extreme odds are not routine, and I don't budget replacement chunks of meat in case I ruin one making jerky or cooked meat. I would bring extra bleach and ammonia for making mutagen, though.

I'd stockpile fruit to guard against botched pie-making but it's kinda tough to stockpile it w/o preservation. ;-)

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

Tested by crafting empty canisters - a difficulty 6 task can now bring you to skill level 8, and caps there. I think it needs to tell the player that the current task will not get his skill any higher if it hits that cap. Bending nails gets you to 1, making wooden needles gets you to 2, I think it's working correctly.

@tyrael93

This comment has been minimized.

Copy link

commented Mar 23, 2014

oh god I love you please have my babies

@Zireael07

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

@SeanMirrsen: I agree about giving a message when hitting the cap. Otherwise I think it's fine, if difficulty+1 turns out to be too little, it could always be raised to +2 later.

Add messages when hitting skill cap
Both on levelup and intermittently during regular crafting when over
cap.
@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

Messages added. I think this looks complete now.

@dwarfkoala

This comment has been minimized.

Copy link

commented Mar 23, 2014

I think that one of the key problems with this might be that we still default to vanilla skillrust. Vanilla skillrust is awful in every way. If something to limit skill growth comes in, I suggest moving it to intcap by default, as intcap seems to be the most logical default as of right now.

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

I don't see it as limiting skill /growth/ per se, though. You can still prevent rust by using the simple crafts, and you will not progress any slower if you keep finding more advanced recipes to practice with.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

if you keep finding more advanced recipes to practice with.

Pretty major "if" there.

Tougher recipes typically also require more/tougher-to-obtain ingredients, so you can't make them as often. Likewise, higher-level recipe results typically aren't needed in quantity: sure people make jerrycan-loads of mutagen, but swords and such are generally one-at-a-time deals. Javelins might be repeated-craft items depending on their loss rate. Arrows & bolts are fine until one realizes that the high-end ones don't break as often. ;-) Handloaded ammo needs a shitload of parts and is inferior to factory-spec anyway.

This just makes book-learning even more critical than it already was, and Illiterate was already a crippling disad thanks to recipe-booking. I think this breaks it altogether.

@ClockworkZombie

This comment has been minimized.

Copy link

commented Mar 23, 2014

It sounds like the issue there is with illiterate- there should be an alternate method of obtaining these recipes. I believe audiobooks and laptop-based training have been suggested before, maybe it's time to implement that? We already have examples of this sort of "extra work but you can get it done" such as the royal meat for carnivores that sets precedent for this sort of thing.

@SeanMirrsen

This comment has been minimized.

Copy link
Contributor Author

commented Mar 23, 2014

And without this, book-learning is entirely optional because you can raise any skill you need by stocking up on food and drink, and just repeating the most basic crafts for the needed skill over and over.

The logic here is, that with the cap in place, "grinding" a skill becomes "learning" it - repeat the same process over and over until you can do it easily, then move on to something harder. It kind of "legalizes" the grinding approach, meaning that levelling a skill via repeated practice becomes not only a viable secondary option for doing so (primary being books), but also a /balanced/ one. Just like you need to have some knowledge to read a non-beginner book, and how you need to find a better book in order to read yourself smarter, so you will do with recipes - except you usually automatically receive harder recipes as your skill increases, and what you'll need to find are the tools and components to practice on.

Also, seconding the audiobooks idea. Would make a great secondary use for the mp3 player and PDA.

@KA101

This comment has been minimized.

Copy link
Contributor

commented Mar 23, 2014

And without this, book-learning is entirely optional

Not entirely: quite a few recipes are locked, because folks like you demanded that they not be allowed to craft things thanks to grinding. Of those that are autolearn, a fair amount of 'em are either skill 0 or food & drink, where booking recipes generally didn't make sense because the skillbooks at that level are cookbooks.

@kevingranade

This comment has been minimized.

Copy link
Member

commented Mar 23, 2014

The discussion at this point has nothing to do with the PR itself, with the warning message in place I think this is good to go.

@kevingranade kevingranade merged commit 6f83775 into CleverRaven:master Mar 24, 2014

1 check failed

default Unmergeable pull request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.