World Basketball Manager



World Basketball Manager (WBM) is a PC game that lets you take charge and manage basketball teams all around the world, inside or outside the NBA. It is the first Greek computer game to ever get published outside Greece.

The game is most of all known for the realistic match simulation and the challenging A.I. To achieve that the program uses a modified type of a genetic algorithm.

The WBM developers originally released each version with fake names for all teams, players and managers, but the fan-maintained WBM database now includes more than 11.500 basketball players, 970 teams and 1300 managers from 196 countries. In order for the database to be updated every season, the users have created a network of researchers who update and make the data available for download.

Features

 * Gameplay is basically the same as in most soccer management games.
 * User can manage both club and national teams at the same time.
 * WBM features a very accurate real time match algorithm.
 * A genetic algorithm makes opponent A.I. very challenging.
 * The biggest and more accurate basketball database.
 * Very easy to learn and play.
 * Produces the same statistics that the basketball professionals use.
 * More than 500 human managers can play at the same time in a game session.
 * The data editor makes it very easy for everyone to edit the database.
 * Available in the following languages: English, French, German, Greek, Italian, Lithuanian, Portuguese, Polish, Russian, Spanish and Turkish.

The Genetic algorithm
WBM uses a genetic algorithm for AI during the match that works like this: The genes have 2 parts the Team part and the Players part. The Team part includes:
 * Offense Pace -> fast/normal/slow
 * After Attempt orders -> offensive rebound/return to defense
 * Defense system- > man to man/zone etc.
 * Foul orders -> immediate foul/none

The player(s) part includes:
 * Score role -> any/any shot/3p/2p/none etc.
 * Match up -> which player we are marking
 * Is leader -> yes/no
 * Defense intensity -> low/normal/hard

Fitness function

The implementation is not a pure by the book genetic algorithm. Some properties are also directly assigned by normal deterministic logic i.e. if a team is losing by 3-6 points and there is little time left then play harder defense (defense intensity=hard).

The match algorithm is a finite state machine (FSM), where from one state you go to another based on some probability which it's modified by the player attributes contributing to this state i.e. lets say we are in the state “Pick score attempt” and we would like to select (pick) what the player with the ball should do Pass, Go for 2p shot, Go for 3P shot, Go for drive or attempt to go Inside and score, based on some statistics 10% is passing, 20% is 2p etc. This probability is modified (increased or decreased) based on the player attributes (ranking 1 to 20) if for example is a good 2P shooter the probability of doing (selecting) a 2P shoot is augmented and if the defender is a good defender it might decrease it. Note here that the defense player can be a single player or an average of all the “defense” team players depending on the defense system (Man to man or zone). There are many parameters taking place here, the defense system, defense intensity the physical condition of the players etc. After the modifications taking place a random number is picked and the new state is selected and the algorithm continues in the same manner.For the fitness function uses a special state the “AI State” which has the averages of probabilities of critical states and also the averages of the coefficients of the attributes modifiers. The game then is evaluated like this: each Gene player is evaluated as offense player against the whole team as a single defense player (depending on the defense system) then all the individual evaluations are added up, then each opponent player is evaluated against the defense player (overall)of the “gene” players again based on the defense system. All the individual results are subtracted from the previous result and that's the final fitness.

Cross Over part

For the players it exchanges who is playing depending on a probability of the two fitnesses of the genes and it exchanges the match-up, score role and defense intensity. For the team part again with the same probability it exchanges the defense system, foul orders, offense pace, after attempt orders and the team leaders i.e. probability=thisgene.fitness+othergene.fitness pick a random number in [0, probability] if this number is less than thisgene.fitness the it does the change for this attribute (match-up, score role etc.) It picks a random number and do the same check for every attribute/property of the player and team parts.

Mutation

It changes randomly one player (send him to the bench and select another player). It mutates the score attempt of a randomly picked player (1 in 8), the defense system (1 in 2) and the leaders (1 in 4).

The update process

For the whole algorithm is used a steady state genetic algorithm implementation, there is a population of 100 genes and creates MAX_NEW_GENES in our case 20 new genes in each iteration. For each new gene it tries to insert it in the population replacing the worst gene if the new gene is better from the worst, so create 20 new genes but in the final population can be 0 to 20 new genes it is an elitism but in this case it works well. This update happens in every iteration of the match algorithm, and it selects the best gene as the opponent team for the player, after some time depending on the managers coaching ability, if the manager is a good coach (bigger coaching ability) it picks and applies the best gene more often so it seems that good managers adapt quicker to the changes of the human player and less good manager find the good answer less frequently.

Database
The database is maintained solely by the users and contains information about players, managers, teams and tournaments.

Players are described in 36 different attributes:

First Name, Last Name, Team, Nationality, Citizenship, Age, Position, Potential, Form, Experience, Moral, Clutch, Temperament, Blocking, Rebounding, Marking, Stealing, Ball Handling, Drive Scoring, Rebounding, Passing, Point1Shoot, Point2Shoot, Point2Inside, Point3Shoot, Height, Jump, Speed, Quickness, Power, Stamina, Contract Duration, Injury Risk, New Player, Fee Club, National Team Appearances, and Previous Teams.

