Welcome to the Metro Football League.

The league is named the Metro Football League because its fictional teams play in fictional metropolitan cities. The games are played using the Maximum Football 2.0 (MaxF) sim engine. Feel free to visit and explore this site often.


Creating Fictional Players

This is the reason why I'm involved in this hobby. It affords me a creative outlet. I get a real kick out of creating and naming fictional players. The vast majority are created by the Maximum Football sim engine and this adds an exciting dream element where there are no preconceived ideas as to how a player should perform. However, I'll craft fictional players from time to time, which are designed to become stars. (These were placed on a fictional team's rosters to begin the inaugural season, but through the draft in subsequent seasons.) This gives me a chance to breath some instant excitement into the league.  

Once the created player is introduced into the Metro Football League they're on their own. No further manipulation is done. It's a lot of fun to track them as their careers unfold.

24 Fictional Teams

Here are the fictional teams that make up my solo league...


EASTERN CONFERENCE TEAMS

Gotham Bulldogs
Bulldog Coliseum

Brandenburg Brahmas
Forson Field

Seaside Invaders
Invasion Stadium

St.Patrick Keltics
Shamrock Field

Newport Bay Cyclones
Johnson Stadium

Cape City Corsairs
Cape Stadium

Easton Barons
Easton Stadium

Dunberry Dragons
Dunberry Stadium

Crestfield Spartans
Spartans Field

St.Cruze Makos
Tropical Stadium

Marbro Musketeers
Campbell Stadium

Jaxton Jackets
Delta Stadium










WESTERN CONFERENCE TEAMS

Metropolis Monarchs
Metropolitan Stadium

Rivermount Kodiaks
Hillside Stadium

Tylerville Tigers
Tigers Stadium

Midway Bobcats
Midway Field

Silver Bay Wolves
Gridiron Stadium

Oakdale Nightbirds
Nightbird Stadium

Gateway Colonials
Capital Grounds

Market City Tritons
Triton Field

Sterling Stallions
Sterling Field

River Heights Warriors
Warrior Stadium

Roxford Rangers
Rangers Stadium

Bay City Comets
Comets Field

Stadiums

All teams play in fictional stadiums. I've chosen to use the Merenge Double Deck Stadium model (designed by local8h) as my base for all MFL teams. Then, I've named and customized each to match the home field atmosphere of the team that plays there. Also, I've created sound packages for each stadium. I switch these out manually depending on which home stadium is hosting the game. That way each team has it's own unique atmosphere, (from the bell toll at Invasion Field, to the cow bells at Forson Field, to the streaking touchdown fireworks at Comets Field, to the random air horns that dot the atmosphere along with the 'We Will Rock You' chant that sounds off at Bulldogs Stadium, to the 'War Chant' at Warrior Stadium, to the boisterous echo that saturates the air at the indoor Metropolitan Stadium, etc., etc.) Really enhances the home field experience, makes the games even more fun to watch and immersive.

Running A Team

I consider myself the league administrator and do not manage any of the teams on the field. The computer handles all of this. I also function as the league's national audience so I watch quite a few regular season and all postseason games.

Two Conferences With No Divisions

There are 12 teams per conference with no divisions. The teams that finish the regular season in first place are crowned the conference champions. This way the season is relevant instead of being just a jockie match for post season position. The conference champions get a first round bye and home field advantage in the second round of the playoffs.

11 Game Schedule

Teams play a round robin 11 game schedule where each team in the conference plays the other once per season. Teams only play games within their conference during the regular season.

Tie Breakers

End of season tie breakers are determined by head-to-head record first, then points scored, then coin toss.

Metro Bowl Playoffs

The three top teams from the East Conference and the three top teams from the West Conference (6 teams) make the postseason playoffs. The conference champions get a first round bye and home field advantage in the second round. The other four teams play in Round 1 and are seeded based on win-loss record, irregardless of the conference that they come from. The winners of the first round advance to the second round where they meet the conference champions. The two survivors play for all the marbles in the championship game which is called the Metro Bowl.  (This championship game is always played at a neutral stadium called the Metro Bowl and is located in Central City).

Rules Of Play

Here is my rules set up...

Rosters

45 players. I've standardized each roster profile to include...

  • QB = 3

  • WR = 5

  • CT/OL = 8

  • RB = 5

  • DL = 6

  • LB = 7

  • DB = 7

  • SB/TE = 2

  • K/R = 0

  • K/P = 2

Rookie Draft / Profiles

The current offseason draft is 10 rounds. (The innaugural draft was 45 rounds.) I use a third party draft utility (Killershrew Draft Tool) to run the draft. It does an excellent job at analyzing each team's weaknesses and drafting to meet those needs.

Coaches / Playbooks

I use the specially customized cpu V cpu playbooks (a compilation of efforts by myself, Hack & terryt33). When I create fictional coaches I select one of those playbooks and assign it to a particular coach. That way each coach comes with his own playbook. Therefore, when a team hires a new coach the playbook will possibly change, giving the team a new play personality on the field. This brings the coaches to life as some will stress passing, others running and still others defense; some are conservative while others are more daring.

Coaching Tenure Procedure:

All coaches are given an automatic fifteen season tenure to coach in the MFL. One season is subtracted off their tenure after each season, no matter if they are active or inactive. After fifteen seasons, Coaches are subject to retire after their fifteen year tenure has expired. (Any coach on the inactive list will automatically retire after his fifteenth season of tenure.) However, an active coach may be able to hang on a little longer as only  five or less active coaches to be replaced after each season, (avoiding a mass exodus of coaches) priority being given to a coach who needs to be fired. Here's how it works...

Let's say, for example, there are three coaches to be fired and three coaches to retire at the end of the season. All of the coaches that need to be fired will be. But, a coin toss (tails) will determine which two of the three retiring coaches will actual hang it up. The first two coaches that land on tails will be retired. The remaining coach(es) will coach for another season. Same holds true if there are six or more coaches to be fired at the end of the season. The coin toss will determine which five are let go and who get's to coach another season.

I use a very simple procedure to determine a coach's tenure with a certain team. If after five seasons the coach has led his team to more winning seasons than losing seasons, he is extended for five more seasons (up to 15 seasons). If not he is automatically fired and is placed in the inactive coaches pool until he is either hired by a team or his tenure expires. However, if a coach due to be fired has taken his team to the playoffs (at anytime during the five seasons) he will be subject to a coin toss. Heads says he is extended for five more seasons and tails says he is cut loose and will be placed in the inactive coaches pool until he is either hired by a team or his tenure expires. If a coach wins a Metro Bowl title he will automatically remain with the team until his retirement. After each season I create a few more coaches and place them in the coach's pool where they stay until they are hired or their tenure expires.

Free Agency

Signed players do not earn free agency in the MFL. Unless players are cut they remain with their team until they retire. However, released players or unsigned players are placed in the free agent pool and can sign with any team.

Injuries

Career injuries have been removed, but there are season enders. I've also included more minor injuries. Here are my injury edits and additions to the main.dat file...


Player Retirements

The average MFL player will play for about 7 seasons. Of course, some play for much longer. But, instead of using MaxF to handle retirements I use Killershrew's excellent third party retirement tool to handle all retirements.

Player Skill Attribute Ranges

I only seek to control the skill ranges on skill players. The other positions are handled by the CPU. This is done through the main data file by editing the skill attribute ratings ranges. This way rookies are given these ratings when they are created by the cpu. But, I haven't adjusted all of the skill player's ranges, just the following (all other skill ranges remain at the default levels)...

QB

  • Speed - 55/70

  • Agility - 70/90

  • Pass Strength - 75/85

  • Pass Accuracy 75/85

RB

  • Speed - 75/88

  • Agility - 70/80

WR

  • Speed 85/94

  • Agility - 76/90

  • Catching - 75/85

  • Blocking - 45/50

TE

  • Blocking 60/67

DB

  • Speed 70/85

  • Agility 85/90

K

  • Kick Strength 80/95

  • Kick Accuracy 70/92

P

  • Kick Strength - 80/99

  • Kick Accuracy 60/85

Keep in mind that this is a base for cpu created players. I also create custom players and drop them in the rookie pool. So, I do edit some rookie pool players a little further in order to mold a star. For example, I will give some DBs 99 speed from time to time or some QBs a high 90's in pass strength and accuracy as well as intelligence. This keeps things interesting. But, I never give a RB more than 88 in speed or more than 90 in agility as he would be an absolute uncontrollable beast in my league.

You'll also notice that I keep my DBs slower than WRs as that gives the edge to the receivers and keeps the passing game fluid. There is still some overlap, though. But, as I mentioned above, I will drop a few 99 speed DBs into the rookie pool from time to time. This type of DB will chase any guy down and can also be considered a lock down DB. But, I also make sure that DBs have plenty of agility. In fact, with higher agility the DBs seem to put up a better defense and cut down on some of those 3rd down conversions. 

So far, this has worked quite well for me. But, I'm always tweaking this and my constants especially as I find new, better or other ways to achieve the results I want.

My Constants File Settings (last updated 05/10/11)

Here's my latest constants. To use these simply copy and paste it to your constants file. (Make sure to back-up a copy of your original, before replacing it, in case you want to go back to it.)

Please note: My PhysicsBaseMoveSpeed=6.5 is set a little faster than the default constants. I simply like the way it flows in the 3D game. Also, it seems to keep the RBs a little more honest around the corners as DBs can arrive to help out a little faster. Try it, but you might have to go in and lower your RB ratings somewhat as they can be devastating with this little speed boost. My fastest RB has an 88 speed with 93 agility. He aint got no handles, but the DBs can still cut him down at the corners if they get there quickly enough. This has also helped to improve the number of sacks.

Also I'm using the fatigue adjustments from Mykals constants and my QBs no longer swap out during games. Love that. Anyway here goes... (Changes from last adjustment are in bold.)

[CONSTANTS]
//Blocking
BlockingBaseLine=1
BlockingPassBlockTime=0.90
BlockingPushBlockTime=1.80
BlockingPassBlockStrength=0.60
BlockingPushBlockStrength=0.60
BlockPancakeThreshold=1.00

//Tackles. The higher the number, the more missed tackles.
TackleThreshold=15*

//Physics
PhysicsBaseMoveSpeed=6.5
PhysicsBaseAgility=0.20
PhysicsMaxChangeDirTime=0.50
Physics_MaxPuntStrength=8.3
Physics_MaxFGStrength=16
Physics_MaxKOStrength=25

//Defensive Reaction times.
DefenseBaseM2MCoverageArea=2
Defense_PassReactionBaseTime=4
Defense_ReadBaseTime=2.5

//Field Goal Accuracy, the closer the number is to zero, the more accurate the place kicks
FieldGoal_Accuracy=51

//QB Read base times.
QBRead_Threshold=2.5
QBScramble_Threshold=3

//QB Passing Contants, the higher the number, the less accurate the pass
QBPassingAccuracyStanding=1.0
QBPassingAccuracyRunning=2.2
QBPassingAccuracyScrambling=3.4

//QB base 'angle of deviation from optimal' This is modified by the above QB passing constants
//the higher the number, the less accurate the pass
QBPassingAccuracyBase=5

//There are three pass accuracy systems to choose from
//1 = Angle Adjustment only . This is an accuracy adjustment to the throwing angle
//2 = Distance Adjustment only. This is a accuracy adjustment to the determined throw distance.
//3 = Combined Angle and Distance.
//With all systems, the QBPassing accuracy constants play the same roles. So the rule holds true
//The lower the Accuracyconstants, the more accurate the passing.
QBPassingSystem=3

//These are the fatigue Values. Some actions in the game add fatigue, some substract it.
//The value name tells you if the fatigue is added or subtracted.
//Fatigue is a percentage of 100% added for every one second of the action.
Fatigue_AddRunning=3
Fatigue_AddCatching=4
Fatigue_AddBlockingPush=5
Fatigue_AddBlockingPass=6
Fatigue_AddTackling=7
Fatigue_AddBeingTackled=35
Fatigue_AddLongPasses=5
Fatigue_SubtractResting=-3
Fatigue_SubtractWalking=-1
Fatigue_SubtractStanding=-2

My Simgame File Settings (last updated 2/17/11)

Since the MaxF 3D game and the sim game stats are determined by two different engine mechanisms I had to adjust the simgame_(league name abbreviation) file to get consistent stats between the two modes of play. These settings kick in when I sim games as opposed to playing them out in 3D mode. Please keep in mind that I play 7 min quarters, so if you play less or more minutes per quarter my settings may not work for you. Still it could be a nice starting point (remember to make a copy of your original before you use these.) To use simply cut and paste to your simgame_(league name abbreviation) file. Make sure to only edit the simgame file that has your league abbreviation attached to it, not the one that just says 'simgame'. Here are the settings I use... (Changes from last adjustment are in bold.)

[SETTINGS]
passcompletion_modifier=55
Pass_ExceptionOdds=80
PassYards_BaseMin=7
PassYards_BaseMax=12
PassYards_ExceptMin=5
PassYards_ExceptMax=10
RushExceptionOdds=40
RushYards_BaseMin=-2
RushYards_BaseMax=6
RushYards_ExceptMin=-3
RushYards_ExceptMax=8
PenaltyOdds=40
FumbleOdds=90
InterceptionAverage=16
ExtraPointOdds=95
TimePunt_Min=20
TimePunt_Max=30
TimeIncomplete_Min=15
TimeIncomplete_Max=25
TimeKO_Min=20
TimeKO_Max=30
TimeBasicPlay_Min=13
TimeBasicPlay_Max=15

Training Camp Settings

I've edited the training camp default values in the main.dat file so that players do not increase in speed during training camp. I've simply followed the lead of other gamers with the rationale that speed is what it is and not likely to increase once players hit the pros. In fact, the way my numbers are set the biggest jumps now come in player int/dis for some positions. Here are my training camp values...

Sim Schedule

No set schedule. I just sim games and update the site when I have time.

Can you send me your Metro Football League files?

Sorry. The Metro Football League is my own special project, my baby. So, I don't make the league file available. However, you are welcome to use any of the ideas presented here in your very own fictional league project.

Thanks for taking the time to read this document. Also, thanks to David Winters of Winter Valley Custom Software for developing such a fantastic football sim that supports us in this exciting hobby. Send questions, comments to Jon Johnson