To my feel, what usually causes that feeling is the huge difference in efficiency of sparring vs. efficiency of those "whatever session"
While the first drastically improve the skills and attributes of all participants, sessions just help stragglers to catch up a bit. Having an even skilled squad with 8 ppl having the same low skills leads to them teaching each other all the times stuff they already know, not progressing at all.
Having 2man squads leads to them sparring for weeks without break, immediately maxing out on everything. (and it gets faster and faster, since DF seems to adjust the XP you get for the power of your opponent... even in sparring)
So yeah, before i knew that, i also ended with squads full of trashdwarves never gaining skill...
I'm not sure what is moddable about those training behaviors. Things i would look for would be: (i'm only looking at melee here, i feel the XP-behaviour for ranged combat works well)
- even more improved effect of sessions
--not sure how effective teacher and student skill are, but maybe those could be raised, so any dwarf born/immigrating starts at 5 and skillrate raised even further then it is right now
- better selection of skills for sessions
--a lvl2 kicker otherwise legendary dwarf teaching his new companions kicking is a waste of time... if he would share his fighting or other skills it would be much more useful... but i guess this is hardcoded and can't be affected
--would it be possible via dfhack to actually check if a dwarf is starting a session in a skill that is below X(let's say 5 or
and cancel the session, so the dwarfs immediately start some new (hopefully more efficient) training?
- gain attributes in sessions
-- not sure if there is a marginal attributegain already, but anyway, most comes from sparring...
-- probably hardcoded and can't be changed
- reduce gains from sparring
-- the gains seem slow at start, but soon spiral out of hand, when the "power of opponent"-XPmodifier kicks in... if that modifier could be reduced it would be great... but i guess that there is a fixed way how the combatpower of a creature is calculated, that can't be changed... If it somehow could be changed, it would be great. (so a sparring a lvl8 dwarf gives slightly more XP then sparring a lvl2 dwarf, but not such a massive difference as it is now)
-- otherwise reduce gains from sparring in general (could this be changed? Or is there a way to teel the game, that a dwarf is not harder to battle then a rat?)
- shorten sparring sessions while making them more likely in bigger squads
-- making them more likely in bigger squads would even the odds between ppl that know that squads with >2 dwarves are bad and ppl that don't know that - not sure if this could be affected. Above mentioned idea for a dfhack intervention to cancel useless sessions could effectively do that
-- right now it feels, once 2 dwarfs start sparring they will only stop 20 combatlogpages later...
- somehow penalize small squads
-- negative thoughts, some way to affect training rate, whatever you can imagine...
-- this is alternative to some of the ways i described above to make larger squads more competetive
- improve gains from fighting invaders of all kinds
-- right now leaving the fortress to slay 12 goblins is XPwise much worse then sparring for the same time with your buddy. Seriously, this shouldn't be the case. XP from killing things should be the biggest factor. So you are forced to fight stuff, and those lucky survivors live to tell the tale and teach the new replacements. Having perfect warmachines (like my dwarves) that have never "fought" anything but their trainingbuddy is odd
-- this could be expanded to savage animals, but i would not raise the XP for normal animals, since i feel like hunting animals with the military is kinda boring and wasting a players time
I guess that would be it. So big question is, how does the game calculate how much XP you get for attacking a target? Would it be possible to simply change the XP gained from fighting dwarves/invaders?