Teams are described in 21 different attributes:

Country, Stadium, Enemy Team, Worth, Name, Owner Name, Season Budget, Starting Balance, Financial Status, Cohesion, Performance, Team Colors Primary, Team Colors Secondary, Fans Aggression, Fans Base, Foreigners Allowed, Facilities Level, Academy Level, Medical Level, Financial Level and Year Established Managers are described in 15 different attributes:

Team, National Team, Age, Seasons In Club, Seasons In NT, World Rank, First Name, Last Name, Score Season, Score Career, Coaching, Psychology, Training, Youth Development and Nationality.

Below is a list of tournaments included in WBM:
 * ABL
 * AFRICAN CHAMPIONS CUP
 * AFRICAN CUP
 * ALBANIAN LEAGUE
 * AMERICAN CUP
 * ANGOLAN LEAGUE
 * ARGENTINEAN LEAGUE
 * ASIAN CHAMPIONS CUP
 * ASIAN CUP
 * AUSTRALIAN LEAGUE
 * AUSTRIAN LEAGUE
 * BBL
 * BELORUSSIAN LEAGUE
 * BELGIAN CUP
 * BELGIAN LEAGUE
 * BOSNIAN LEAGUE
 * BRAZILIAN LEAGUE
 * BULGARIAN LEAGUE
 * CENTRAL AMERICAN CUP
 * CHALLENGE CUP
 * CHINESE LEAGUE
 * CROATIAN CUP
 * CROATIAN LEAGUE
 * CUBAN LEAGUE
 * CYPRIOT LEAGUE
 * CZECH LEAGUE
 * DANISH LEAGUE
 * DUTCH LEAGUE
 * ECQ
 * ESTONIAN LEAGUE
 * EURO
 * EURO QUALS A
 * EURO QUALS B
 * EUROPEAN CUP
 * EUROPEAN LEAGUE
 * FRENCH CUP
 * FRENCH LEAGUE
 * FRENCH SECOND LEAGUE
 * GEORGIAN LEAGUE
 * GERMAN CUP
 * GERMAN LEAGUE
 * GREEK CUP
 * GREEK LEAGUE
 * GREEK SECOND LEAGUE
 * HUNGARIAN LEAGUE
 * ICELANDIC LEAGUE
 * ISRAELI CUP
 * ISRAELI LEAGUE
 * ITALIAN CUP
 * ITALIAN LEAGUE
 * ITALIAN SECOND LEAGUE
 * JAPANESE LEAGUE
 * LATVIAN LEAGUE
 * LEBANESE LEAGUE
 * LITHUANIAN LEAGUE
 * LUXEMBOURGIAN LEAGUE
 * MACEDONIAN LEAGUE
 * MALTESE LEAGUE
 * MOROCCAN LEAGUE
 * NEW ZEALAND LEAGUE
 * NORWEGIAN LEAGUE
 * OCEANIA CUP
 * OLYMPICS
 * POLISH LEAGUE
 * PORTUGUESE CUP
 * PORTUGUESE LEAGUE
 * PUERTO RICAN LEAGUE
 * ROMANIAN LEAGUE
 * RUSSIAN CUP
 * RUSSIAN LEAGUE
 * SERBIAN CUP
 * SERBIAN LEAGUE
 * SLOVAKIAN LEAGUE
 * SLOVENIAN CUP
 * SLOVENIAN LEAGUE
 * SOUTH AMERICAN CUP
 * SOUTH AMERICAN LEAGUE
 * SOUTH KOREAN LEAGUE
 * SPANISH CUP
 * SPANISH LEAGUE
 * SPANISH SECOND LEAGUE
 * SWEDISH LEAGUE
 * SWISS LEAGUE
 * TURKISH CUP
 * TURKISH LEAGUE
 * TURKISH SECOND LEAGUE
 * U.S.A. LEAGUE
 * UK CUP
 * UK LEAGUE
 * UKRAINIAN LEAGUE
 * VENEZUELAN LEAGUE
 * WORLD CUP
 * WORLD LEAGUE

History
WBM is developed from Icehole, a small development team based in Athens Greece. The game was first released in 2001 under the name Basketball Manager. Back then it only included Greek basketball league. The next year a new version of the game added 5 more countries. Italy, France, Spain, Germany and Israel. In 2004 the game was renamed to World Basketball Manager and added support for the 65 most important basketball tournaments of the world and included 94 countries. This version of the game was also released in 2005 in Chinese and German language for the local markets. In 2008 the latest version of the game was released in 9 languages. English, French, German, Greek, Italian, Lithuanian, Portuguese, Spanish and Turkish.

Future of WBM
Although WBM has been on the market for several years, it never managed to achieve a worldwide distribution. As a result the game’s fan base is small but very loyal. This permits WBM to survive but to develop very slowly. For the basketball season of 2010-11 icehole has announced a new version of the game that will include updated league formats and many new features including a new match engine similar to Football Manager and Championship Manager games.