Retirements

As in all things, you've gotta take the good with the bad. The regular season has just ended and players have to announce whether they wish to retire or play another season and risk injury. For some retirees, they are lucky and get to finish their careers playing a playoff game.

Retirement Ages:


Max Age: player will retire next season no matter what

Critical Age: player will consider retiring at this age depending on the retirement logic posted below


Position Max Age Critical Age
QB 15 10
HB/FB 13 8
WR/TE 12 7
C/G/T 14 9
DE/DT 13 8
LB 14 9
CB/S 12 7
K 15 10
P 11 6



Critical age does not mean other younger players are automatically safe! Younger players are also at risk for retirement depending on where they are slotted on the roster. See more detials below!

Retirement in FPBro98:
The following is taken from an old, old post on the VPNFL forum where someone actually was able to view the game code and follow how retirements work in the game. This is as close as we can get to the actual retirement mechanism.

Retirement in FBPro has FOUR factors and THREE random number generations. So nothing is set in stone... you simply can't know exactly what's going to happen. You can run the "Start New Season" function on the same league file with no roster alterations twenty times, and you're going to get twenty different results. A single team may get fairly consistant results, but because of the random factors involved I seriously doubt all 20 executions would be identical for even one team. So the first rule is "be prepared for randomness".

The first of the four actions to occur is the automatic retirement of any player that has reached the mandetory retirement age for his position. Those ages are listed as the MAX AGE in the table above. For example, if your QB's current age is 15, he WILL retire when the "Start New Season" button is pressed... it's that simple!

As the game retires players who meet this requirement, it counts how many it has booted off your team. The code calls this count "numRetired", short for "the numbers of players retired so far", or something like that. The next action is the first random number generation, which is called "numToRetire". This is exactly what the code name says... the number of players that the game will try to retire from a given team. The number can be as low as 4 or as high as 11. It will never be any lower or higher. If you have less than 4 players retire, it's only because you got lucky with (or planned properly for) the later calculations and events!

So now, the game has two numbers... "numToRetire" and "numRetired". There are three more actions the game might take to try and eliminate players from your team, but only if the "numToRetire" is still less than "numRetired". If the random "numToRetire" is 5, and the automatic retirement takes 6 players (numRetired) from your team, retirement is over... no more players will be lost! But if "numRetired" is for example only 1, there is much more work to be done.

FBPro98 has three more actions it might take to retire players from your team. It will only stop if the "numRetired" finally becomes equal to or greater than "numToRetire", or it finishes all three actions. Staying with the example above, where the automatic retirement only took away 1 of the 6 players the random number generation asks for, we've still got 5 more players to lose, so the game begins it's first test.

The first test is for "early retirement". This is why a team sometimes loses a player who is quite young, for seemingly no good reason. Well, here's the reason! The game builds in a 40% chance that one player (and it's always only one) will retire up to age 5... that's anyone age R through 4 on your current roster.

The logic works something like this. A random number (1-100) is generated. If that number is between 1-40, the game will try to find an eligible young player to send golfing. If it's greater than 40 (41-100), the first test ends with no more players retired, and the game moves on to the second test.

If the random number generated IS between 1-40, the game must pick a player to retire early. First, it looks to see if anyone is eligible. Each position is searched, and the very last player is looked at. This might be a player in an inactive (I) slot... say you have 7 LB's, one of whom is "I". Or it could be a player in an open (O) slot... maybe you only have 4 RB's, the last of which is "O". It could even be a player in an active (A) slot, such as QB2 if you only have two QB's on the roster. Each "last player on the depth chart" is looked at. If any are age 5 or younger, they are selected for early retirement. If more than one player meets the criteria, one of the bunch is selected at random... the game will never retire more than one player by this method. If no players are eligible, the game moves on to the next action.

