Game Attributes Customization


If you haven't already, first read the customization overview.

"Game Attributes" refers to some high-level settings that define the state of your game. Almost all of them are editable in God Mode, but you can edit them in a League File too.

When making a League File, don't have to specify them. Any you leave out will just get their default values. Some attributes that might be worth playing with are described here:

{
    "version": 43,
    "gameAttributes": {
        "userTid": 15,
        "phase": 0,
        "daysLeft": 0,
        "ownerMood": {
            "wins": 0,
            "playoffs": 0,
            "money": 0
        },
        "season": 2013,
        "startingSeason": 2013,
        "gracePeriodEnd": 2015,
        "numGamesPlayoffSeries": [7, 7, 7, 7],
        "confs": [
            {"cid": 0, "name": "Eastern Conference"},
            {"cid": 1, "name": "Western Conference"}
        ],
        "divs": [
            {"did": 0, "cid": 0, "name": "Atlantic"},
            {"did": 1, "cid": 0, "name": "Central"},
            {"did": 2, "cid": 0, "name": "Southeast"},
            {"did": 3, "cid": 1, "name": "Southwest"},
            {"did": 4, "cid": 1, "name": "Northwest"},
            {"did": 5, "cid": 1, "name": "Pacific"}
        ]
    }
}

userTid is the ID number of the team you are managing, from 0 to 30. Setting it here will make it the default for new leagues created with this League File, but users can still change it if they want.

phase is the "phase" of the game, set by one of the following numbers:

So by setting the phase, you can pick when your game starts. So if you want to create a League File that starts with the draft, you can do it!

daysLeft only has an effect if you set your phase to 8 (free agency). It defines the number of days left before the preseason starts.

The values in ownerMood define how the owner feels about you. Positive numbers are good (max for each is 1), negative numbers are bad. If the sum ever drops below -1, you are fired.

numGamesPlayoffSeries is an array containing the number of games in each round of playoffs. For instance, if you want the old NBA style of a 4 round playoff where the first round is 5 games, set it to [5, 7, 7, 7]. This setting also determines the number of playoff teams, 2number of rounds. The default is 4 rounds (16 teams) with 7 games each, but it will auto adjust to fewer rounds if you have fewer than 16 teams. Previously there was a setting called numPlayoffRounds that let you set the number of rounds - that will continue to work as it did before, but numGamesPlayoffSeries is the recommended way of changing the length of the playoffs now.

draftAges is an array containing two numbers: the minimum and maximum ages for draft prospects. Default values are [19, 22]. See this blog post for more info.

forceRetireAge is an integer specifying a maximum age where players are forced to retire. If it's lower than the minimum value of draftAges (like the default value of 0), it has no effect.

Conferences and Divisions

The confs and divs properties let you change the conferences and divisions in the league. The default ones are shown above. You can have any number of conferences and divisions except 0. Things to remember:

  1. If you change the number of conferences or divisions, you must specify the teams as well, otherwise the game won't know what teams to put in what division.
  2. The id properties cid and did must start at 0 and increase without gaps, same as tid for teams.
  3. If the number of conferences is something besides 2, then playoff seeding will be based on the top records in the entire league, because otherwise it's not clear how it would work (imagine a 16 team playoff picked from 3 conferences).

As an example, try this league file with 3 conferences and 12 teams.

Confusing Season Stuff

The last three attributes listed above are related to the season. season is the current season. startingSeason is the first season played in this league. gracePeriodEnd is the first season you can get fired after. If you set one of these, you should set all of them. You should also specify seasons for any stats, ratings, and attributes for your players and teams.

However, there is a shortcut to make things easier. Move startingSeason up to the root of the League File (at the same level as gameAttributes) and it will be used to automatically set all of the season variables everywhere. Or just leave startingSeason and all the other seasons out completely and the default value will be used.

Player Names, Countries, and Colleges

By default, Basketball GM uses names, nationalities, and colleges similar to players in the NBA. All of this is customizable in league files. Here is the documentation on customizing player names, countries, and colleges.