Jump to content

The Regular Season is Upon Us

SimNFL Teams prepare and strategize for their final preseason matchup before the regular season starts next week.

Conference Finals Showdown

Seattle & Golden State clash for the west; meanwhile in the east, Atlanta and New York are fighting for the right to play in the SimNBA finals. Who will win?

Join Here

Need a team?

Firstly... welcome to the SimFBA! If you are new to the site, and need a team, make sure you head over to the new users section and view the available teams list. You will also be able to fill out your job application there! See you on the field, Coach!

Read more

SimCBB Offseason In Progress

Here is some concept art on American Samoa College's new basketball arena

Join Here

#89 | SimBBA | Player Progressions, Archetypes, Position Update, and Specializations


TuscanSota

Recommended Posts

Hi everyone,

 

Hope y'all are doing well. I know last week I mentioned that progress on all these things regarding SimBBA would be slow; however, I want to announce the new attribute features for SimBBA for both college and NBA.

Positions

College Players and Recruits will now be using the position values that are currently used in SimNBA: PG, SG, SF, PF, and C. An algorithm has been ran that assigns a player to the appropriate new position based on their current attributes.

New Attributes

There are three new attributes across both leagues: Free Throw, Interior Defense, and Perimeter Defense.

Free Throw is the attribute which will be used in all free throw checks. Previously, the Midrange attribute, Shooting 2pt, was used for these checks. By adding this new attribute we've allowed the specific talent to be realized rather than condensed into the mid-range attribute.

Interior Defense is the attribute which describes the player's ability to defend both the mid-range and the paint. This attribute will be checked on all mid-range and interior shots made during simulation.

Perimeter defense is the attribute describing the player's ability to defend the perimeter of their team's side of the court. This attribute will be checked on all three-point shots made during simulation.

The New Progression

When we migrated SimCBB to the interface, there were a few issues we faced during the migration: We didn't initially have a progression algorithm, so a solution was quickly put together that can be best described as a variation of the progression algorithm used for SimCFB and SimNFL. It would check the player's position, and based on the position, specifically progress certain attributes pending on that position. The issue this presented, especially for SimCBB, was that all guards were especially talented at shooting on all ranges, but were not progressing on rebounds or defense. At most, rebounding and defense attributes for guards would only progress by 1, while the remaining shooting attributes were increasing up to 18-20, very quickly. The potential rating for each player was skewed, with the old system being from 65-100. When this potential rating was put in the progression algorithm, it assumed that the potential was the same as a football player, with 65 and above being very good ratings.

With all this combined, and the attribute range of college players being from 1-20, this presented a huge issue where players were progressing much faster than they initially should be.

During last season, a new solution was put in place for this season's progression - one that keeps progressions within range of both potential, while allowing players to specialize in attributes outside their position.

Introducing for this season are Attribute Specializations, and how they affect the new progression.

Attribute Specializations

Attribute Specializations (Specs) can be best described as the specific attributes that a player is talented in. Not every player by position will have the same specs, but this will allow players the potential to progress further in certain attributes at a higher rate.

Specs were generated using the following method:

- For each attribute (Shooting 2, Shooting 3, Free Throw, Finishing, Ballwork, Rebound, Interior Defense, Perimeter Defense), the computer does a dice roll between 1 through 20. If the dice roll is higher than 14, the spec is added to player. For each specific attribute, the position is checked to add a small modifier of 2, giving a boost to the player to attain certain specs that would be normal for their position.

So how do specs affect player progression, and the progression algorithm overall?

Here's how the new progression algorithm works:

1. An empty list is generated. This list will consist of all the attributes which will be checked for progression.

2. If a player has a spec for a specific attribute, that attribute will be added to the list.

3. Once all specs are checked, a dice roll is then conducted for each attribute again. If the dice roll for the attribute + potential modifier (Potential / 20, so within a range of 1-5) is higher than 15, the attribute is added to the list.

4. Once step 3 is ran, the list will now consist of attributes that will be progressed, with some attributes appearing more frequently than others. This list, is then shuffled randomly.

5. A point limit dependent on the player's potential is created. This point limit is the player's potential / 10, giving a range between 1-10, with any decimal rounding upwards. There's also a small coin flip, especially for lower potential players, where the range of their point limit increases by 1. This is unaffected by the player's progression and is designed to allow players at a low rating (D, F) the chance to progress in more than one attribute.

