![]() |
|
|
#101 |
|
n00b
Join Date: Mar 2024
|
Ah, that's what it was. I didn't assign teams because I was generating players for an ongoing save file.
|
|
|
|
|
|
#102 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Whew! Okay, I'm just about ready to release 4.1. It fixes the Brett Favre bug (retired players coming into the league as good as they were at their peak), and the Roger Staubach bug (players who get drafted but haven't played yet being in the league as free agents). I'm going to add in the info about what round and pick players were drafted (including supplemental) first. I'd been putting it off since it's completely cosmetic and doesn't affect anything, but I'm hoping it won't take long, so I might as well get it out of the way, and it's kind of neat to have in the game.
|
|
|
|
|
|
#103 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Then it will be time to move on to version 5! The stats that I had don't seem as complete as I thought, which is a bummer. I have some other sources, though.
I'm not going to do these all at once, since it seems like each attribute will require different solutions. I also want to use -1 a lot, because based on what I've seen, the attributes really take over when they are put in, meaning the overall rating wouldn't matter at all if every attribute was filled in. Maybe for some stat I'll just try to focus on outliers and let everyone else roll with -1. For v5, my plan is to hit the most important attributes, which IMO are kick returning, punt returning, and scramble frequency. I'm open to other thoughts here, too. But my thinking is kick returning and punt returning are attributes that are completely overlooked since they don't have a position. I mean, if a DE has better pass rush strength or pass rush technique, or a CB is better at man or zone, is that really going to matter? But if we've got Dante Hall and Devin Hester ranked as whatever they are overall due to their return abilities, I don't want them in the game as pretty good WRs or CBs, and I don't want KR and PR abilities to go to guys just because they are good WRs or CBs. Adding in these attributes will essentially create a new position in a way that other attributes don't. And scramble frequency is probably the biggest thing to help you know what kind of QB a player is, in a way no other attribute does for any other position, plus QB is the most important position. Last edited by Passacaglia : 02-07-2026 at 02:54 PM. |
|
|
|
|
|
#104 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Okay, here we go with 4.1
fof player generator 1920 2024 v4.1.xlsm - Google Sheets This includes the changes discussed above -- although the supplemental draft guys are weird. I assumed that if I marked them as having been drafted in the supplemental draft, the game would note somewhere that they were drafted in the supplemental draft -- instead it just adds 100 to the round they were drafted in. So Reggie While gets drafted in the 101st round, 4th overall from 1984. I tested this using the 2023 player file that comes with the game, and the one player in it who was taken in a supplemental draft, Jalen Thompson, shows up the same way (although he doesn't have an overall pick number, since he doesn't have one in real life. A couple other changes I made: I made the calculation that gave everyone a cap hit equal to 1/53 of the salary cap more precision. I just had a number that seemed pretty close in there before, and with rounding, can sometimes put times above the cap more than I think made sense. Really curious if people have opinions on how I'm handling salaries. I also fixed the progress indicator -- I don't know what was up with the percentages it was spitting out, but they didn't seem to be working correctly, so I removed them. But you can at least see what it's doing, and be able to watch it change every so often, so you know it's still working. |
|
|
|
|
|
#105 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Okay, time to get into some attributes! We'll start with kick returning.
I've got some pretty good stats from https://www.jt-sw.com/football/ -- I don't know who it compares to pro football reference, but the simplicity of the site makes it easier to scrape the data. It looks like it only goes to 2020, though, so I may have to supplement if I want to add 2021-2025. Kick returning stats start in 1941, which is when PFR starts them also. I feel like I don't want to overthink this compared to using AV, but I'm open to thoughts on ways to make this process better. But this should be pretty straightforward -- we've got three stats here, number of returns, total yards, and TDs. I think I mentioned this before, but when I tried to do this with some other data, the best guys were random players who had one return for a lot of yards. My plan to get rid of that noise is to take each player's rank in four categories: 1. Yards per return 2. Total return yards 3. TDs per return 4. Total TDs Then multiply the ranks for all 4 of those categories to get a composite score for each player. The rank of those composites is their overall rank. First issue, guys like Earl Thomas here: ![]() (this is from PFR because it looks nicer, but the stats I have are the same) WTF? I rolled these up to get totals for their careers, and had multiple players with no returns but had yards. I can handle it, I deal with insurance data with plans that have no members but tons of claims all the time. I figure if a player didn't have any returns listed, I'd give him 1 and it would be fine. So I'm adding in a threshold of 2 returns as a minimum. I've thought about raising that to numbers like 20, or even 35, which would restrict me to a number of players in my population equal to the number of QBs for some kind of symmetry, but I figured whatever, if a dude did something here, let's put him in. Anyway, here's what we have: ![]() Definitely some weird guys in here, but a lot of the top looks good. Maybe raising that minimum threshold is in order though. |
|
|
|
|
|
#106 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Same thing here, with punt returns. For whatever reason, data goes back all the way to 1920 here.
![]() Also looking like we need to raise the minimum threshold here too. EDIT: That's Devin Hester who's covered up there. Last edited by Passacaglia : 02-13-2026 at 04:05 PM. |
|
|
|
|
|
#107 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
And for scrambling. Here I'm just taking the number of career rushes divided by the number of career passes, then running up everyone I have labeled as a QB against that. This may not be a very satisfying list, but I think it's mostly correcting for some of the balancing that I needed to do earlier. In early days, QB did not necessarily mean "the guy who throws the ball all the time" which caused me to use my own methods to decide who gets to be a QB. I'm hoping scramble frequency helps me here -- and the first couple players are a FB and HB who I've made into a QB, so I feel good that it's guys like these who will end up scrambling a lot.
![]() That said, it makes me wonder about my methodology for choosing QBs. Some of these guys have single digit pass attempts for their career, but I guess the file decided it really needed them to meet its QB quota that year. Also note that this is just SCRAMBLE - Quarterback's desire to run the ball when unable to find an open receiver. This is something materially different from these two: SKILL_SPEED - Quarterback's raw speed in pads, resulting in more breakaway runs. HOLE_RECOGNITION - Quarterback's (as ball carrier) ability to find the best possible path for gaining rushing yardage. |
|
|
|
|
|
#108 |
|
Go Reds
Join Date: May 2001
Location: Bloodbuzz Ohio
|
I'm sorry, I have been following along, but the FOF player generator - it is read only. Is this supposed to be what I use if I want to use a league with historical players now? I feel like I've missed something along the way.
edit - nvm, I see there is a comprehensive how-to in the FOF9 subforum. Thanks. Last edited by korme : 02-15-2026 at 09:18 AM. |
|
|
|
|
|
#109 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
I don't know why it's read-only, must be how google drive stores it. You should be able to just "save as" with a different name, though.
The v5 that I'm working on also creates the player files for you and saves them in the place they're supposed to be, so you don't have to copy them over from the tabs. |
|
|
|
|
|
#110 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
And v5 is ready!
Here are the changes: 1. I've increased the number of "dummy" players that the game creates, to make absolutely sure you don't get any game-generated players. This is going to be especially important once the image generator is in (that will be v6). 2. I've added an asterisk to the front of both first and last name. It looks more weird, but I'm pretty sure I've seen the game alphabetize by first and last name at different times, so I wanted to let people be able to sort these guys out in both places. 3. I've added the ability to save the files into your directory for you. It's nice to not have to take the tabs this thing generates, copy it, open the file you want, save it, for both QBs and players, so this button does it for you. Just be careful you don't overwrite anything you want to keep. 4. I tried to make it look a little more clear what the steps are. I've also added a "run all" button that does everything at once. The buttons are organized into steps because once you've generated all the players, the files pastes into Columns D and G all the teams it found that have players, and you need to tell it what ID to assign each team based on your default_teams file, in Columns E and H. But if you already know what you're going to get in D and G, and have the IDs already placed in E and H, you can just run it all. Again, be careful that you don't overwrite files you want to keep, since this will save the files, too. 5. I fixed an issue where a player who played on two teams was ending up on the team that came first alphabetically, and now he's on the team where he played more games. 6. Some attributes are in! Scramble, kick return, and punt return. As I was working on scramble, I reworked how the file decided what position everyone plays. I think it's better now. 7. I added a "salary cap suggestions" tab, that gives you a couple options for what you should set your salary to based on what year you're playing. It also generates the minimum salaries for the different experience levels, which you can paste into your league_info and xxxx_info. There's some image stuff in the lower right, but that's not functional yet. fof player generator 1920 2024 v5.xlsm - Google Drive |
|
|
|
|
|
#111 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
This is probably a good time to hop in if you've been waiting for a more complete file before starting a universe. I probably won't do much work on it during the rest of Ramadan (I was hoping to be at this point before it started, but oh well), and the next thing I'm going to do is the image scraper, which can (and actually has to) be run after your game has started.
|
|
|
|
|
|
#112 | |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Quote:
Well never mind all that. A couple issues I am working on: 1. This is one that came back somehow. I'm calling it the Roger Staubach, since I'm trying to get my 1966 dynasty going, and he keeps screwing things up. I'd actually love feedback here, since I'm not sure the best way to handle him. To recap his story: He was drafted by the Cowboys in 1964, but stayed in the Navy, and didn't start playing in 1969 (there's a lot of players in the 40s like this, too). Currently, the 1966 player file this creates has him in the league (since he had been drafted), but not on a team (since he didn't join the Cowboys until 1969). This is the worst of all worlds -- I don't want him as a free agent to whoever can sign him when the game starts. The question though is -- should he be on the Cowboys in 1964 when he was drafted, or should he join the league in 1969? The flip side is Carson Palmer, who was drafted in 2003, but doesn't "play" until 2004. To me, the right answer seems like for Staubach I'd want to use the first year he played, but for Palmer, I'd want to use the year he was drafted. 2. Ratings are higher than they should be. A change I made in v5 was to add more dummy players, to make more sure that the game doesn't generate any on its own. In v4, there was a chance the game would add a few in certain positions, which usually didn't end up being a big deal, but if I want to get player images in the game, I can't have those guys throwing off each player's ID numbers. So I added a LOT more. But, that's throwing off the distribution -- if you need to be in the top 0.3% to get a 9, that's become easier now that there are more players. So I'm going to use the v5 number of players when determining how many to create, but use the old v4 number when determining ratings. I'm still hoping to get image generation in this next version, too. I'm working on a python script that scrapes wikipedia and pro football reference to get pictures, and put them in the directory for your game. But I keep getting kicked out for violating the scraping policy! Once it lets me back in, I'll start working on making sure there's a delay between pulls to avoid that. |
|
|
|
|
|
|
#113 |
|
Go Reds
Join Date: May 2001
Location: Bloodbuzz Ohio
|
I say put the players in when they are draft eligible. In my imagination when I'm playing, I draft Staubach (or someone else does) and convince him to play immediately in 1964.
It's just the smoothest way to cover things like this. When I play 2K or basketball-gm, I want to draft David Robinson or Joel Embiid the year they entered the draft/left school and were selected, not the first time they dribbled on a pro court |
|
|
|
|
|
#114 | |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Quote:
That's the way I've been leaning too. Staubach may just be a weird example, but I think of him as 70s, so seeing him start in 1964 doesn't seem right, but it's probably the best rule to deal with it. I feel pretty good about how the image downloader is working, and I wanted to get out a version that fixed an error in v5, so here's v6 with images! I still need to test it a bit, but so far so good. Just a heads up -- the image downloader takes a LOOONG time. There's a lot of delays built in to make sure you're not violating wikipedia's scraping policies. It took me 24 hours to do all of 1966, which had 24 teams, so I guess an hour per team for the first year of your file, but then future years should take less time since it's just the rookies coming in. It also ties up your excel -- if that's annoying, let me know, and I can give you instructions to run it from the cmd prompt -- I just had it run from excel so it's all-in-one. https://drive.google.com/file/d/1Quo...ew?usp=sharing Last edited by Passacaglia : 02-28-2026 at 09:36 AM. |
|
|
|
|
|
|
#115 |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
v7 is ready!
fof player generator 1920 2024 v7.xlsm - Google Drive Fixes: 1. Improved the image downloader so that it is less likely to get the wrong person. It also takes much less time, and no longer ties up your excel while it's running. 2. Reduced salaries so that teams are less likely to cut good players immediately. 3. Improved the position assigner -- biggest impact here is that I reduced the required rank to qualify as a RB from 2.5 to 1.5 times the number of teams in the league. This prevents guys that are clearly true FBs like Kyle Juzczyk and John Kuhn from getting labeled as RBs, while still letting players listed as FB like Jim Brown, Larry Csonka, and Franco Harris end up as RB, like they would be called if they played today. 4. Adjusted quality so that it more closely matches what you would see in a typical FOF game. I also added a Quality Balance Factor that you can play around with if you feel the need to adjust things. |
|
|
|
|
|
#116 | |
|
Coordinator
Join Date: Oct 2000
Location: Big Ten Country
|
Quote:
I think we're at that point now! There's some tweaks that are mostly cosmetic, but I think this is basically good to go. Potential improvements at this point are: 1. I have some birth city and college information from Allosaur that I still need to add in. 2. I think the function that downloads images for each player could use a little more improvement. 3. I've been told ratings are a bit higher than they should be. I personally think they are fine, and I've included a balancing factor that should make the ratings lower if you want, but I'm open to improvements here. 4. A few of the skill-specific attributes are included, but there is still opportunity to add more. And a little plug here, I've already started a dynasty using this to create a 1966 file. FOF lets you change the name of the championship game to the Super Bowl, but doesn't let you change the numbering -- so since our first season would end in "Super Bowl I", I chose 1966 so that it would match. I'm using the real 1966 schedule, which operates as if the AFL and NFL were separate leagues, since they were at the time. It will continue that way as we go on, except for that of course there will be a common free agency and draft, so the leagues will be merged in that sense. I'm a Lions fan, so I'm going to play as the Lions -- my goal is to win more championships in the Super Bowl era than the real Lions did. We went 1-13 in 1966, and we're in the middle of free agency for 1967. I also throw in weekly links to music popular in Detroit at the time -- we're in the height of the Motown era, but there's also a pretty strong garage rock scene in Detroit at this time, too. It's fun, check it out and post some comments! https://forums.operationsports.com/f...ad.php?t=99646 |
|
|
|
|
|
|
#117 |
|
Go Reds
Join Date: May 2001
Location: Bloodbuzz Ohio
|
Curious to see how your league is progressing, Pass, and if you have seen any of the issues that I was calling to attention.
|
|
|
|
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
|
|