The Minute-Man Tactic
I've been contemplating writing this for awhile now, but have postponed it with excuses like not having enough data.
I've already answered multiple ingame messages on this tactic, so I'm just gonna put it out there for everyone.
In previous posts I've already covered the fact that you can change tactics and swap players after only 1 minute using the @Anytime-regardless event. I've also claimed that players only need 1 minute on the pitch to be illegible for gain. By combining these facts you get the minute-man gaining tactic.
Player attribute gaining is always a hot topic. Most 1st-division league-winners are experts at training players, and currently the Norwegian 1st division has a relative strength of 96. That basically means the average Q of the 176 top players in the Norwegian 1st division is 96!
Now most of the top player-developers I've seen are swapping their talents in at 60 minutes. They are also using a bunch of old (30+) players alongside the talents. Some even use a bunch of crap keepers, based on the idea that keepers "live" longer and crap players "steal" less gains. The talented youths are supposed to learn from the old, experienced players. Some take this further saying the experience-factor is based on how many league-games they have in their career etc - I personally believe the age is all that matters. Another rumor is that you need an oldie in each section, or need to surround your youth with oldies. I think this too is just a rumor, but I've never been that good at developing players so I might be wrong ;)
Let's cut some cheese. 
You have 6 options at your disposal to train players:
A) Individual Training
B) playing Friendlies
C) playing Custom Cups (player cups)
D) Regular Cups (League, Dept., CL...)
E) Camp
F) League games
2 of these are training-sessions - 4 are through matches.
In my first blog-post I covered some of the believed factors involved in gaining.
To simplify everything, here are the 4 things you need to focus on:
- number of matches
- player-potential
- player age
- average age of lineup
The absolute, most important, factor to massive gains is the number of matches you can give the player.
Put a 4-5 star Q70+ 17-year old in a 28-average-age lineup. Play him in 280 matches, train him on all individual trainings and all extreme camps. Do this for 4 seasons and I can almost guarantee you will have a Q90+ 20 year old player.
The key here is how to accomplish that with the least amount of stress. I'm in a situation where I can't predict or schedule time to manage my team. Most of my friendlies are executed from a mobile phone, on the go. In the past I've struggled to do 200 friendlies, so for a player-training tactic to work for me it would need to be simple:
Create a lineup that includes your 3 (or less) youths in the starting 11.
Set an event @anytime, regardless of result, to swap the 3 youths for any other player.
This accomplishes:
- your youths almost never get tired and can play all games
- your youths never need to rest on individual training
- as you swap @ 1 minute, using the low-Q youths don't affect your teams performance much. This is important to me as I don't want to sacrifice league-position because of player-training.
Personally I have 4 lineups like this - 1 for League and 2 for friendlies and 1 special for Player Cups. This makes it easy to complete friendlies from mobile with a minimum amount of player-swapping.
Prior to this season (88) it also had the positive effect of boosting your moral, as you could play 3 low-Q youths for 1 minute and thus lower your average Q for the game. And Q difference was a big factor in determining moral gain or loss. Spinner has adjusted this and it doesn't make a huge difference anymore.
A note of caution
If you go all-in with this tactic, swapping 3 players @ 1 minute, you run the risk of losing matches because of injuries. I've used this tactic 4 seasons now, and in every season so far I've had to finish 1-4 games with a man or two less because I've used all my substitutions! 2 or 3 times the player getting injured was the goalie, and you all should know what happens when a ML-defender puts on the gloves. :P
What to expect?
Training players like this I would expect the youth to gain:
4 atts from individual training
5-6 atts from league games
2 atts from camps
5-6 atts from cup-games (estimated ~45 cup games)
30+ atts from friendlies (201 friendlies)
I still have not managed to gain 50+ atts on any player using this tactic. The top gainer-managers do this, usually with a rigid swap@60 and lots of oldies tactic. I have not combined my tactic with the crap-keeper-oldies tactic, so I don't know if that would make the difference.
EDIT after Season88:
This is the actual results from my last season - consentrated on 3 players:
3-5 atts from Individual Training
3-8 atts from League Games
2-3 atts from 5 Camps
3-6 atts from Player Cups
25-36 atts from Friendlies
Looking at 1 players gains, the atts from each type of training in %:
Individual Training: 6-12%
League Games: 7-14%
Camps: 4-7%
Player Cups: 7-14%
Friendlies: 60-66%
Nothing beats playing the max amount of friendlies! That should be your no#1 priority.
Second I would say playing League and Cup games.
The gains from training, and specially camps, are so low that these are the ones you can skip now and then - if you absolutely have to.
But I would say the higher Q player you are training, the more important are individual training and camps.
END EDIT
The gain formula
My theory on gain is a 2-step check. First the Sim picks possible candidates for gain from the roster.
Like I've previously described, this could be done either by looping the 11-14 players who actually played
the match. Or these players could be weighted/mapped, getting X spots in an array, by their potential - then
Y "spots" are randomly picked from the array.
Let's look at the simplest solution: looping the ̃14 players.
For each player run a formula (check 1) based on potential and age, where potential is a hidden attribute with a value between 1-99.
Draw a random number between 1-99 and compare:
if(randNum1 < (potential-ageMod)){
proceed with 2nd check
}
The 2nd check involves the actual attribute to gain, current level of the attribute, current level of attribute-gain this season and the type of game.
It would look something like:
if(randNum2 < ((attMod - gainMod) * gameMod)){
GAIN!
}
I guess the Modifiers should be explained.
- attMod would be the current level of the attribute, modified to a low value based on how high it currently is. I'm expecting this to be something exponential, but simplified it could be: 250-attvalue
- gainMod would be how much this att has gained already this season. This is a limit to make sure a player doesn't become superstar-quality in 1 att in 1 season. Simplified it could be: gain^2
- gameMod is a modifier to give more weight to league and cup games over friendly-games. I'm suggesting something like:
League: 0.3
LeagueCup: 0.35
PlayerCup: 0.25
Friendly: 0.2
Individual Training: 0.2
Camp: 0.75
Example formula calc: player with 80 shooting, having gained +5 shooting already this season, friendly-game
((250-80)-(5^2)) * 0.2 = 29
So the randNum2 must be lower than 29 for this player to gain.
If he had 95 shooting, the chance would be: 26
If 80 shooting had already increased by 10 this season: 14
Extreme example:
player with 32 keeping, having gained 0 already, LC-game: 200-32-0 * 0.35 = 76.3
Keep in mind that I don't have scientific data to back this up
The actual numbers used here are probably way off 
What can be gained from this Theory?
IF you decide to believe that this theory is on track, then here is what to expect:
- the older the player gets, the less points they will gain in a season
- the higher an attribute gets, the harder it will be to gain it further
- the more you gain 1 att in a season, the harder it will get to increase. An att that has gained 10+ will be quite hard to increase.
- if you have gained +10 already then it might be harder to go from 80 to 81 in this att, than from 96 to 97 in an att with less gain this season.
- consider using camps to gain the hardest atts.
- distribute gains as evenly as possible
-- if you believe all 11-14 players are looped and given a chance to gain, then there is not much point overloading your team with crap keepers - other than to increase average age.
-- but if you believe the Sim pre-determines a number of gainers, giving each player uneven opportunities, then crap keepers might steal less gains than good oldies.
A thought supporting the idea that the Sim pre-determines a number of gainers is the fact that you never get 10+ gains from any one match. Even if the formula makes it highly unlikely that all players would gain at the same time, with the number of matches executed in ML I would think it could happen - unless some limit is implemented.
NOTE: I have not considered here which att is selected for gain. This could be a random draw, possibly modified by a sectionModifier based on whether the player is Keeper, Def, Mid or Attacker.
If you didn't already, read the other ramblings in this series:
The Brutal Chaos Theory - part 1
The Brutal Chaos Theory - part 2 - the Simulator
Have fun 