I was making a self player development system for Madden 20 using the game tables and modifying them though a ETL, the issue is that i haven't reached a good math formula to give players most of their xp points in their first 4 pro years

Jan Cruz, Blogger

February 8, 2021

So the issue is that football players in real life, most of the time they reach their full potential by their 4th-5th year as a pro, so I wanted to reflect that by making a flag that permits a player to have progress or not. If the player is older than that, they have reached their full potential unless they have a Dev Upgrade by having a good season. The way I decided how much a player can progress was by making a table in which normal dev players have 1% of chances to become a 95-99 overall rating player. Then when the range is decided, there´s another formula that randomizes their overall within the range, for example:

Player Austin Fort, Age 21, Dev Trait = Normal, Years pro = 0, OveralRating  = 68

The first check is to have: YearsPro below or equal to 4, AND have a Projected Overall calculated = 0 AND ContractStatus = Signed

Projected overall = 0 if the player ContractStatus = "Draft" is equal to "0"

Projected range = 0-65 "1%", 65-75 "85%",  76-85 "10%", 86-95 "3%", 96-99 "1%"

So the projected overall for example is 76-85

Then comes Projected Overall calculation = Random (76,85)

Let´s say it gives him an 80 projected overall

So the player must progress in 4 years, from his 68 overall to his projected 80 overall

That gives the player 12 skill points in order to split them in 4 years, 2 progressions per year

Let´s say that the first year progression gives him 4 points, the normal thing is that the player progress from 68+4 = 72, but if the user prefers, maybe he can invest in other attributes that don´t raise the player overall to 72, instead of to 70

So the current formula that I have to calculate these skill points per progression (2 per year) is:

ProjectedOverall - OverallRating / (4 -YearsPro)

80 - 68 / ( 4 - 0 ) = 4 Skill points

The idea is that the player gradually receives fewer skill points, but I haven´t hit the sweet spot for balance, because free agent player that sign with teams and they are in their 4th year, the formula gives them a lot of points:

Player Case Stone, Age 24, Dev Trait = Normal, Years pro = 3 (YearsPro values start from 0), OveralRating  = 72, ProjectedOverall = 80

80 - 72 / (4 - 3) = 8 Skill points

If someone has an idea how to balance this?