The next test is very similar to the first. Again a random number is generated, and if it's between 1-40 the game will try to take two more players away. Again the last player at each positional depth chart is queried. But this time the game is looking to find players that have at least 6 years experience... anyone 5 or older on your pre-retirement roster. One difference is that this query starts at the bottom of the entire roster... the last IR slot... and works it's way up until it either retires two players, retires only one but reaches the random "numToRetire" value, or runs completely out of "last depth slot" players to choose from. This small difference means this method COULD retire two players at the same position. For example, if you have 8 LB's and two are inactive, it's possible that they could be in the lowest two inactive slots on the overall roster. If both are 6 or older, the game will take away both. The second guy from the end actually becomes the last one on the depth chart after the first is retired, so he's eligible to be the second! The only saving grace here is that the player in each position's #1 slot (subpositions such as WR/TE for groups like REC are treated separately here, but the #1 player must be in an "Active" roster slot) will not retire by this method.

If, after eliminating any automatic retirements, maybe taking one young player away via early retirement, and maybe taking one or two players away who are 6 or older the "numToRetire" has not been met yet, the game has one last action it will take to try to meet that number. Again starting at the bottom of the overall roster, each player is queried. If he is within 5 seasons of the automatic retirement age for his position (listed above) and NOT in the #1 slot for his position, the player will be retired, then the game moves on to the next player. Each player is checked until the "numToRetire" is reached or there are no more players to look at.

WHEW... that's a lot of stuff going on to generate the retirements for just one team! In much more simplistic terms, it goes kind of like this...

# The game makes a random choice, from 4 to 11, of how many players it wants to retire from a team.

# Any player who is at the automatic retirement age for his position is removed first.

# If more players are needed, there is a 40% chance the game will try to find one young player to retire early.

# If still MORE are needed, there is another 40% chance the game will try to retire two players with 6 or more seasons of experience.

# If the random number to retire is STILL not met, the game will retire ANY player on the roster, starting at the bottom, who is within 5 years of his position's automatic retirement age.

# A player that has reached the auto-retire age for his position will ALWAYS retire... there is absolutely nothing you can do about it.

# Conversely, a player in the #1 slot at his position will NEVER retire unless he's at the auto-retire age as long as he is "Active".

# Beyond those two givens, it's all a matter of chance

One other question you may be asking is "who can you guarantee WON'T retire from my team?" There are very few guarantees due to the random selections, but here are a few...

# A player currently under the mandetory retirement age (i.e. a QB less than 15) will not retire as long as he is in the #1 slot for his position. These slots are: QB1, HB1, FB1, WR1, TE1, C1, G1, T1, K1, P1, DE1, DT1, LB1, CB1, S1. Unless a player is old enough to retire automatically, there is no way he will if placed in one of those roster spots and it is an "Active" slot.

# No player currently age R, 1, 2, 3, or 4 will retire UNLESS he is the very last player at his position... QB2 if you have 2 QB, LB7 if you have 7 LB, etc. If he's last, there is a chance. If there is a player older than 4 years below him (unless that player will be removed by auto-retirement), no R-4 player will be retired.

A simple anti-retirement strategy might go like this...

# Fill your #1 slots (QB1, HB1, FB1, WR1, TE1, C1, G1, T1, K1, P1, DE1, DT1, LB1, CB1, S1) with players at least age 5. Put the guys here that are older but you definitely want to keep around. Don't put anyone who is R-4 here, as you'd be wasting the protection.

# All other players should be ordered in reverse of how much you need them.

# As an example, you might do this at the LB position. LB1 is a stud, age 7... he's guaranteed to stay. LB7 is any guy you can deal with losing... this is the most vulnerable spot. LB5 and LB6 are young guys, age R-4... with the expendable player in the LB7 slot, these guys are now guaranteed to stay too, so put them as low as possible! That just leaves LB2, LB3, and LB4. Fill these spots in reverse order of who you can afford to lose... the most painful at LB2, the most replaceable at LB4. Using this setup, only LB2-4 and the sacrificial lamb at LB7 are candidates for retirement, and you've done what you can to protect the most valueable players!

Even with this elaborate look into FBPro98's retirement logic, there are times where anomalies happen--especially when you sim more than 350 seasons. If a player retires even though it doesn't seem to fit the above logic then we have to chalk it up to bad luck and the evil random number generator run amok again! Plus, with our holdout rules, any retired player who has not reached their max age can be brought back...for a price of course!