The game has 3 kind of databases which share the same formation.
- Base database - Every game starts from a base database and continue
updating it during the game.
- Current database - The database in which the current game is played, once
in a while this information would be copied to the base database. The players
information will changed during the game according to their training regimes -
match performance - media and ... . the manager can only view the "Base
database" thus he/she doesn't exactly know his/her players real attributes but
as mentioned before the current and base information synchronize once in a
while (the time duration determined randomly so the player would never guess
the exact database although some visible information like tiredness and so
will be copied to the Base database after each working day.)
- Match database - These are player attributes which used by Match Engine .
This database has the values of the current database with a random percent of
Variety . For example if long shooting skill of a player is 14 in the "Current
database" and he is playing a home game with a packed stadium his game's long
shooting skill could be between 12-17 . The exact value for that player's long
shooting skill will be calculated (randomly) before the match and stored in
the "Match database". Like previous example if a player has a long shooting
skill of 14 in the "Current database" and is playing an away game his long
shooting skill could be between 10-15 (although I think we have to make
moral ,pressure ,and professionalism as some other major factors). The current
database will be synchronized with Match database at the end of each match.
Now lets make a look at different tables in our databases (I have to mention
that I borrow this schema from CM01/02)
Staff competition attributes
Weather configuration attributes