[WIP] An alternative skill system - practice/theory split, softening hard caps

Hey! Perhaps this should go into another forum section, or on git, since I have already started working on this, and I’m not planning on stopping, unless something happens.
It’s a relatively simple system based on my observations about few core issues with the way things are currently, and since I can’t think of a better way to format and phrase them, here’s a list:

[ul][li]Skill rust from 0% of a level to 99% of the previous can be extremely infuriating, and cause inability to learn new recipes, and otherwise is a huge management pain[/li]
[li]Hard caps on learning skills by performing actions are IMO a bit too steep, but on the other hand, removing them would make the system too easy to exploit[/li]
[li]Mechanics and construction are currently trainable ad-infinitum, and new extensions to the skill system will probably introduce their own, new, inconsistencies.[/li]
[li]Skillbooks are currently a way to exchange time for skills and recipes “for free”[/li]
[li]Investing character creation points into skills at the beginning is a huge loss, and you want professions with skills only if the skills come cheaply/by the way.[/li][/ul]

The basis of my system is splitting the skill levels into two values - a practice component and a theory component. Both reading books and skill rust will only affect the theory component, and performing practice actions will vary in behavior depending on the relative theory/practice level. If your theory level is above your practice level(reading books), your practical skill will improve rapidly, but at the same time, non-solidified theory component will rust fast. When they’re equal(normal training), both your practical and theoretical skill will improve, but only if the tasks you perform are at or above your current skill level. When your theory is below your practice(skill rust), you take hits to probability of success, and further training initially goes only into theory, to bridge the gap.

Additionally, I want to soften hard caps, e.g. inability to train your cooking above 1 by cooking chunks of meat will transform into a much, much slower progress, probably exponentially slower, I’m just not sure what base(1 / base^level_difference) should be. Probably just 2 or so, since higher skill levels already require more XP to progress, anyway. That will penalize lower level action much heavier than higher-level ones, though, which I’m personally okay with. This at the same time includes adding more caps - particularly the mechanics trainable with no restriction. I will probably add a chance to fail installation, or even damage/destroy components, to it. In general, I want to expand the recipe system to include construction and vehicle construction tasks, as well as be capable of accommodating more different things that need to be learned. Another recipe-related change that I’m considering is making recipes forgettable, if you never practiced them.

I also considered practice actions that primarily consume time, as once suggested by Kevin, rather than materials, to improve your skill, but in the end I decided against it - I want to make grinding less necessary and less viable/more interesting, rather than change the way it is enabled. Now, you will be able to attempt crafting anything, so long you have the ingredients, tools, a book handy, and practical skill that is not extremely far below the required level.

Last change that I believe needs mentioning, is that I want to add a skill gain multiplier based on points invested in a skill at character creation time, probably a flat 5/7.5/10% per an increase, as to offset the current meaninglessness of investing anything more than one point into melee to increase your early odds of survival. I also considered “taking away” points, to decrease the speed at which you learn a skill by a huge(20-25%?) value, but as of the moment, that’s meaningless due to only needing one melee subskill, and not needing NPC-related ones at all usually.

Either way, I’m already working on implementing this, and unless it turns out to not play good, I’m not dropping it, even if it doesn’t end up being merged. I guess I should make it optional, actually, rather than replace the old system. Well, anyway, feedback and ideas are welcome!

…This looks like a ton of work for very little return, not to mention just about all the skills that craft anything require skill-books as is to increase beyond level 4 for the most part.

That will no longer be the case, you will be able to perform actions below your current skill level if you have a book handy, just with a higher chance of failure.

A good idea someone on IRC mentioned was per-recipe mastery, that both limits how much progress you can get out of a single recipe, and increases your probability of success. Additionally, something I thought of was a failure/critical failure system. E.g. failed welding might result in an useless deformed metal rod that can at best be used as a flimsy weapon, whereas a critically failed one might end up in a big amount of damage to your arms.

My personal stance is to never leave a boring way to play as the most optimal one, and by that principle, the skill system is in dire need of an overhaul.

