Currently, when I play Adventurer Mode, the first thing I'll do is steal some food, find the nearest well for a supply of water, and then go jump in the nearest stream while sneaking, record a macro of moving back and forth ten tiles, and then set to repeat 500 times while going to watch TV or something. When I come back, eat, drink, sleep, then set macro for another 500 repetitions, and a couple sets of training later, I'm a legendary swimming ninja. Same goes for thrower - throw dirt at wall 20,000 times via macro and you're a legendary thrower.
I'd been kicking around the idea of affinity for a while, but potential is an idea I got by playing a different (and VERY Japanese) game called Elona. In Elona, you gain skills through use like in DF, but there's a twist: You have a "Potential" for each skill.
PotentialPotential is a multiplier of the experience you gain on a skill or attribute. At 100%, you gain skill/attribute experience normally, while you gain it at double the rate at 200% or half the rate at 50%.
The key point of potential, however, is that it changes. Constantly. Every time you level up a skill, that skill's potential is multiplied by 0.9 (truncated/rounded down), and this leads eventually to skills having experience gains so low they are removed entirely as rounding errors. Combating this decay is a constant battle - most of a player's time is spent finding ways to keep potential up, since that's actually more critical to keeping your growth going forward in key skills than just plain using them, alone.
In Elona, this is typically done through Platinum Coins, which are only given out as rewards for quests or completing a random dungeon or rare rewards for exceptional uses of skills or other things that players are encouraged to do through skill use. The point is to break up pointless grinding with activities that are interesting.
In DF, this can be used as simple sand in the gears of players grinding via macro, or simply grinding a character to legendary whatever in fortress mode within a single season.
DF characters lose potential through leveling up (probably losing more potential per rank of a skill than Elona does, since there are much fewer levels to grind) but then regain it through tasks that cannot be repeated frequently. For example, sleeping, studying, or, in the cases of attribute growth, eating.
Sleeping to regain potential serves as a natural pacer of skill growth - exercising a skill frequently leads to skill gains that cripple potential, while they gradually regain potential over time. This means that works on something to the exclusion of all else isn't going to fly through the levels so terrifically faster than a character that splits their duties or can't perform a task so obsessively. (Such as carpenters that have to walk further to get the wood from the stockpile.) It also serves, again, as sand in the gears of adventurers who would have to wait a few weeks, at least, for their macros to regain full effectiveness.
Hyperbolic Growth, Geometric CostsAn important aspect of potential in Elona is that it grows and shrinks geometrically - if you push it higher, each level up making you lose 1/10th (again, this would be more for DF) of your potential means that it gets more expensive the more you try to push your potential higher. At the same time, growth is also crippled as you push your potential higher. When you purchase more potential in a skill with platinum coins, you buy +15% potential if you have minimum potential, -1% for every 15% of potential you already have. (Hence, buying more potential at 100% potential gives you only 8% more potential, and then you'd go down 11% potential at level up, afterwards. That is, 100% -> 108% -> 97%. Meanwhile, buying more potential at 50% potential gives you 12% more potential, and even then, you only go down 7% potential at level up. 50% -> 62% -> 55%. This means that you need to buy potential around twice as often if you want to keep potential up at 100% compared to 50%, and the costs escalate geometrically as you go higher.)
Similar methods could be employed in DF - low potentials increase much faster, while high potentials merely converge upon an equilibrium point that doesn't give much of an advantage.
AffinityRelated to the geometric growth, affinity is how quickly potential itself rises, and where it is likely to be. Affinity is an estimation for how much a given character is suited for a specfic type of job or skill. Impatient and clumsy people make poor suturers. People with no creativity make poor artists. People who are terribly expressive, however, do.
Affinity could be based upon some cultural factors (elven civilizations having an innate affinity bonus to farming while dwarves have it towards metallurgy, for example), which would be different from racial factors, since an elf who lived all their life in a dwarven stronghold would learn dwarven values, but also innate racial talents (fishmen probably learn swimming more easily than dwarves because of their physical properties) as well as personality-based traits (again, creativity giving a bonus affinity for art), and what sort of world view was indoctrinated into a character or how they were educated (which is a later heading).
As potential recovers through most standard means, it could grow geometrically closer to whatever limit affinity functionally places upon it. (Some means of growing potential could break the rules, such as magic potions that suddenly give you a bonus to growth or blessings of Gods or other oddball events.)
This means characters with personalities or upbringings suited towards certain jobs will gradually become the legendaries in those skills since they recover potential fastest when they gain skill levels, even though two dwarves with the same potential would be able to get to "novice" at the same rate. The basics can be learned by anyone, but a natural inclination gets you to the top faster.
EDIT: With the new values system in, summing and/or averaging the effects of values, personality traits, and attributes would be the most direct and obvious way of determining affinity. Creative dwarves with high spatial awareness that make good artists have a higher engraver affinity than those without it.
Also, it's worth pointing out that if we have any system like this, there should be some indicator (perhaps color-coding, the way that adventurer stats are coded) of how much potential someone has when looking at what labors to assign a dwarf, so that the player can see what a dwarf is capable of becoming skilled at while looking at their labor page.
Training and GuildsBesides just sleep, training and learning can come into play with potential, as well.
Potential isn't just a mechanic for stunting overly rapid growth, but also can represent, basically, the human(oid) potential to learn and develop their skills based upon applying new techniques learned of or thought of during their downtime.
Guilds, as Andeerz always enjoys informing us, were the keyholders of knowledge of certain crucial jobs. They monopolized their fields through withholding information from those not of the guild.
Guilds in DF, thus, can be reintroduced with certain teachers of or masters of specific techniques that could be shared with lower-skilled craftsman of their skill, boosting their potentials, but only while they were around. (Meaning you need good relations with the guild, and can coax those masters to be sticking around your taverns or something.)
Books on skills, which have long been requested, can also be integrated into the game as a means of passing on these potential-boosting techniques up to certain skill levels, rather than just directly boosting a skill's experience. They don't contain the experience, they merely contain the idea of the technique that the dwarf could then experience through doing.
For Adventurers, getting platinum coins from quests is too gamey for DF, but some reasonable mechanic might still let characters that do well at non-grindy activities gain potential back faster, hence letting non-grinding activities be a focus of gaining up skill levels.
For example, if adventurers get fame for completing quests or killing things, leverage that fame into getting audiences with guild members that can train you further - you need higher-ranking members that take more fame to get more potential as you climb up higher in your skills.
For others, you can just plain buy your entrance, which would reward having mercantile skills for skills that are mercantile in nature.
In others, the guild structure itself might provide questing opportunities, where you gain access to better teachers as you climb your way up the ladder inside the guild.
(These needn't be guilds, either - a royal drill sergeant might only give sparring drills to someone who has proven their mettle.)
Education, Upbringing, and IndoctrinationThere have long been suggestions for skill books, schools, apprenticeships, and other things that let you basically teach children to become a certain job. Affinity could be used as a means to reflect some of this.
Specifically, "When all you have is a hammer, everything looks like a nail." People learn to think in the ways that they have been taught to think because that's how they see problems being solved, and how they are most comfortable solving problems.
Children absorb an affinity for the tasks they see most often, or they adopt a worldview impressed upon them by the education they may receive, slightly altering their affinities for skills in later life.
Hence, a child always taught the importance of studying and engineering and learning may make for good scribes and architects, but not terribly motivated for spending the rest of their life on a farm.
Adventurers, meanwhile, might have affinity based upon some sort of background choices they have for their character, either by selecting an upbringing via a presentation of a situation with some arbitrary choices to make where the choice gives you an affinity for one skill over another, or by simple extrapolation of the point buys you make.
Adventurers that are offspring of other adventurers might have their affinities set by their parents. (Including, potentially, the non-adventurer parent, which might make for selective spousal choices.)
Food/NutritionAs skills have potential that rise based upon sleep and learning, attributes can have potential that rises based upon nutrition.
That is, as a way to include nutritional models into the game in a meaningful way, food can be used as a potential-booster for attributes. The basic idea being that if you drink protein shakes, you gain muscle mass faster for a given amount of exercise, but that they won't be adding any muscles just for drinking them on their own.
Each type of food (or possibly, each specific food, especially if the game adds procedural nutritional deviances so that chicken meat might have more of a boost to agility potential than cow meet does) could have a set of nutritional credits to different attributes. Each time a creature eats or becomes sufficiently hungry (if they are choosing not to or are unable to eat), the stored values of the nutrition to each attribute is multiplied by a number like 0.75, and then any new food eaten is added on afterwards. The degree of these credits is then added on to the potential of the character as modified by how close the value is to affinity.
If these credits start reaching near-zero levels, not only does that mean that potential is not being replenished, but it also means that there is a "malnutrition" problem - you can functionally link an attribute to some invisible vitamin that isn't being consumed because of a poor variety in diet.
Dwarves in this state start "craving" foods that might give them their missing nutrition, and if left unchecked, start losing attributes, and developing negative side effects of malnutrition, possibly leading to failing immune systems or death if ignored over years.
Prepared meals with multiple ingredients could reward variety in meal components by letting a single meal have nutrients from up to four different food types. (And the nutrition might be further rewarded by not dividing out the nutrition received in the meal by four, but by some smaller number if the cook had a high skill, functionally giving high cooking skill a boost to the nutritional value of a meal.)
As was
discussed in Jiri Petru's thread, rather than leaving prepared meals around in barrels, cooks could leave food in the kitchen, and serve food to dwarves directly from the kitchen. Using burrows, this could help players keep the foods they want served to certain dwarves being served there. For example, if fish and strawberries help with intelligence-related stats, then all the fish-and-strawberry meals could be served in the meal hall burrowed for the dining of intelligence-needing dwarves, while another food hall could be serving eggs, quarrey bush, and beef roasts for the physical laborers.
Player InterfaceThe details page of dwarves in Fortress Mode probably could use splitting up into different sections, already. Having a view of a dwarf's stats slightly more easy to read in the same manner as an Adventurer's stats are easy to read (or skills already are simply listed) would be a help to players trying to get information quickly about a dwarf, and skip the parts they don't view as valuable, even if putting up lines of data on how superdwarvenly strong a dwarf is may not be as descriptive as the current description page.
A compromise position may be to leave those descriptions in a physical description page for each dwarf, which could be separated from the preferences portions and the personality portions.
In any event, in a split descriptions page, each skill could be commented on by the dwarf in question by how much they are interested in that skill, reflecting the total level of affinity they have for that skill. (Or at least, any skill that the dwarf has a non-standard affinity for.)
Attributes, their potential, and their affinity, could all be put into another page, where the game might say that a dwarf in question really loves spacial concepts puzzles, and a strong grasp for spacial concepts, but hasn't been too interested lately if they have high actual levels and affinity for spacial intelligence, but currently have low potential for it.
To make things simpler for players, the labors menu might be color-coded for each dwarf. When you are in the screen for assigning labors, for example, labors they have high affinity for might be green or cyan, while labors they have low affinity for might be red or dark red, warning players what sorts of jobs they should avoid putting those dwarves to in the long run.
When viewing skill levels alone in the look menu, rather than labors assigning menu, the same color schemes could be used to describe current potential levels (as well as the currently displayed "rusty" status if they haven't used the skill in a while).