![]() |
![]() |
#1 | ||
H.S. Freshman Team
Join Date: Jan 2012
|
FOF Fictional Facepack version 1
FOF Fictional Facepack version 1
The following photo pack was made with the faces.js generator from ZenGM. The purpose of this photopack is to have a realistic (albeit a bit cartoony) facepack to use for FOF9 fictional leagues. It is separated by ethnicity, as well as by relative player size, so 330 lbs+ linemen can actually look different than a 180 lbs WR. HOW TO USE THE FACEPACK: Obviously you're free to use these photos however you wish. But PLEASE NOTE, the filenames are NOT set up for you to simply unzip them directly into the portraits folder and have them work. It will require some manual work on behalf of the user: 1. Decide who you want to select a player portrait for. 2. Check the universe ID for the player you want a portrait for. 3. Pick out the player photo you want from the respective folder, rename it to match universe ID and then move it to the appropriate portraits folder. (More info on this process is available in the FOF9 manual). Personally, I'm planning to be sure every starting player on offence and defense has a portrait, and then every 1st and 2nd round draft pick. This will ensure the majority of 'key' players have a portrait, but will also ensure the photo pack doesn't run out after a few seasons. The pack contains the following #'s of photos: - 293 to be used for coaches/staff - 2,120 player portraits in total, broken down as follows: - 120 Asian players (40 each of light, medium and heavy) - 600 "Heavy" players (OL and DL) - Split between white and black - 600 "Medium" players (Heavier QBs/RB, TE, LB, FB, smaller DT's) - Split between white and black - 800 "Light" players (QB, RB, CB, S, P/K) - 500 black, 300 white Hope people can get some use out of it, enjoy! Examples of how they look in game: https://www.mediafire.com/view/5xp4p...%2529.png/file https://www.mediafire.com/view/24u2x...image.png/file Last edited by Cole : 11-02-2023 at 05:12 PM. |
||
![]() |
![]() |
![]() |
#2 |
College Benchwarmer
Join Date: Jan 2001
Location: Chicago
|
I love these photos. I'm hoping the game can make it easier to actually use them moving forward, but thank you for the work!
|
![]() |
![]() |
![]() |
#3 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
Thanks! It was a fair bit of work. I *could* have just made it photos ID-ed 1 through 2,120 to make it easier to use... but... this is a game I personally play quickly and get through many seasons, so the pack would run out too quickly... And also, I do like the immersive aspect of players looking like they are 300 lbs+, and/or having players names match what I suspect they look like. That trade off is probably worth the hour or so a season I may need to get the new batch of rookie photos in. When I get my 'final' league set up, I may try to have it with photos already assigned and see if I can release that also for ease of use. |
|
![]() |
![]() |
![]() |
#4 |
n00b
Join Date: Nov 2005
|
Though they are "cartoony", I find them somewhat endearing and interesting to put a face by the name. A simulation like FOF should have visuals like this. Ideal for fictional yes.
|
![]() |
![]() |
![]() |
#5 | |
n00b
Join Date: May 2017
|
Quote:
Photo's Assigned would be very helpful |
|
![]() |
![]() |
![]() |
#6 |
n00b
Join Date: Jan 2010
|
This is great, thank you for sharing.
May I ask how you gathered the images? I'm trying to figure out if it's worth investing time in using Python (specifically Selenium) to automate the gathering of images for this, just so we can get a bigger pool of players. Looks like it'll be something like this (basically launch the faces.js url in the selenium browser, auto-click the generate button, and save a specific area screenshot as a square bitmap, so we can resize to 150x150 later): import time import random from selenium import webdriver from selenium.webdriver.common.by import By import pyautogui from PIL import Image # Set the path to your WebDriver webdriver_path = '/path/to/chromedriver' # Set the URL of the website website_url = 'https://example.com' # Set the dimensions of the square you want to capture square_size = {'left': 100, 'top': 100, 'right': 300, 'bottom': 300} # Set the coordinates to click on the screen to generate a new image click_coordinates = (500, 500) # Adjust these coordinates based on your requirements # Set the number of screenshots you want to capture num_screenshots = 10000 # Initialize the web driver driver = webdriver.Chrome(executable_path=webdriver_path) # Function to take a screenshot and save as a bitmap image def take_screenshot(file_path): driver.save_screenshot(file_path) img = Image.open(file_path) img = img.crop((square_size['left'], square_size['top'], square_size['right'], square_size['bottom'])) img.save(file_path) # Loop to generate screenshots for i in range(num_screenshots): # Generate a random number for the filename random_number = random.randint(1, 100000) # Construct the file path file_path = f'screenshot_{random_number}.bmp' # Open the website driver.get(website_url) # Click on the screen to generate a new image pyautogui.click(click_coordinates[0], click_coordinates[1]) # Take a screenshot and save it take_screenshot(file_path) print(f'Screenshot {i + 1} saved as {file_path}') # Close the browser driver.quit() I haven't tried this, and haven't even had time to dig into FOF9 yet, but I *think* this would help solve the issue of running out of faces, as you could get a very large pool. p.s. the code above won't be quite right; e.g. you shouldn't need to reopen the webpage each time. It's just a template and would need some adjustments. Last edited by xcom44dan : 11-29-2023 at 07:57 AM. |
![]() |
![]() |
![]() |
#7 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
I definitely didn’t have any sort of fancy automation. I generated the faces, took a screenshot in my phone, cropped it to the face only and saved it. When I had a batch of them done I used an online tool that would resize and change to bitmap all at once. For what it’s worth, I emailed the ZenGM programmer to ask if any sort of automation may be possible to make more photos … Here’s what his response was: “Technically yes it's possible, but it'd require some programming to do. If I was doing it, I'd write a script that uses https://playwright.dev/ to generate a faces.js face and then screenshot it and save it in whatever image format you want. Then put it in a loop and run as many times as you want.” |
|
![]() |
![]() |
![]() |
#8 |
High School Varsity
Join Date: Oct 2006
|
I use an AI site (PicsArt.com but any AI pic generator site will work) to generate faces for my fictional league. Very tedious, but worth it. For instance, I have an Offensive Tackle named Anthony Tse. I inputted a prompt saying that I need to generate a face portrait for an Offensive Lineman named Anthony Tse. This was the output:
https://imgur.com/a/sawhZTz Just resize and save in the correct file format and away you go. |
![]() |
![]() |
![]() |
#9 |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
Has anyone considered promoting Facegen to Jim to see if he would consider using it to create applicable facesets. I say faceset becasue they would need some additional support to become a facepack. I believe, but don't know, that Wolverine uses Facegen for it's player creation and with basic overlays adopt it within the game. I know I, and others, have made various overlays for the community and it does add to the game.
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
|
![]() |
![]() |
![]() |
#10 | |
n00b
Join Date: Jan 2010
|
Quote:
Nice! I'm going to give this a go (I'll probably use Selenium instead, but same difference so far as I can tell) when I can find some time. No promises, but will give a shout if I can get something working. Last edited by xcom44dan : 12-01-2023 at 02:34 PM. |
|
![]() |
![]() |
![]() |
#11 |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
The possibilities:
Welcome to the starting QB for the Voodoo! Or the starting RB for the Bison! ![]() ![]()
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
Last edited by NawlinsFan : 12-01-2023 at 07:32 PM. |
![]() |
![]() |
![]() |
#12 |
H.S. Freshman Team
Join Date: Jan 2012
|
|
![]() |
![]() |
![]() |
#13 |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
Faces and hair come from the DDSPF facepack. I just used them to show what I believe Facegen (which I think Wolverine uses) would do. The frame, jersey and background I did to again show the possibilities. DDSPF has just over 200 faces it mixes with close to 400 hairstyles to create variety for leages and draft files.
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
Last edited by NawlinsFan : 12-01-2023 at 07:34 PM. |
![]() |
![]() |
![]() |
#14 |
n00b
Join Date: Jan 2010
|
Just to give a quick update on this, I've got it all working, and so far am about 35% through with 33k total player portraits (aiming for just short of 100k total).
I used a very loose percentage breakdown of player ethnicities and weight/height by position to determine the mix and size of each position's head (e.g. linemen should come out looking bigger than wide receivers). These were all found online from some random Medium articles. So the final results will be broken down into position assumptions They'll need resizing at the end (no idea how long that will take). In terms of how to make the copying of player portraits over/renaming to IDs etc, I've no idea how you'd achieve this. If we had the .csv files with player IDs like we did for FOF8, then I'm sure it would be possible to automate something in Python. If anyone has any ideas on how to do this then they'd be very welcome (as doing this manually each time will be a huge chore!) |
![]() |
![]() |
![]() |
#15 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
I’m happy you’re working on this. And that you’re developing it with different size players in mind … The DDSPF faces shown above are really nice but playing those games in the past Id always found there was no difference between sizes of players .. very skinny heads/bodies would be used for huge lineman. But I’m assuming there still would be a manual component though as even though you’re creating different size photos there’s no way in game to know that lineman ID’s are XX numbers abs WRs are XX ? Right ? |
|
![]() |
![]() |
![]() |
#16 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
From what I gather in my time around the OOTP community and previously having worked for the company also, I believe Facegen is quite pricy. It would be awesome if FOF adopted some sort of system like that but it’s hard to say whether it would be financially viable enough to be a priority. |
|
![]() |
![]() |
![]() |
#17 |
n00b
Join Date: Jan 2010
|
Safe to say I got carried away
![]() The script has finished running and I've got just short of 100k bitmap files, currently distributed by position. Next step is to re-size them (looks like I can do this using Microsoft Power Toys... which sounds like an April Fools, but I just tested on a handful and it's resized them quite well). There are currently 57gb of images, which sounds alarming, but when resized I'd expect this to be more like 5gb. There should be more than enough faces for 100 seasons with no duplicates. Now for the tricky part... Ideally there would be a way of reading a list of playerIDs, and their positions (e.g. like the FOF8 player info csv). That way, you could write a script to just populate any images for players who are missing, at the start of each new season. Does anyone know if this exists? I'd also be more than happy to hand these images off to someone who knows how to do this sort of thing better than I do Otherwise, I can just renumber all the images, in a random order, 1 to 100k. That way every new player will be generated an image no matter what. You would lose the "today's NFL" size and ethnicity position biases though (might even be preferable to some, if not a little immersion breaking). p.s. big thanks to you Cole for spotting this existed in the first place, and for all your work on it - I'd never heard of ZenGM. Player portraits really help with immersion for me (and I quite like this cartoon-style ones, at least in the absence of anything immediately available/I have the skills to do anything with). Just for reference, here's an example of one working in the game (note it's not qute 150x150, but still works well without any squishing of the image): [IMG] ![]() |
![]() |
![]() |
![]() |
#18 | |
n00b
Join Date: Jan 2010
|
Quote:
If we had something like the old CSV files, then I *think* we could write something to tell it where to grab the files from, depending on which position the player is (e.g. if playerID 1837 has no image, grab from X folder when position is CB, else X folder if position is other). It would be clunky, but it's a lot of work to do manually for every player in a universe. Not sure exactly how it would work, but I think we could do something if we had these IDs/position info. EDIT - Also, FOF8 used to give new player IDs in order of position (not sure if this is still true), so even if manual, this wouldn't be a massive job, but you do need a full export of IDs and position to do it. Last edited by xcom44dan : 12-03-2023 at 01:52 PM. |
|
![]() |
![]() |
![]() |
#19 |
n00b
Join Date: Dec 2021
|
Dang. 5gb is a lot to get faces into the game, but it'll be worth it.
|
![]() |
![]() |
![]() |
#20 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
You’re welcome and thanks for taking it much farther than I ever could have. The ZenGM games are actually remarkably fun and although it’s simpler than FOF, there is a tremendous amount of depth and immersion there. I’ve known of the games for a while but finally decided to try Football GM while I wait for the FOF AI salary cap management bug to be fixed.. and I’m 15 seasons into my league and having a blast. It also soured me on my own FOF face pack too somewhat as having photos for every player (complete with appropriate jersey color) in ZenGm is great for immersion . |
|
![]() |
![]() |
![]() |
#21 |
Pro Starter
Join Date: Nov 2004
Location: Newbury, England
|
I played Football GM for a liitle while, but a couple of things put me off…
Have they fixed the basketball/baseball style trades? Have they made the schedule realistic (i.e. not with 3-4 bye weeks)? If so I will give it another look
__________________
'A song is a beautiful lie', Idlewild, Self Healer. When you're smiling, the whole world smiles with you. Sports! |
![]() |
![]() |
![]() |
#22 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
Yeah there are still some of those quirks unfortunately. |
|
![]() |
![]() |
![]() |
#23 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
I've been doing some work in some of the other data files, but I will look into the player data at some point. When I'm there, it shouldn't be hard for me to write a util that would spit out player IDs and their current position...
|
![]() |
![]() |
![]() |
#24 |
n00b
Join Date: Jan 2010
|
|
![]() |
![]() |
![]() |
#25 |
n00b
Join Date: Jan 2010
|
All done. 98k portraits, using the ZenGM tool. This also includes coaches.
I've uploaded two files: 1) "All" - this is all ~98k faces, numbered 1-96000 (2k are coaches). This is really easy to install (see below), but you won't contain any of the existing position biases in today's NFL 2) "By Position" - these are the same images, but broken down by position group The .zip files are ~800mb, but be warned that each file will be almost 5gb when unzipped. I'm guessing, that at least for now, the "all" pack will be best for most people as you can just install once and forget about it. As per the FOF9 guide, just paste the images here: C:\\Users\Your_Profile_Name\AppData\Local\Solecismic Software\Front Office Football Nine\saved_games\Your_Universe_Name\portraits. Download links below (let me know if you can't access this or if there is somewhere else better to host large files): All: All.zip - Google Drive By Position: By Position.zip - Google Drive Last edited by xcom44dan : 12-05-2023 at 10:12 AM. |
![]() |
![]() |
![]() |
#26 |
H.S. Freshman Team
Join Date: Jan 2012
|
Congrats on the release, I’m looking forward to checking this out soon.
And while it’s inspired by my original pack, with it 50 times the size of my photo pack, I may suggest making your own thread for your project (fictional face pack version 2! Hah) to get more exposure and ensure people don’t miss it buried in this thread. |
![]() |
![]() |
![]() |
#27 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
I actually got a lot of the way to the functionality that would be required to just list player ids and their positions, yesterday. I've run into a few minor (but resilient) problems that stopped me getting things fully working, but I have a solution in mind that I'll try next time I get a chance. I figure it is worth asking what exactly we want. I figure something like: 1234 QB 1235 TE 1236 RT etc But I realize that I don't know whether RT or OT would be better for these purposes - the game tracks both current position and current position group. I will probably make both accessible, but what's the most useful default? And is there a better format for the output? Does anyone really care about age or experience here? I'm assuming not... |
![]() |
![]() |
![]() |
#28 | |
n00b
Join Date: Jan 2010
|
Quote:
I'm guessing a .csv might be easiest to work with? I think all that would matter for the purposes of this, is literally the universe player id and the position. The groups I have images for in the pack are: - Coaches - C - CB - DE - DT - FB - G - K - LB - P - QB - RB - S - T - TE - WR I think it's fine if FOF breaks them down a bit further than the above though, it can probably be handled in a script. I was just going to ask chatgpt how to set something up to: - Read the csv with all player IDs and positions - Check the universe portraits folder for any IDs which are in the csv export, but don't have an ID - Pull files randomly from the fictional face pack, but from different folders depending on the position of the player with no portrait, and save them using the missing ID as the name (I've not really got any idea on how the above would work at this point ![]() |
|
![]() |
![]() |
![]() |
#29 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
Should be do-able!
I don't know that I'm seeing coaches in the data I'm looking at, so that might be another iteration after this one. (I can totally help with the python script if you need it. Or write something in Python or otherwise.) |
![]() |
![]() |
![]() |
#30 |
n00b
Join Date: Jan 2010
|
Fantastic. Coaches is easier anyway, that one can just be dumped in to the folder as they have their own prefix
![]() |
![]() |
![]() |
![]() |
#31 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
|
![]() |
![]() |
![]() |
#32 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
... but I think I managed to get the staff data out as well.
I've sent an early version of the utility to our excellent face-creators, to see if it is functioning properly for them. |
![]() |
![]() |
![]() |
#33 |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
I've got a prelimiary version of a tool that utilizes either of the face packs (or both together) in this thread and will fill your whole universe with players... Eventually I'll get a UI on it so you can select which league to work with, remove all the current portraits, or only add ones for new players, etc.
|
![]() |
![]() |
![]() |
#34 | |
H.S. Freshman Team
Join Date: Jan 2012
|
Quote:
That’s amazing, looking forward to seeing it ! |
|
![]() |
![]() |
![]() |
#35 | |
n00b
Join Date: May 2017
|
Quote:
Outstanding! This is what we need! |
|
![]() |
![]() |
![]() |
#36 | |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
Quote:
From what I see the Facegen Modeller is $300 (???) for the core program which, from what I can tell, should be enough to support FOF. I for one would be very willing to pay an extra $5 for the game and the game sales should offset this price. I don't write code, even though I have slept in a Holiday Inn Express, but would assume it would be reasonable to develop a means of implementing it into the game. I have no doubt that there would be some in the community that would offer their assistance.
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
Last edited by NawlinsFan : 12-16-2023 at 09:47 AM. |
|
![]() |
![]() |
![]() |
#37 |
n00b
Join Date: May 2017
|
I would help finance that.
Sent from my iPhone using Tapatalk |
![]() |
![]() |
![]() |
#38 | |
n00b
Join Date: May 2017
|
Quote:
I'm using it, better than looking at the FOF logo Thanks! |
|
![]() |
![]() |
![]() |
#39 | |
Mascot
Join Date: Jan 2014
Location: Melbourne, Australia
|
Quote:
Update: OK, I've got all the initial features working - identifying and assigning portraits for all players and staff who need them, tracking the allocations to ensure we don't reassign any portraits or use any portraits for more than one player, working with whatever league is requested, working with one or both of these face packs, from the raw zip (so they don't have to be extracted). Still have to put the GUI on it, but that will be less work than it took to get here. |
|
![]() |
![]() |
![]() |
#40 | |
n00b
Join Date: Jan 2010
|
Quote:
This is brilliant, looking forward to seeing what you come up with. Thanks for spending the time on this, and coming up with something much better than I ever could have. |
|
![]() |
![]() |
![]() |
#41 | |
The boy who cried Trout
Join Date: Oct 2000
Location: TX
|
Quote:
I can't figure out how to use this site. If I click the "Use For Free" button, it takes me to an upload picture dialog. how do you get to the input dialog? |
|
![]() |
![]() |
![]() |
#42 |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
An off the wall question. I have been roughing up an overlay to try on the face pics and am curious if it is even possible to somehow magically overlay them over the face pics provided or if it is even worth the effort.
Overall example - ![]() Overlays - ![]() ![]()
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
|
![]() |
![]() |
![]() |
#43 |
H.S. Freshman Team
Join Date: Jan 2012
|
I know for my face pack, it likely wouldn’t work well as mine were all manually cropped and thus there are imperfections involved.
The larger one that was made automatically however I assume it would work with it… although getting the overlays to map on to each one could be a large job (beyond the scope of my knowledge) |
![]() |
![]() |
![]() |
#44 | |
High School Varsity
Join Date: Feb 2008
Location: Southern Maryland - For Now!
|
Quote:
These are the ones in the zip file listed below that are used in the game, not sure whose they are but they are the 111x150.
__________________
SEPIUS EXERTUS: Often Tested
SEMPER FIDELIS: Always Faithful
FRATERS INFINITAS: Brothers Forever
Last edited by NawlinsFan : 01-08-2024 at 12:10 PM. |
|
![]() |
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
|
|