6. With the point limit set, the algorithm then loops through the list of attributes. On each attribute in the list, until the point limit is reached, a progression between the range of 0-2 is determined for that iterated attribute. With this design, attributes will at least progress by 1, while more frequent attributes can still progress by 3 or 4. There is one small caveat to the progression when it's being performed: If a player has not met their minutes, and they weren't redshirting, there's a chance where they will actually regress. This regression is dependent on their expected minutes of play through the season. If their minutes per game does not meet their expectations, they will regress; and pending on the difference (10 minutes or higher), it will be a bad regression.

7. Once the point limit is met, the new progressions are added on top of the player's current attributes.

This progression algorithm is designed to meet the current attribute range for both SimCBB and SimNBA, while preventing players from only progressing in certain attributes based on position. Specs I believe add a layer of strategy in player progression, and can be utilized in gameplanning in this regard.

Archetypes

At the moment which specs players have is currently not shown. There are a few ideas in the work to show player specs to coaches, but I want to be confident in a solution before allowing this. I do like the idea of a head coach knowing a player's talents, especially if they stay after a year or two. For players not on a coach's roster, one way to determine which specs they have is in a new feature we're releasing: Archetypes.

Archetypes by design allow coaches to determine which type of role a player can be in terms of team-building. Archetypes were determined by specs, while also keeping into account the player's current attributes. Not every player has an archetype -- but for those that do, it's been applied to high school recruits, college basketball players, and NBA players. Here is the current list of Archetypes:

All Positions

  • All Around: Regardless of position, if a player has 5+ attribute specs, they will have this archetype.

Guards:

  • Floor General: Guards that prioritize ballwork over shooting
  • Sharp Shooter: Guards that prioritize shooting over ballwork
  • Mid-Range Magician: Guards that are talented at mid-range shooting over three pointers
  • Defensive Dawg: Guards that prioritize in defense, and can shoot 3's. They got that dawg in 'em.
  • Dunk Specialist: Guards that prioritize in the paint and in ballwork.

Forwards:

  • Two-Way Wing: Forwards that prioritize in one of the defensive attributes and in 3 point shots
  • Slasher: Forwards that prioritize in the paint over all other shots, while specializing in one of the defensive attributes.
  • Traditional Forward: Forwards that can shoot mid-range and in the paint, and prioritize in one of the defensive attribute
  • Offensive Weapon: Forwards whom specialize in all three offensive attributes and does not prioritize in at least one of the defensive attribute specs.
  • Pure Defender: Forwards who specialize in rebounds, one of the defensive attributes, and none of the offensive attributes.
  • Point Forward: Forwards who specialize in ballwork, one of the defensive attributes, and does not have at least one of the offensive attributes.

Centers:

  • Rim Protector: A Center that prioritizes in rebounding but does not prioritize in paint shots.
  • Stretch Bigs: A center who prioritizes in three point shots, and does not prioritize mid-range shots.
  • Lob Threat: A center who prioritizes in paint shots and rebounding

 

So, when's progressions?

At most, progressions are expected to take place sometime this week. For those wondering about early declarees, all non-seniors that aren't redshirting will be checked to determine if they are declaring early. This early declaration check takes place before progressions are made and is based on their current overall. If the overall is greater than 64, there is a 40% chance they declare. If their overall is 70, there is a 55% chance they are declaring early. If their overall is higher than 75, the chance goes up to 75%; If their overall is higher than 80, the odds they declare is at 95%; anything higher than 85, they will be declaring early automatically. Any player with less than 64 overall will be staying with their college team.

 

That's all I have for now. Progressions will take place sometime this week, I will let y'all know once I've begun.

 

Thanks,

~Tuscan

  • Like 2
  • Fire 5
  • zamn 1
Link to comment
Share on other sites

For those who want to see the code for specs:

// S2
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "SG" || pos == "SF" || pos == "PG" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecShooting2")
	}

	// S3
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "PG" || pos == "SG" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecShooting3")
	}
	// FT
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "SG" || pos == "SF" || pos == "PF" {
		mod = 2
	} else {
		mod = -1
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecFreeThrow")
	}

	// FN
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "SF" || pos == "C" || pos == "SG" {
		mod = 2
	}
	if diceRoll > 14 {
		list = append(list, "SpecFinishing")
	}

	// BW
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "PG" || pos == "SG" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecBallwork")
	}

	// RB
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "C" || pos == "PF" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecRebounding")
	}

	// ID
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "C" || pos == "PF" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecInteriorDefense")
	}

	// PD
	diceRoll = GenerateIntFromRange(1, 20)
	if pos == "SG" || pos == "SF" {
		mod = 2
	}
	if diceRoll+mod > 14 {
		list = append(list, "SpecPerimeterDefense")
	}

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...