Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Skill Expansion  (Read 2025 times)

ravaught

  • Bay Watcher
  • Anybody seen mah beer?
    • View Profile
Skill Expansion
« on: April 09, 2012, 11:54:37 am »

The short version of this suggestion is:

Let's separate the labors from the skills, and expand the skills so that they become more generic abilities that have cross-over effects, while  labors represent an overall efficiency and use of a specific skill set for a specific task.

Wall-o-text:

Spoiler (click to show/hide)

What it would mean to the player:

Spoiler (click to show/hide)

Interface/Interaction Issues:
Spoiler (click to show/hide)

As always, I am looking forward to comments, concerns, criticisms, complaints, and free dwarven ale.

Related Links:

Skill Meaning/Requirements: http://www.bay12forums.com/smf/index.php?topic=76280.0
Improved Farming: http://www.bay12forums.com/smf/index.php?topic=76007.0
« Last Edit: April 10, 2012, 12:37:57 pm by ravaught »
Logged
..because making sense and having FUN are not mutually exclusive.

Silverionmox

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #1 on: April 10, 2012, 01:26:26 pm »

- So the core idea is this: track experience in component skills, define overarching skills by summing up component skills.
In the raws that would translate to something like this:
[labor:carpentry]
[material:wood:any][tool:hammer][tool:saw][tool:plane][product:toys:any][product:furniture:any]

...meaning that the carpentry labor potentially gives experience to woodworking, hammer, saw and plane skills (if that tool is used), toymaking and furniture making skills (if that product is being made) and the ability of the dwarf doing the labor is determined by taking into account the relevant composite skills as well. The reaction in reaction.txt defines the labor needed, in any case, as well as the actual ingredients, tools etc. if not the default as defined here. If a player were to make a reaction that uses the carpentry labor with bar of metal, it wouldn't yield xp to neither the woodworking nor the metalworking skill.

If one wanted to add a specialized labor, eg. coopery:
[labor:coopery]
[material:wood:any][tool:hammer][tool:saw][tool:plane][product:furniture:barrel]

That's it.

In the case of expanded workshops, I also suggest to add tags that tell the dwarves what kind of furniture they could use. (I've also added a support skill, geometry, here: always used.) 
eg.
[labor:carpentry]
[material:wood:any][tool:hammer][tool:saw][tool:plane][product:toys:any][product:furniture:any]
[skill:geometry][furniture:workbench][furniture:table][furniture:sawmill]


Qualifiers (optional): one could conceivably add modifiers to the relative importance of the skills involved (eg. [skill:wood:50]), but I think splitting it equally between the actually used skills is ok for now.
Also, the different tools used could give different bonuses (eg. [tool:plane:quality:1][tool:saw:speed:2] if we want to differentiate that way.

Question: how to track object skill? It's all or nothing IMO, because subcategories that encompass several objects (eg. chairs and tables) would introduce arbitrary distinctions, and require more raw administration for each item that one adds. Whereas just taking the list of items in the raws one by one needs no extra step, introduces no inconsistencies and requires no extra raw bookkeeping.

- This can, but doesn't have to, be accompanied by interface improvements. It could just as well function under the hood with the current system, awaiting a big labor and manager interface rewrite.

- As for the military system, one thing I'm sorely missing there, that would also be essential in work crews, is the ability to direct the dwarves to train a certain skill. For example, when I add a swordsdwarf to my archer squad, that doesn't mean that I want all my archers to train in swords. I just added him because he already has some dodge but I want him to become an archer.
Logged
Dwarf Fortress cured my savescumming.

slothen

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #2 on: April 10, 2012, 02:55:01 pm »

skills and jobs are already separate in terms of display to the player and tracking.  What would need to change would be support for jobs to use multiple skills.  I believe the support for this is already in place, with chatting training multiple skills, combat actions training both weapon and fighter skills, watching demonstrations training and benefiting from several skills.  The system here needs to be expanded for civilian labors, which enable a class of different jobs, but which all train the single skill linked to that single labor.
Logged
While adding magma to anything will make it dwarfy, adding the word "magma" to your post does not necessarily make it funny.
Thoughts on water
MILITARY: squad, uniform, training
"DF doesn't mold players into its image - DF merely selects those who were always ready for DF." -NW_Kohaku

ravaught

  • Bay Watcher
  • Anybody seen mah beer?
    • View Profile
Re: Skill Expansion
« Reply #3 on: April 10, 2012, 04:12:16 pm »

Side Note: **Tools, for the purpose of this thread, refers to any item that a dwarf can use to accomplish a task, including weapons and such**


skills and jobs are already separate in terms of display to the player and tracking.  What would need to change would be support for jobs to use multiple skills.  I believe the support for this is already in place, with chatting training multiple skills, combat actions training both weapon and fighter skills, watching demonstrations training and benefiting from several skills.  The system here needs to be expanded for civilian labors, which enable a class of different jobs, but which all train the single skill linked to that single labor.

That was exactly what was suggested, except that the suggestion applied equally to all skills, not just civilian. The basic infrastructure is already in place, which only serves to make the suggestion that much more feasible.


@Silverionmox

Ideally, the abilities used for any given task would be defined in either the reactions(in the case of crafting), the building definitions(in the case of constructions), or by what is equipped(for combat, which is already in place). XP would be split equally among the skills used, and, as you said, the Labors would essentially be calculated based off the sum relevant skills. It could be simply implemented by increasing the XP needed per level of labor skill drastically, and its value being the average of the raw xp sum of all of the skills that it encompasses.

To use your example of carpentry:

carpentry xp=(scultping + carving + designing + planing + Geometry + Hammers + (insert skill here))/number of skills

The net effect of this would be that a) all of your skills would increase slower, and b) the rate at which legendaries are trained would be dramatically decreased. In other words, in order to max out your carpentry you would have to max, or nearly max, all of the skills that fall under its umbrella. That system could be changed somewhat to allow some skills to way more heavily than others, perhaps by assigning some skills as secondary or support skills and some as primary, with the secondary skills comprising a smaller portion of the overall labor skill value.

