A little while ago, I developed an app to help bring my dynasty mode to life. I've shared it in a couple different threads on here so some OS folks have already seen and used it, but I wanted to create a dedicated thread for it.
What Does It Do?
Spoiler
There are a lot of little things that happen in NCAA's dynasty mode that have always irritated me. Things like:
- Talented underclassmen seldom ever declare for the draft.
- Generated players are assigned jersey numbers according to the NFL convention instead of the college convention.
- There are rarely freshman phenom generated players who become 3-4 year starters, so once you get a few years into your dynasty basically every starter on every team is a redshirt junior or senior.
- It is painfully obvious that generated recruit names and appearances are independent dice rolls, when in reality those things are correlated. It's not *impossible* for a white guy to be named Dontrelle... but it is a bit immersion breaking when that's a regular thing across the whole roster file.
Of course, a lot of these things can be fixed using the dynasty editor, and a lot of people on OS already use it to fix things like that manually. This app takes most of the manual labor out of it - and scales the fixes across all of the teams.
How Does It Work?
Spoiler
To use this tool, it is assumed that you already know how to use the editor to some extent. You don't need to be able to do anything crazy with it, you just need to know how to export your dynasty's roster file and recruits file as a CSV. I won't go into details on how to do that here because there is already a massive thread for that. If you want to use this tool and don't know how to export your files to CSV, start there.
The app itself is pretty straightforward (I hope).
There are two tabs: one for use during the Preseason phase (you can actually use it at any point during the season though), and one for use during the Players Leaving phase of the offseason.
On the far left-hand side of each tab, there are some customizable parameters that affect how some of the modules behave. To the right of that, there are some file upload buttons - this is how you will upload your CSV files to the app. Then there are some checkboxes where you can select which modules you want to run on the file(s). After clicking "Run Selected Modules" you will be able to download the modified CSV files using the buttons on the right. The bottom section will display what all of the file modifications were, once the modules are done running. You can download the change logs using the buttons there if you want too.
Modules
Spoiler
Assign suffixes - there will be a random chance that a recruit will be given a suffix. Suffixes 'Jr' and 'II' are more likely than 'III' or 'IV'. The likelihood of it happening to each recruit can be customized in Custom Parameters.
Hyphenated last names - there will be a random chance that a recruit will be given a hyphenated last name. The likelihood of it happening to each recruit can be customized in Custom Parameters.
Fix Duplicate Names - all duplicate names (ex: Scott Scott, Lawrence Lawrence) will be assigned a new last name.
Fix Recruit Faces - all players that have a first name that almost entirely belongs to a particular ethnicity will have their appearance modified to fit the real-world trend.
My personal bias is currently present to some degree regarding the ethnic names, but I am currently working on a project to use US census data to remove that bias as best as I can.
Normalize Recruit Awareness Rating - I compared the awareness ratings of a recruiting class to the awareness ratings of all true freshman in the OS community roster (2016 season) and found that the mean & median were ~ 12 points lower for the recruits. This module picks an integer from a Normal distribution with mean 12 and standard deviation 3.5, and adds that to the recruit's awareness rating.
This brings the awareness ratings in-line with the starting roster, adds variability, and makes it so there are more 3-4 year starters.
Better Number Assignments for Freshman - This module re-assigns jersey numbers to true freshman in the roster file according to the college convention. No longer will every linebacker in the country be in the 50's, all kickers & punters in 1-19 and etc.
Better Underclass Declare-for-draft AI - This one is probably my favorite because it kills me when guys like Leonard Fournette stick around forever when they would never do that in real life.
It ranks all of the country's starters (excluding kickers and punters) by their overall rating. Then, players will declare for the draft as follows:
- Redshirt Sophomores will declare for the draft if they're ranked in the top 96 (projected first three rounds of the draft).
- True Juniors will declare if they're ranked in the top 160 (projected first five rounds of the draft).
- Redshirt Juniors will declare if they're ranked in the top 224 (projected to be drafted at all)
The rank that each class declares at can be customized in Custom Parameters too.
Future Features
Spoiler
I'm definitely open to suggestions here. Here are a few things I'd like to do:
- Grad transfers - I actually have 95% of the code written for this one, but I took that module out because I can't figure out how to pick the school for them to transfer to. I can make them have the "Transfer" tag in Players Leaving, but there is no school assigned, so when you advance the week they just stay. Edit 10/3/2018: rethinking this one... maybe it's as easy as editing the team ID of the player in question? I'll have to test this theory out.
- Progress/Loading bar for when you hit the "Run Modules" button. It takes a minute or two for the modules to run, but right now it isn't very apparent that anything is happening right when you click the button. I probably have to actually learn some js or something to pull this one off because Shiny does not have a loading bar widget, to my knowledge.
- [suggested] Dynamic player progression. I'd like to do this to add some variability to how players progress instead of the +4 or +5 almost every single player gets, every single offseason. I need to do some more research for how the progression engine actually works to pull it off though.
- Player suspensions. I would basically use the transfer flag field that prevents players from being put on the depth chart for their transfer year as a proxy. Obvious downside is that you could only do year-long suspensions this way.
I hope this app is of some use to some of you guys and I appreciate any feedback you're willing to give.
Run it locally - see this comment in the thread for the source code -
Quote:
Originally Posted by mjavon
Here is the source code for the app, so you can run it locally on your PC (probably won't work on a Mac, but I don't know).
I will put the instructions for how to run it in the OP.
To run it:
1) Extract the ZIP file.
2) Download R from here
3) Download RStudio from here
4) Open RStudio. Run the following code to install some R packages the app needs to work:
5) Open the file in the unzipped folder called 'server.R' using RStudio. Near the top of the code pane, there will be a little green play button that says "Run App" - click on it.
Known Issues:
1) Issue where beyond season 1, the games and/or practice mode will not load:
I did discover the root of a bug earlier this week where the game/practice mode in dynasty wouldn't load...
Basically, there are some face IDs in the game that are designed specifically for the RTG Heisman mode where you play as a former Heisman winner. These would be the faces of Tim Tebow/Reggie Bush/whoever. My 'fix recruit faces' module randomly selects from a pool of face IDs that includes those, but they will not load correctly in dynasty mode. If you've used my tool, and experience issues loading, check the faces of each of yours and your opponents' roster and see if you see any of those faces. If you do, edit the player and change it to whatever you like - problem solved. I still don't know for sure what all of those face IDs are, so I don't have a programmatic solution yet, but at least there's this workaround.
Hotfix: Check both teams' roster for Heisman faces, and edit them to a "normal" gameface.
This tool is great! About to start playing my dynasty after simming the first 4 seasons to get to 2017 and used it for recruits and draft declarations the last two years. Love to see some of the hyphenated names and updated awareness to have some impact freshmen.
This tool is great! About to start playing my dynasty after simming the first 4 seasons to get to 2017 and used it for recruits and draft declarations the last two years. Love to see some of the hyphenated names and updated awareness to have some impact freshmen.
Sent from my iPhone using Tapatalk Pro
Did you use it for all of those simmed seasons? Curious to see how the awareness tweaks to recruits and draft declarations affects the roster makeup after several seasons. I'm hoping there are some elite underclassmen and it's not all senior and junior starters.