This can open up a reason for people to explore crafting/cooking, as it stands now, most people seem just making cooked meat/jerky and be done with it. Mastering a cooking recipe could give you food that gives better morale/nutrition bonuses, or maybe even strength (although that may be a bit too much). Mastering handloading could give you bullets that do more damage or mastering sword making could give you a katana that’s better then one found in towns/NPCs.

Something like what “accurized” and “reinforced” is for items, a “deluxe” prefix for food?

Either way, after talking a bit on IRC, I think that I’ll put this specific change on hold, I’ll start by unifying all kinds of different tasks into the recipe system, if it can even be called a recipe system at that point. That should be much less controversial of a change, and will greatly simplify future changes to all kinds of skill/crafting/construction systems, both this, and others. That said, I’m not giving up on this idea, so feedback is still welcome :slight_smile:

I don’t think I’m getting it, can you explain to me how making skill books useless because it’s “grindy” and making it so you have to perform x number of unique tasks y number times to get to the next level is not grindy? On top of that “an increased chance of failure” please, go and craft something one level below the required level. In my experience it works out to “You fucking moron you fucked it up, throw it all away and start over.” about 80% of the time. Without ‘reading’ to the next level I’d literally have to spend more than fucking ten times the materials to get one of what I’m making, and that’s assuming I don’t fail my way to the next level before hand.

I don’t know about you, but I don’t like the concept of swapping out a easy ‘fire and forget’ system for leveling, with an excessively grindy, resource wasting system. I mean short of farming cop-bots I don’t know how I’m going to get the seven thousand plutonium cells I’ll need to go from Electronics 10 to Electronics 12 needed to successfully make one CBM: Mk II Power Storage

Or is that the point? Artificially increase the time it takes to go from “Player was killed by a stiff wind” to “Welp, I’m unstoppable. The game is over now.”?

I’m gonna have to agree with Ekarus here.

I think what you’re assuming is a bit on the extreme side here, I certainly don’t intend to cap the grind by limiting materials. Rather than having to perform a recipe 20 times to master it, think of it as “first two times are hidden -1 to skill, next two are 0, next four are +1”. If anything, this system will let you “skip ahead” of your skill level selectively, only requiring you to have a book with the recipe and tools/materials handy, with a secondary purpose of no longer improving your skill if you went over the recipe enough times.

Additionally, it will let you attempt to craft something even if your skill level is way below the difficulty level, if you really need to. As far as increasing your skill level by grinding goes, it will by all means still be possible, just not by skillbooks alone. If people end up feeling like necessitating actual practice to improve is a pain, I can implement “practice actions” as per this thread, which will make grinding roughly as effective as it is now, with the only effects of the change being a slightly different format, and the ability to “skip ahead” of your skill level.

Lastly, the bonus to skill learning for picking it at character creation time should make it possible to “skip ahead” even further earlier on, especially since skill rust will no longer lower your actual skill level, and will instead have other undesirable effects while still being as easy to catch up to as it is now. If anything, the difference between a functional drop of 1 level(0%->95% of previous level) and of 0.05 will make the penalties much less harsh now.

theory/practice split
Your description wasn’t clear here, do both theory and practice rust seperately? Skill rust is mostly intended to represent being out of practice, it doesn’t make sense for it to only apply to theory.
softning skill caps
The skill caps are as hard as they are for a reason, making them soft encourages grinding, because you can get whatever outcome you want with repitition. This is especially true if there are any highly desireable items with easy to obtain materials, but high skill requirements. You’d just get a huge amount of the materials and bang them together at near random until you get lucky.
skill aptitudes
Not against having aptitude traits that give you a boost to certain skills per se, but it’s going to be tricky to balance such that it’s worth taking but not always the obvious thing to take at character start.

In my case practice/theory aren’t fully that, they’re rather convenient labels that happen to approximately represent the concepts.

First off, only theory rusts. I say this is a split, but they most certainly are, to an extent, coupled. As a rule of the thumb, your theory can’t go too far beyond your practice level, but it speeds up your practice. Feel free to think of it as making books boost your learning speed instead of increasing your skill directly. If you need a rationale for the practice/theory words, it’s that memorizing words and concepts fades away faster than muscle memory does.