Object skills are can still be lumped together categorically. For example, an adz , a planar, sanding brick, and sand paper could all come under Planing as a skill, with each tool having some requisite skill necessary for use. +1 if there is a way to define a modifier for xp gain per tool. This system is already in place to a limited degree in the military I believe.
Logged
..because making sense and having FUN are not mutually exclusive.

Silverionmox

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #4 on: April 10, 2012, 04:32:39 pm »

I actually meant the experience with producing certain items, even if they otherwise use the same labor (and therefore most likely the same skills), eg. chairs, chests, tables, beds; stone crowns & stone bracelets etc.. I'd say track all raw-defined objects separately. Maybe another kind of grouping in the raws can be used, but requiring groups to be defined just for this purpose isn't necessary.

I'd not go as far to include image and statue variations, because those consist out of very specific scenes etc. that emerge from the game... that's an infinite list.
Logged
Dwarf Fortress cured my savescumming.

ravaught

  • Bay Watcher
  • Anybody seen mah beer?
    • View Profile
Re: Skill Expansion
« Reply #5 on: April 10, 2012, 05:40:44 pm »

@Silverionmox
Quote
actually meant the experience with producing certain items, even if they otherwise use the same labor (and therefore most likely the same skills), eg. chairs, chests, tables, beds; stone crowns & stone bracelets etc.. I'd say track all raw-defined objects separately. Maybe another kind of grouping in the raws can be used, but requiring groups to be defined just for this purpose isn't necessary.

Yup, exactly what I meant. Sorry if I was unclear on that point. Groups would not be defined just for this purpose. I am sure that as the game continues to grow and expand being able to select things individually or as groups would be quite handy, and would be extensible into other portions of the game engine. The problem, as I see it, is that as things stand at the moment, things are fairly rigid, whether you are talking about workshops, skills, labors, tools, or anything else. If we can abstract these out it will give toady a lot of breathing room in the code, and players a lot of room to create their own brand of FUN. Having the groups is much like having Castes, they provide a broad definition that can be refined to minimize the amount of code needed to accomplish any given task, while the single entries provide the method for fine tuning and flexibility.

Images and Varitations could remain as they are, really, particularly as far as the descriptions for them. All that would need to change would be the reaction. A simple [IS_STATUE], [IS_IMAGE], [IS_ENGRAVING] could link the reaction back to the current code for determining the what images are produced. This would also make it possible to expand the functionality to include different material types, such as leather.
Logged
..because making sense and having FUN are not mutually exclusive.

Maklak

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #6 on: April 11, 2012, 05:55:15 am »

I'd like some sort of skill synergy, because the skills are already too fragmented. A there-level system would make sense (stats(agility) influence skills(cutting) which are used for labours (woodworking)), but seems complex and hard to balance.

