SimuBaseball Development Blog

Friday, June 11, 2010

Player Model

Designing the Player model for SimuBB is one of the simpler tasks. The model is responsible for representing a Player object. A Player object represents a row in the the database. The Player model contains a bunch of fields that represent everything from names to ratings. The basic model in SimuBB is very similar to the one in CSFBL. The model can be broken down into various sections:

Personal

These fields are fairly self-explanatory. The only major difference is that players can have up to technically have up to three positions. How that functionality will be implemented is still undecided.
  • Firstname, Middlename, Lastname, Nickname
  • Age
  • Height, Weight
  • Throws, Bats (R/L/S)
  • Primary Position, Secondary Position, Ternary/Alt. Position (1 - 9)
  • Status: Active, Free Agent, Draft Eligible, Retired

Contract

Right now in CSFBL there are 1-year perpetual contracts for players. SimuBB will be no different at first. However, the goal is to implement variable length contracts. Clauses would be a means of luring Free Agents to a team without offering more money or years than other teams. However, there would be high associated risk taken by the team offering a RTC, NTC etc. if the contract AAV is high enough.

  • Service Time
  • Length
  • Value
  • Clauses (Restricted trade, No trade etc.)

Team

  • Team
  • Jersey Number (0 - 99)
  • Roster (25-man, 40-man, AAA, AA, A+R, 15-DL, 60-DL)
  • Acquired By (Amateur Draft, Free Agency, Trade, Other)

Historical

Historical data is unlikely to be implemented for a good while.

  • Drafted By, Round #, Pick #
  • Historical Team Associations, Salaries, and Injuries

Injury

  • Type (Everything from sunburns to lost limbs.)
  • Severity: 0 (negligible) - 10 (career ending)

Ratings

All players will have hitting and pitching ratings. A rare few players will be both competent pitchers and hitters. The probability of getting a Babe Ruth type player will be exceptionally low. These are pretty much analogous to CSFBL's ratings (with the notable absence of Specialty for pitchers.)

  • Pitching: Velocity, Movement, Control, Hold Runner
  • Hitting: Discipline, Contact, Batting, Slugging
  • Defense: Range, Glove, Arm
  • Misc: Endurance, R/L Split

There will of course be a bunch of ratings managers cannot see. Most hidden ratings will effect non-gameplay aspects of the simulation. Ratings that are hidden and do effect gameplay will be able to be deduced from the statistics generated (e.g. close and late performance, effectiveness with RISP etc.).

Fields that will most likely be implemented in the first version of SimuBB will be Personal, Basic (CSFBL-style) contracts, Team, and Ratings.