Jump to content

Rocketcan

Administrators
  • Posts

    2,613
  • Joined

  • Last visited

  • Days Won

    153
  • Points

    650 [ Donate ]

Posts posted by Rocketcan

  1. Hello Coaches!

     

    Welcome to another Dev Diary for NewSim on SimFBA!

     

    Last time we talked about how Potential and Progression worked in the sim. This time, we are going to discuss how Overall and Attribute grades work in the college sim. You know, those pesky letters!

     

    Overall Grade

     

    The Overall letter grade of a player is calculated from a weighted average of Attributes that player has, depending on their position. You can tell which Attributes matter for a particular position based on which ones are listed for that player's position when you look at the player's card on the interface (except for stamina and potential, those do NOT go towards Overall calculations). The letter grade hides an integer value (between 0-99) underneath. The scale for Overall grades are as follows:

    • 45+: A
    • 35-44: B
    • 25-34: C
    • 15-24: D
    • Below 15: F

    Attribute Grades

     

    Each attribute has a letter grade that hides an integer value (between 0-99) underneath. Unlike Overall, however, the attributes for a player are no longer graded on a flat scale (like anything above a 45 is an A, for example). We recently switched up the system to now grade a player against other players at their position across the entire NCAA. So, for example, a QB's Throw Power will be compared against all other QB's Throw Power in the NCAA.

     

    Why did we make this change? A couple of reasons. First we realized that some skills like Speed were always an A for players at skill positions, and usually D or F for players at non-skill positions. While this reflected the reality of football that most non-skill players would lose in a race against a skill player, it did not actually provide any new information to the user. This leads us to the second reason. Within a position group like WR or RBs, there was no way to tell that a one player was faster than another, which is quite critical information. Thus, we needed a way to distinguish between players *within* position groups. Finally, not every Attribute is distributed among the same values. Thus, we would need to have different scales for each attribute anyway, so we needed to find one that takes care of the previous two problems.

     

    To do that, we decided to calculate the average and standard deviation of each Attribute grade for each position. Then we use the following to determine which letter grade to assign for that Attribute (Number in parentheses is the rough percentage of players with that grade)

    • Attribute is more than 2 standard deviations above the mean: A (2.28%)
    • Attribute is more than 1 standard deviations above the mean: B (13.59%)
    • Attribute is above the mean: C (34.13%)
    • Attribute is within 1 standard deviation below the mean: D (34.13%)
    • Attribute is more than 1 standard deviation below the mean: F (15.87%)

    As you can see, having an "A" in an Attribute is VERY good. "B" is also quite good, as they are better than almost 85% of players at their position. Having a "C" is not bad at all, and actually signifies "average to above average", being better than at least half of all players at their position in that Attribute. D is not good, as it is below average, but not terrible. Remember, a player can be better than 49% of all other players at his position and still get a "D"! So don't fret if your freshmen have few Ds. That's probably fine. Finally, a definitely not good rating is F, at least compared to their peers at that position.

     

    Given these statistics, most players will have a C or D rating at several Attributes, and that isn't necessarily bad. What this *does* do is signify who the truly good players are at a position, which is what we want. Sports are the result of a Pareto distribution: There are exponentially fewer good players than average ones.

     

    One of the few things this system is not necessarily good at is determining whether a player is ripe for a position change or not. Because all of the Attributes are relative, just because a WR has a Throw Power of A, doesn't mean he'll have very good Throw Power once moved to QB (in fact he could very well have D or so Throw Power). While this is true, it does still give you *some* idea of whether or not a player might be good at another position (like a FB with A catching might be a decent TE). Position changes are inherently VERY risky, and this system models that well, I think.

     

    One last thing: Stamina. This attribute is strange in that the distribution for it is a bit wider than most. It also is one that need to be applied to the sim differently than all others. So expect there to be a bit of a rework on Stamina in the future. That will most likely (as long as nothing blows up *figuratively*) make it into the NewSim engine changes for 2022.

     

    Why no + or -?

     

    In high school and college, the user can only see a letter grade without + or -. This is for a couple of reasons. First, on a team of nearly 100 players, it is pretty difficult to tell EXACTLY which players are better than others. Many players, especially at this level are fairly close to one another in talent, and the different between a 46 and a 47 is probably not noticeable when this player has been on everyone's radar for a few years.

     

    Second, this is a big picture decision. The NFL is around the corner, and that is where the numbers hidden underneath the letters (except for potential) will be revealed. However, that will not occur until after the draft, and probably not even for a couple of weeks into the season. However, one of the things about the draft process (which is still WIP) will be scouting players to get a + or - attached to all of their grades (Attributes AND Overall). Thus giving NFL teams more information on a player in order to make better drafting decisions. I won't go any further into that, though, as that is a topic for another day! ;)

     

    That's all there is for this Dev Diary. Please ask questions below, and I will get to them as soon as I can.

     

    Until next time,

     

    Rocketcan

    • Like 8
  2. Hello Coaches!

     

    Welcome to another Dev Diary for NewSim on SimFBA!

     

    So there was a bit of confusion about what potential actually meant and how progressions worked. That confusion appears to stem from a combination of people assuming how potential worked, no Dev Diary that thoroughly explained it, and when a few people did ask what everything was, the responses weren't compiled into a Dev Diary or some public post that is easily accessible to everyone. This Dev Diary is an attempt to remedy that situation to get everyone up to speed. I apologize for the technical nature of this entry, but it is necessary to fully explain the process. With that, let's get nerdy! ?

     

    Introduction

     

    First, I want to define some terms so we are all talking the same language here:

    • Progression: This is the hidden attribute that determines how players progress in the sim. Under the hood, this is a number between 0 and 99. This value (for now) does NOT change. EDIT: This is NOT a measure of "What overall they should be in years". This is a measure of how much they should get better each year.
    • Potential: This is the public attribute that is an imperfect representation of Progression. It is represented as a letter grade with the ability to add + or - (unlike all other attributes in college right now). This value CAN CHANGE. EDIT: This is NOT a measure of "What overall they should be in years". This is a measure of how much they should get better each year. Also, the change in Potential is RANDOM. It is not informed by how good the player already is, previous snaps, or whether they are hitting a "ceiling".
    • EDIT: Overall: This is how good the player is RIGHT NOW on average based on their relevant attributes (Throw Power for QBs, Run Blocking for OL, etc.). Each position has a different weighting formula for the attributes.

    Now, why would we want to make Progression a hidden value? The answer is in how progression works. Given that most of the progression system (by necessity) is deterministic (meaning the same numbers in will produce the same numbers out), then anyone could take the progression value and determine the progression for every player every year before it actually happens. Now there *IS* some randomness, but it is only introduced in one spot in the calculation so it's still good to keep this value under wraps.

     

    Potential

     

    Now let's talk about Potential. Like stated before, it is a letter grade that can have a + or - (i.e. A-, D, or C+). This is based directly on the Progression value, but how exactly? To answer that question, let's walk through how the code generates the Potential for a player:

    1. The code generates a random number between -10 and 10.
    2. This number is summed with the player's Progression (which is somewhere between 0-99).
    3. This new number (the underlying, hidden Progression value along with the random number) is compared with a table to see what letter grade it could be (See the table below).
    4. The corresponding letter grade is assigned as the potential.

    Screenshotfrom2021-12-0816-36-24.png.45aebf250ab7a135a66cad35fa66a29a.png

    The Potential letter grade is something that can change every single year. If you want to know why from a technical perspective, please check out the spoiler below:

     

    [spoiler=Why Do Potential Grades Change Every Year?]

     

    This is because the Potential grade is calculated in the Player data type constructor. This is the code that "builds" a player in the simulation. When data is read into the sim, the sim has to take that data and build it into a player. That constructor tells it how to do it. So each time a player is "built", the potential is *technically* recalculated. However, since these Player data types are destroyed once the simulation ends, whatever the potential was is destroyed along with it.

     

    So when players are progressed, the files that contain the player data is read into the simulation. This data is then used to "build" each player as a data object in the code. A new Potential is assigned when this happens. Then, the player is progressed, and when they are written out to the output file, the new potential is copied over as well.

     

    This is also why things like snap count can't be used to influence the Potential calculation, because then every time a player is read into the sim, it would need how many snaps the player has on the year (and a season snap total in week 4 doesn't even make sense).

     

     

     

     

    There are a few takeaways from all of this:

    • This means that there is a possibility that you recruit an A+ Potental player, but they really are an A Potential player. Or you could recruit a player that was C Potential because he was the only thing left, but he actually has a B Potential. This introduces a bit of "Gem" or "Bust" flavor to the sim. While the change won't ever be too drastic (About a letter grade and a half at most), it still can mean you end up with a diamond in the rough, or things don't go exactly as planned (as in real life).
    • If you notice, the maximum possible ranges for the random adjustment is 20. That means that given a certain Potential letter grade, the actual potential could either be 10 points lower than that letter grade (meaning the current letter grade is at the top of the possible letter grade values for that Progression), or 10 points higher than that letter grade (the currently letter grade was at the bottom of the possible letter grade values for that Progression).


    • The problem is, we don't know if the current letter grade for a player is at the top or bottom of the possible list of letter grades for the Progression value of that player. So if we have no other data to go off of other than just one Potential grade, let's say for example B, then the actual Progression of the player might be anywhere from C to A (given the table above).


    • However, there is light at the end of the tunnel! If you REALLY want to begin to hone in on what a player's Progression is under the hood, you just need to pay attention to their Potential over the course of a few seasons. If you take an "average" of the Potential (for example you could assign 0 points to an F, 1 to a D-, etc.) each year, the more data points you have, the closer that average will be to the "true" letter grade of the Progression underneath. Even without this metric however, one Potential data point still gives you a decent idea on if the player will at least progress at a normal pace or if they are a liability to barely progress at all.


    • TO BE 100% CLEAR: There is currently no way to do this tracking without a little bit of leg work of your own. This is unfortunately due to the nature of storing this kind of data (even with the interface). However, all of the data will exist for you to do these types of trackings. Currently, all of the 2021 rosters are still available and all future "historical" rosters for all teams will always be available for everyone to use for this, media, or other purposes.


    Progression

     

    Now for Progression, the actual value that does all of the legwork under the hood. Each offseason, this value is used to calculate the increase in player attributes year on year. This formula produces the total amount that the attribute will increase by and is done only on the attributes that matter to a particular position (i.e. Run Blocking for OL). While I won't disclose the EXACT formula, I will give you what things are taken into account and how they matter. The following is for regular players that are NOT redshirting.

    1. The current attribute (strength, throw power, etc.) value. This is used to make sure that as you approach 99 (the maximum value) it gets harder and harder (but not impossible!)to add another point to the attribute. This effect is basically non-existant at lower values, but as you get into the 80s, it becomes noticeable.
    2. Snap Count. This is used to determine how much playing time a player has had. The more time they play on the field, the more they will grow. Snap counts are translated into a status modifier given to the player using a random number within a range. These modifiers might seem like a lot, but each level is only about a point of potential difference, if that. These modifiers are:

      1. Starter (45+ snaps per game): 0-25% bonus
      2. Role Player (31-44 snaps per game): 10% malus to 10% bonus
      3. Backup (21-30 snaps per game): 0-25% malus
      4. Special Teams (11-20 snaps per game): 10-30% malus
      5. Bench (10 or fewer snaps per game): 25-50% malus

    [*]Other modifiers (currently none, but would include things like injuries and potentially random events)

    [*]Progression. The almighty Progression returns. This number is normalized (meaning it is changed to a number around 1) using 70 as a base. So a player with 70 Progression will have a modifier of 1. This is the most powerful of all of the factors in the formula.

    Redshirts use a very similar formula, but do not use the snap modifiers. Instead, they use a modifier that is somewhere in the range of "Bench" players. Thus: redshirting a player will provide about as much progression as having that player ride the bench that year.

     

    Secondary skills (i.e. Kick Power for QBs) are a weighted coin flip if they will increase by 1. The weighting factor is, again, Progression. So the player rolls a number between 0 and 99. If that number is BELOW their Progression, the attribute increases by 1, otherwise the attribute stays the same.

     

    EDIT: Progression/Potential and Overall

     

    There have been a few questions about how Overall and Progression/Potential work together. I have added some more to the definitions above to help clarify, but I will add more here as well.

     

    In short, Overall is how good the player is RIGHT NOW. Progression/Potential is NOT how good a player will be eventually, but rather how much they should get better year on year. For example, a player with B Overall and C+ Potential is NOT an "overachiever", rather it is saying that this player is a B overall and should progress at an average to slightly above average rate, all other things being equal.

     

    That's all there is for this Dev Diary. Please ask questions below, and I will get to them as soon as I can. I hope this clears up the confusion we were having on how the system works.

     

    Until next time,

     

    Rocketcan

    • Like 8
  3. Please reply here with what open team you'd like to take control of. First come, first serve.

    NFL

     

    AFC

     

    East

    Buffalo Bills - Minnow

    Miami Dolphins - Kirby

    New England Patriots - Migi

    New York Jets - Joopear

     

    North

    Baltimore Ravens - SyndaKyt

    Cincinnati Bengals - Swipet

    Cleveland Browns - Piercewise1

    Pittsburgh Steelers - Smackems

     

    West

    Denver Broncos - Alexfall

    Kansas City Chiefs - Anonemuss

    Las Vegas Raiders - culture3

    Los Angeles Chargers - Pumph

     

    South

    Houston Texans - MasonAsher

    Indianapolis Colts - npklemm

    Jacksonville Jaguars - Ricky

    Tennessee Titans - Kwheele

     

    NFC

     

    East

    Dallas Cowboys - Rocketcan

    New York Giants - thatfunk

    Philadelphia Eagles - SageBow

    Washington Football Team - DarthJarJar

     

    North

    Chicago Bears - PoopyRhinoPickle

    Detroit Lions - jmjacobs

    Green Bay Packers - Jamzz

    Minnesota Vikings - Bundy

     

    West

    Arizona Cardinals - Rapidsnowman

    Los Angeles Rams - Vivid

    San Fransisco - Bellwood

    Seattle Seahawks - Tuscan

     

    South

    Atlanta Falcons - Subsequent

    Carolina Panthers - Sarge

    New Orleans Saints - Bingo

    Tampa Bay Buccaneers - ChizDippler

    • Like 2
  4. Hello Coaches,

     

    Given that the 2021 season is right around the corner, it is time for you to make sure to get your gameplans and depth charts in! These will be due for EVERYONE by 11:59pm Wednesday, June 16th. Since this is week 0 and we only have games on Saturday, I will be testing everyone's gameplans and depth charts Thursday and Friday.

     

    IF YOU DO NOT HAVE YOUR GAMEPLAN AND DEPTH CHART IN BY THIS DEADLINE YOU WILL BE FORCED TO LOSE IN WEEK 0/1!!!! PLEASE DO NOT MAKE ME DO THIS!!!

     

    Going forward, the following will be true always:

     

    ALL GAMEPLANS AND DEPTH CHARTS WILL BE PULLED AT 11:59PM ON WEDNESDAY EACH WEEK.

     

    Any changes you make will NOT be guaranteed to appear if you make them after that deadline.

     

    IF YOUR GAMEPLAN AND DEPTH CHART HAVE ERRORS BY THIS DEADLINE YOU WILL BE FORCED TO LOSE THAT WEEK!!!! PLEASE DO NOT MAKE ME DO THIS!!!

    • Like 1
  5. SUBMITTING YOUR GAMEPLAN

    1. Begin with your completed gameplan open.
    2. Click on the green "Share" button in upper right-hand corner of the window.
    3. dc-share-png.1382
    4. In the "Share with people and groups" window that pops up, click on the "Change to anyone with the link" button.
    5. dc-share-anyone-png.1383
    6. Click the drop down arrow to the right of the World icon. There should be two options: "Restricted" and "Anyone with the link". Select anyone with the link.
    7. anyone-with-link-png.1384
    8. Once you have selected that, select the drop down box on the right-hand side of the window. There are three options: "Viewer", "Commenter", and "Editor". Select Viewer.
    9. viewer-dc-png.1385
    10. Once all of these steps are complete, click on the "Copy Link" button.
    11. dc-link-png.1386
    12. If everything worked, you should get a "Link copied" message at the bottom of the window.
    13. Now that you have the link, you are ready to submit your gameplan. Go to the link here: Gameplan Submission Form
    14. Once there, fill in your team name and abbreviation into the first two fields. Then paste the link that you just copied into the third field.
    15. dc-sub-form-png.1387
    16. Once you have confirmed all of those fields are correct, click on the purple "Submit" button.
    17. You're all done!

    Notes about Submitting your Gameplan:

    • You only ever need to submit your gameplan once. A script will pull your depth chart automatically before games are run, so any changes you make in your depth chart file by the deadline will be reflected. Do NOT submit more than once. If you do, contact me immediately.
    • Double, Triple, and Quadruple check the following:
      • The link you are inputting to the form has proper permissions.
        • Anyone with link
        • Viewer

        [*]There are no errors showing on the Gameplan Sheet (i.e. "Incorrect Play Weight").

        [*]All fields have an entry, even if it is just "0".

  6. GAMEPLAN

     

    NOTE: It is recommended that you set everything up initially on a regular computer. After you have everything ready to go, it is ok to make tweaks on a mobile device.

     

    SETTING UP YOUR GAMEPLAN

     

    Follow these steps to set up your gameplan for the first time:

    1. Go to THIS Google Sheet link.
    2. DO NOT EDIT ANYTHING
    3. Click on File > Make A Copy
    4. GPLNMakeacopy.PNG.b408b7057492dbe1b17db7bccbf9d3d9.PNG
    5. In the "Copy document" window, name the file "Gameplan" and place in anywhere you'd like in your Google Drive. Be sure to leave "Share it with the same people" and "Copy comments" unchecked.
    6. gameplanfolderonyourdrive.png.7463ad49ba7537cd39cdc7ed3df0f268.png
    7. Click the green "OK" button.
    8. Move to the copy that you just made.
    9. Notice how the name of the file is just "Gameplan". Ensure yours is also named like this.
    10. At the bottom of the window there should be a tab named "TEAM". Change the name of that tab to your team abbreviation.
    11. gamelpanteamtab.PNG.5664e5d4cac099917f806d0527f76fd6.PNG
    12. Also, note that there is the tab with the link to the Gameplan Guide. That can help you make gameplanning decisions.
    13. Now you are ready to set up your gameplan. It is recommended that you read the Gameplan Guide mentioned above. Here is a direct link: CFB Gameplan Guide

    Things to note on filling out your gameplan:

    • Never leave a field blank. If you want a value to be nothing/zero, please input a zero.
    • There is built in error detection in the google sheet. If it presents an error, your gameplan is likely not valid. Please make sure all errors are gone before you submit your gameplan.
    • Always be sure to make a copy of the main template. When you do this, make sure to do the following:
      • Rename the file to just "Gameplan"
      • Rename the tab with the gamplan in it to your team abbreviation. i.e. "BAMA".

×
×
  • Create New...