It would be much simpler if training some skills gave resudual XP to related skills, so for example using 'masonry' skill would increase 'engraving' and 'stonecrafting' by 20% of XP gain for masonry. Maybe even give teriary 10% experience to yet more skills.
Logged
Quote from: Omnicega
Since you seem to criticize most things harsher than concentrated acid, I'll take that as a compliment.
On mining Organics
Military guide for FoE mod.
Research: Crossbow with axe and shield.
Dropbox referral

Silverionmox

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #7 on: April 11, 2012, 10:12:34 am »

I'd like some sort of skill synergy, because the skills are already too fragmented. A there-level system would make sense (stats(agility) influence skills(cutting) which are used for labours (woodworking)), but seems complex and hard to balance.

It would be much simpler if training some skills gave resudual XP to related skills, so for example using 'masonry' skill would increase 'engraving' and 'stonecrafting' by 20% of XP gain for masonry. Maybe even give teriary 10% experience to yet more skills.
While possible, it requires a roster the size of (totalnumberofskills)² entries to be kept upt to date. Composite skills would automate a lot of that functionality: if you would add a new type of woodworking skill, your carpenters and woodcrafters would automatically be somewhat capable to learn it, without having to add anything more. The same goes for Toady, as the game progresses and new skills come into being.

@Ravaught:
Those item groups might be useful for the AI later.
« Last Edit: April 11, 2012, 10:16:08 am by Silverionmox »
Logged
Dwarf Fortress cured my savescumming.

ravaught

  • Bay Watcher
  • Anybody seen mah beer?
    • View Profile
Re: Skill Expansion
« Reply #8 on: April 11, 2012, 08:34:23 pm »

According to Wikipedia, the meaning of skill is the same to labor because it give the word "labor" in the bracket behind "skill"

Spoiler: Labor (click to show/hide)

Spoiler: skill (click to show/hide)

Spoiler: knowledge (click to show/hide)

From this you should be able to see that skill arises from knowledge, and is applied to labor. So this sets up three distinct categories. What you know, what you are capable of, and how you can apply your capabilities to the task you must perform. So, you possess knowledge of the alphabet and language. Using that knowledge, you have developed the skills of reading, writing, and typing, and using those skills, you are able to perform a job or task done or to be done, such as responding to this post. Those same skills can also be applied to a wide variety of other tasks, just as writing reports. When you combine those skills with other skills, such as the skill of calculation based on a knowledge of mathematics, then you can perform new jobs, such as tracking inventory and tabulating fortress wealth.
Logged
..because making sense and having FUN are not mutually exclusive.

Silverionmox

  • Bay Watcher
    • View Profile
Re: Skill Expansion
« Reply #9 on: April 12, 2012, 05:20:19 am »

According to Wikipedia, the meaning of skill is the same to labor because it give the word "labor" in the bracket behind "skill"
That's because currently, skills and labors are identical. They don't need to be.

Labors should be tasks, that you can turn on or off for your dwarves.
Skills should be a measure of how well a dwarf can perform a task. They are improved by doing labors that involve that skill.

Currently, there's a one-on-one relationship between skills and labors. The suggestion is to couple several skills to one labor/task, so it becomes possible to have skill synergy depending on the similarity of labors.

For purposes of convenience, the relevant combined skills ought to be displayed at each labor. Looking at the raw component skills would mostly be useful out of curiosity or to decide the long-term career prospects of a dwarf. You'll notice the effects at the labor assignment screen or part of the screen.
Logged
Dwarf Fortress cured my savescumming.

ravaught

  • Bay Watcher
  • Anybody seen mah beer?
    • View Profile
Re: Skill Expansion
« Reply #10 on: April 12, 2012, 04:31:13 pm »

I am not certain how Dwarf Strength/Stamina is formulate(if anyone has a link to some info like that I would love to read it), but I reclaimed a fort today and struck on an idea that ties in with this thread. Currently, we have hauling labors, but no associated skill and hence no benefit for using manual hauling as opposed to autodump. What I am proposing is that manual hauling actually do something to affect a Dwarf's strength/stamina. With the new hauling upgrades, that would make an interesting choice between labor efficieny(carts) and unit building(manual hauling). It would also provide a logical reason NOT to use the autodump utility. I'm watching my Dwarves move 2k units of stone by hand at the moment.
Logged
..because making sense and having FUN are not mutually exclusive.