Second off, by removing hard caps I meant primarily making higher level recipes accessible from a lower level, with gaining XP for lower level recipes being secondary. Setting aside the specific formula, at skill level 7, difficulty 6,5,4 tasks will provide you around 43/18/7% the XP gain as otherwise.

Third off, I am a huge fan of the per-recipe skill, that increases your success chance as you practice it, including beyond your skill level, and at the same time, diminishes XP gain returns, essentially capping any grind-friendly recipes.

Think of it as “cooking chunks of meat over and over won’t let you become a master cook”, except rather than capped by the skill level, it will be capped by the specific recipe, and additionally soft-capped by exponentially diminishing returns as the level difference grows.

Essentially, it makes it at the same time harder to grind, and easier to access harder recipes.

Either way, it’s hard to theorize about this, and as such, I’m going to implement it, as an option, so hopefully no one will have qualms about merging it. The amount of code that this specific change would/will span is surprisingly minuscule.

Honestly, I probably shouldn’t be working on drastic changes like that on my own, but eh, whatever. That’s just the kind of a person I am. In the end, it will be possible for anyone to clone my branch and see for themselves whether it’s worth including. Also, since I cannot seem to reach you on IRC, and you’re an important person as far as design decisions go, you probably should comment on this.

Think of it as "cooking chunks of meat over and over won't let you become a master cook", except rather than capped by the skill level, it will be capped by the specific recipe, and additionally soft-capped by exponentially diminishing returns as the level difference grows.

I agree.

[quote=“Snaaty, post:11, topic:8328”]

Think of it as “cooking chunks of meat over and over won’t let you become a master cook”, except rather than capped by the skill level, it will be capped by the specific recipe, and additionally soft-capped by exponentially diminishing returns as the level difference grows.

I agree.[/quote]

So let me get this straight… Cooking “Cooked Meat” four million times to become the leading chemist on the planet is bad, but cooking cooked meat a million times, mac and cheese a million times, clean water a million times, and biscuits a million times isn’t then?

How is this worth the work over the existing “task too easy” system that’s in now?

Making something an option isn’t going to make it any more mergeable, due to the ‘you moved my cheese’ dynamic, removing options is far harder than it should be, so we push back against accumulating them by not allowing new options unless it’s critically better.

if you can’t accurately label your subdivisions of skills, don’t expect me to take them seriously. “it’s like these words, but not” doesn’t give me much faith that you’ve thought it through.

I’d appreciate it if you refrained from telling me what to do, I’m not active on IRC or github right now because I’m busy, you telling me to review your stuff instead of mentioning there’s a PR isn’t going to change that.
Expect responses to be slow until January.

…the what?

…the what?[/quote]

Folks (myself included) tend to get really aggravated at the loss of an option. My first major discussion here was vehemently pushing to keep Dynamic Spawn around, and zombies rezzing was another major point of contention.

Basically, there was something here that I liked, and now it’s NOT HERE. And YOU DID THAT. I DON’T HAVE MY SOMETHING AND IT’S YOUR FAULT AND I’M ANGRY AT YOU.

Good way to have arguments pop up, etc. :-/

Alright, I understand that rationale.

I think of mechanics in terms of mechanics, not necessarily real world concepts they represent. If you want to get into that field, skill levels themselves do not make much sense. A big problem with creating two separate values, and treating them separately is that there’s little space to fit them in the character screen, and even less of a way to describe them clearly in an understandable way, which is why I think that simplifying it into “You studied cooking, progress will be faster” and “You haven’t practiced electronics in a while, progress will be slower” would be of benefit.

[quote=“Kevin Granade, post:13, topic:8328”]I’d appreciate it if you refrained from telling me what to do, I’m not active on IRC or github right now because I’m busy, you telling me to review your stuff instead of mentioning there’s a PR isn’t going to change that.
Expect responses to be slow until January.[/quote]

I’m not trying to tell you what to do, just asking for a bit of feedback. You’re free to refuse obviously, but don’t be mad at me :frowning:

Either way, like I said, this is something that I will experiment with later. For now, I’m going to try and focus on more useful and less controversial changes.