New Library Project!

Use this forum to discuss or share your custom player libraries and ballpark images.

New Library Project!

Postby johnnybravo17 » Sat Feb 17, 2018 9:31 am

I had a blast being totally immersed in the 2017 MLB season last year. Literally to a level that I hadn't been since college (and that's 30 years or so!) Admittedly, a lot of this had to do with the success of my beloved Dodgers, and the deep playoff run they had. But the Dodgers usually do pretty well (until the Post Season, anyway :oops: ) so that certainly wasn't all of it.

I attribute the rest to my getting involved with Topps BUNT. From the daily fantasy contests to the "VIP Game of The Week", I frequently found myself tuned into multiple mlb.tv broadcasts, switching from game to game, making roster moves trying to score more points. And when I wasn't doing that, I was constantly trying to improve the players I had at my disposal, actively trading cards like a madman. Sometimes very early in the morning, sometimes very late at night, and various times in between. Never more than a few minutes here or there at a time (that's the beauty of it), but always thinking baseball in the back of my mind, and far beyond the usual practice of checking the boxscore for the home team. Indeed, I began caring as much about real baseball as I do my many ongoing simulation ideas and projects, and that probably hasn't happened since my days of running roto leagues!

So naturally, from the outset, I kept thinking of how best to marry the two. What could I take from BUNT to create an interesting and innovative DDBB library? I hinted at this in a post just the other day, but really it's been about a month or so ago since I've been really putting some serious thought and work into this, and I'm at a point now where the whole project is starting to take shape -- down to the actual player rosters.

The timing is, perhaps, a bit late, but it'll do. I figured that to finish off and package up the work I've done off and on over the past year or so on DDBBLCT, it would be best to actually go through the process of creating a library (as opposed to patching up one that I'd created long ago). That way I wouldn't miss any nuance along the way that might make the tool more friendly, or even useful. Because right now there's nothing friendly about any of it. It's just a bunch of database scripts that I run inside of an editor! :lol:

I really wanted to get both the library and the tool (which are being worked on in tandem) done in time for the start of the season. Certainly the 1.0 version of the library, with all of the rosters and photos set in stone, but none of the custom ratings, will be ready by then. Just how much of the tool I get into usable shape (because I have quite a bit of work updating database tables from myriad sources ahead of me) is anybody's guess, however.

At any rate, I'll use my website to chronicle the journey. It may be downright boring to some (most?) But with DDBB being the ultimate tinkerer's sandbox that it is, I'm of the mind that at least a few bits of the struggle might prove interesting (and even useful) to someone. So, to quote Sherlock Holmes: "The game is afoot!"

You'll find the story of the library, lots of pictures, and (eventually) the rosters here: http://twikisandbox.com/do/view/DDBB/Lib2017BUNT

I haven't actually posted any roster data yet. But that's only because I'm still settling on a format for those web pages. The hitters are done for all of the teams that show dead links, and I'm working on the rest. A good part of it is that I'm actively acquiring cards for a few teams, where I'm still a card or two short of my self-imposed 30 player minimum roster size. But that will all be coming to a close here shortly, as the deadline for obtaining the cards pertinent to this project is rapidly approaching. The 2018 series will be out in April (and I can't wait! 8-) ).
--JB
User avatar
johnnybravo17
 
Posts: 866
Joined: Thu Apr 04, 2013 9:54 am
Location: Somewhere on the outskirts of sanity, and perhaps in your head, as the unofficial 'voice' of DDBB

Re: New Library Project!

Postby DDBBAdmin » Mon Feb 19, 2018 1:15 pm

This is a really clever idea and BUNT looks like fun. I am a bit of an addict when it comes to collectible card games (I own nearly 20,000 Magic The Gathering Cards) so I am a bit afraid to try BUNT, but I am not sure I will be able to resist :D

I have posted an announcement about this library project on our Facebook page.

Please keep us posted on your progress!
Cheers,
DDBBAdmin
User avatar
DDBBAdmin
Site Admin
 
Posts: 2904
Joined: Wed Feb 02, 2011 7:19 pm

Re: New Library Project!

Postby johnnybravo17 » Mon Feb 19, 2018 9:41 pm

I'll make a point of posting back here every time the site gets a meaningful update detailing my progress (not yet <G>).

I think I'm pretty much settled on what I want to do for the individual team pages now. So I'll begin posting some of the roster info, starting with the hitters, this week. And I'm down to only three teams that still have less than 30 players, and none that have less than 28, so hopefully that part of it will be 100% complete here very soon.
--JB
User avatar
johnnybravo17
 
Posts: 866
Joined: Thu Apr 04, 2013 9:54 am
Location: Somewhere on the outskirts of sanity, and perhaps in your head, as the unofficial 'voice' of DDBB

Re: New Library Project!

Postby johnnybravo17 » Wed Mar 21, 2018 1:38 am

I'm still plugging away here ... and making good progress. Though I'll admit, even with the wizardry of Image Magick, getting all of those pictures (which live in an online world only accessible via mobile devices) to where they can be utilized on desktop PC's is quite an undertaking.

I've got a pretty good system now, but it's convoluted. It involves uploading a screenshot of each image to my Google drive, pulling them down into my PC, and then re-naming for DDBB. Of course, along the way, the gargantuan screenshots need to be shrunk to an appropriate resolution, and the edges of the photo (which go beyond the actual baseball card itself) need to be cropped. But that's where Image Magick comes in. I have it down to where once I get all of the raw schreenshot photos for a team into a single directory, I can run a single command line script that processes and re-names each file in the directory so that it's ready to be used as a DDBB image. It can run through 30+ pictures in about 3 seconds, which sure beats loading them into an editor one by one, re-sizing, and then trying to crop out just the baseball card!

I've also spent WAY more time than I thought I would have wheeling and dealing trying to acquire more cards to fill the rosters. But that work has paid off nicely. I now have 255 legend cards to be used in the sim! Every team will have at least 31 players (the maximum number the Reds could have, since they only have 20 regular season players, one from the update, and ten legends), with most having at least a few more. I have 8 or 9 of the 10 legends for the vast majority of teams, and for the Reds, I have all 10. Slowly but surely, I'm uploading some of the pictures onto the web page (starting lineups, key reserves) but I'm lagging in my posting. I have the rosters figured out and the pictures extracted for 20 of the 30 teams, and I'm plugging away at the rest, but working alphabetically I've only posted/updated the team pages through the Dodgers.

I was hoping to avoid it, but along the way I've had to create a couple of "fake" 2017 BUNT cards. The A's had no catcher other than half a season of Stephen Vogt, and the Marlins had no catcher other than JT Realmuto. In the Marlins case, this was almost excusable. None of their reserve catchers played much or performed at a notable level. In the A's case, Bruce Maxwell is one of those "missing" players that makes you scratch your head, especially considering that he played more for the A's than Vogt did. <G> The cards I created (of Gene Tenace for the A's and Ivan Rodriguez for the Marlins) were chosen because I had available nameplates to copy from pre-existing legends cards from other teams. This made for a really clean look, and I was careful to choose action photos that matched the spirit of the set. Save for the missing "2017 BUNT" logo, you'd be hard pressed to realize that these cards aren't originals. The Tenace card is already up on the A's page, and the Marlins page (including Rodriguez) will go up soon

The Padres are woefully thin at shortstop (no Erick Aybar) leaving the position to Yangvertis Solarte and Allen Cordoba. This could almost work (Solarte as the starter, Cordoba to back him up) except there's no Carlos Asuaje to play second either! Solarte can't very well man the entire middle infield by himself, now can he? Obviously, they got no help from the legends pool (quick, name a Padres middle infielder not named Ozzie Smith who could be considered a legend <G>) so I'll probably go back to the well to give them some. Smith is a Cardinals legend and provides a serviceable name plate to re-use, and I can use that as an excuse to re-work his Cardinals photo also. It's a decent shot of him performing his famous flip, but it doesn't make for a very good DDBB photo, in my opinion. That will make Ozzie the Padres starting shortstop, and leave Solarte to man second -- but the Padres will still be a woeful team in this league, I'm afraid. How in the heck did THAT squad win 71 games in 2017! Look at their roster ... I mean really look at it!

On the ratings front, I'm freely admitting that these won't be anywhere close to being done anytime soon. However, as soon as I finish all of the rosters, I'll go ahead and install some "quick and dirty" ratings using the same methods that I used for the State Pride library (which didn't turn out too badly) and post a "version 1.0" of the project. I'm less than a month away from achieving that, but probably won't make opening day (which was the original goal). From there, I'll go to work replacing the ratings, including a series of posts on my site about how it all works, and the logic behind it. And each step will culminate in me actually utilizing the tool to make the changes. So when all of the ratings are complete ... the tool will be complete also.

The good news is that I've now reached a point where I can pretty much settle on a purely mathematical method to calculate everything -- including fielding range -- that actually makes some sense. It's taken a while to get there (the range thing was particularly difficult, and I still haven't closed the loop 100%, but I'm very close) but I think it's going to work out. Basically, after much study, I noticed a pretty strong correlation between DRS (Defensive Runs Saved, which no one can calculate ... you have to pay for it), and Tom Tippett's ARF (Adjusted Range Factor). This actually makes sense, seeing as the first steps in calculating DRS are identical to the steps used to calculate ARF. DRS just goes a bit further. Quite a bit, actually, but the complex series of succeeding adjustments show up as mere ripples on DDBB's 5 point scale. "The juice just isn't worth the squeeze", as it were. If our scale were 1-100, or even 1-15, it might be worth trying to incorporate them, but for 1-5, it just isn't going to amount to much.

Ultimately, I found a pretty convincing relationship for each fielding position for ARF9/lgARF9 (which can be calculated from readily available data ... but some of that information can only be extracted from the retrosheet event files) and the aforementioned DRS -- and built a mathematical bridge between the two. The last step is to figure out how to set the factors within DDBB, and what it ultimately means in terms of runs saved for each position to be rated as a "1", "2", "4" or "5" in each case. Armed with that information, I should be able to assign a meaningful rating (based on runs saved or lost) from the ARF9/lgARF9 values (which will be available in the DDBBLCT database). I'm currently putting the work in (with Mark's assistance) to explore the innerworkings of the game in sufficient detail to get there. I think it's going to turn out well.

As I do this, I'm gradually backing away from my original plan of throwing a whole bunch of rating systems gathered from various places onto the screen and allowing the user to pick one. Now that I'm down to purely mathematical methods that eliminate subjectivity (which was the goal behind all of this), why allow users to chuck all of that to inject someone else's unknown subjective bias into things -- and make the program much more complex in the process? Just assign the ratings and be done with it, but simultaneously make them plainly visible and accessible. That way if, after the ratings are assigned, you want to go in and change them, you're free to do so. The only subjective bias present at that point will be your own.
--JB
User avatar
johnnybravo17
 
Posts: 866
Joined: Thu Apr 04, 2013 9:54 am
Location: Somewhere on the outskirts of sanity, and perhaps in your head, as the unofficial 'voice' of DDBB

Re: New Library Project!

Postby johnnybravo17 » Tue Apr 10, 2018 4:08 am

Time for an update ... lest people think I've abandoned this project (and nothing could be further from the truth!)

I'll try not ramble on too much (but I'm not very good at that as you know :lol: ) because I'll soon be at a point where I can focus on updating my site -- which will cover things in more detail.

I went nuts (and spent a few bucks) acquiring legends. The final tally is going to be somewhere north of 270 out of the 300 possible, or better than 90% of all that were available. What can I say? I love baseball cards. I never need a reason to collect and hoard them, so if you actually give me even half of one ... look out! I've got one last trade in the hopper to potentially acquire Ralph Kiner for the Pirates (and they can certainly use him) but other than that, I'm officially done with that.

I also decided that since half the fun of a library like this is not knowing how the seasons are going to play out, that I'd eliminate all potential bias and expectations by completely re-aligning all 30 teams into brand new geographical divisions. (Hey, what fun is a simulator that lets you play commissioner like that, if you never take advantage of it?)

I did this by recording the latitude and longitude coordinates of every current MLB stadium. It turns out that there's almost a 50-50 split along the 87W median, such that all teams to the East of it could go in one league, and all teams either on it or to the West could go into another. (I also tried North/South ... but that wasn't as clean). If you do this, you wind up with 14 teams in the East and 16 in the West. And I briefly considered rolling like that, and just using 4 divisions instead of 6, but ultimately I decided to consider the Brewers as "East". (The Cubs and White Sox are also on the 87W median, but I chose the Brewers to ship East to keep the two Chicago teams together).

I call the teams in the West the "Pacific League", and the teams in the East the "Atlantic League" (after the oceans, because it was late and originality was lacking). For the divisions, I used the latitudes. For each league, the five northernmost teams went to one division, the five southernmost went to another, and the remainder formed the third. This worked perfectly in the Atlantic League, in the Pacific, I had to fudge a bit and send the two Los Angeles teams to the South to make the numbers come out even -- even though technically, they are located just a bit farther north than Arizona.

So after all the dust settled, it looked like this:

Atlantic League:

Northeast Division: Blue Jays, Brewers, Indians, Red Sox, Tigers
East Division: Mets, Orioles, Phillies, Pirates, Yankees
Southeast Division: Braves, Marlins, Nationals, Rays, Reds

Pacific League:

Northwest Division: Cubs, Mariners, Rockies, Twins, White Sox
West Division: Athletics, Cardinals, Diamondbacks, Giants, Royals
Southwest Division: Angels, Astros, Dodgers, Padres, Rangers

At this point, I have 99% of all of the adjusted stats into spreadsheets (save for cases like Kiner, where the Pirates might add a player -- and a couple of pitching staffs to go yet). There's quite a few numbers there (I have a macro that snatches data from the Retrosheet pages), so I decided to make good use of them. I created a set of realistic lineups for each team (which I'll include in the library) and used them to estimate the number of games each player would start. Then I used the extrapolated runs formula to estimate how many runs per game (positive for hitters, negative for pitchers based on what they allowed) each player was worth. I did this for pitching and hitting only ... defensive contributions aren't included in this version of the sheet, but with the things that I'm working on along those lines (with Mark's help) that may be easy to include in the future.

This allowed me to project a Pythagorean winning percentage for each team (against .500 level competition -- of which they'll face absolutely none in this library, but it does give us a common reference point) based on runs scored versus runs allowed. Next, I took these percentages and used the simple version of the Bill James Log5 method (given the probability of two distinct outcomes -- winning percentages in this case -- the odds that it will go one way or the other) and applied them to each season series in the schedule. That allowed me, of course, to project an overall Win-Loss record for each team, and therefore to "forecast" the outcome of the divisional races. It should be interesting to see how well this works out. If it has any merit at all, I would consider creating a custom report (that one could export to a spreadsheet) that would do the same for any custom DDBB library in a couple of mouse clicks.

The rest of my sim project time has been spent perfecting my proposed method of assigning purely objective defensive range ratings that actually have a real statistical basis. And I'm happy to report that with one last bit of information from Mark (which he assures me he's working on, and he'll most likely get me what I need in advance of when I'm actually ready for it) I'm actually there! This is a big deal to me. I've always loved DDBB's simple rating system because you can really know (and in most cases define) what each point in the ratings means, and tie it back to real world percentages and outcomes. But it's taken me since Mark installed ratings in the game to come up with a way to make that work for defensive range. So this "closes the loop", as it were, and means that the custom ratings project will be able to provide ratings for RUN, OFARM, CARM and RANGE (for all positions except pitcher and catcher). I think these are the ones that have the greatest impact on the game, and that begin to differentiate players that might otherwise have similar offensive statistics. Later on, I may go after the pitcher's HOLD rating as well (and maybe to do something with RANGE for pitchers and catchers) but those are definitely secondary concerns as I see them.

I'll explain the RANGE thing later. I'm pretty excited about it, and it's pretty involved. It merits a post all by itself, and one with pictures and diagrams! And my site will soon begin to feature updates that show entire starting lineups and rotations, the new divisional alignment, and the results of my "forecast". I'll post the spreadsheet there as well.
--JB
User avatar
johnnybravo17
 
Posts: 866
Joined: Thu Apr 04, 2013 9:54 am
Location: Somewhere on the outskirts of sanity, and perhaps in your head, as the unofficial 'voice' of DDBB

Re: New Library Project!

Postby DDBBAdmin » Tue Apr 10, 2018 1:55 pm

Boy, that library is going to be fun! I can't wait!
Cheers,
DDBBAdmin
User avatar
DDBBAdmin
Site Admin
 
Posts: 2904
Joined: Wed Feb 02, 2011 7:19 pm

Re: New Library Project!

Postby johnnybravo17 » Tue Apr 10, 2018 9:05 pm

Me neither ... it's been a lot of work, but I think it's going to be a lot of fun.

Hopefully, something else productive will come out of it as well. The spreadsheet that I described does a fair job of estimating lineup and rotation strengths based on the runs value of the players selected (if you believe in extrapolated runs, anyway ... but looking at those values side by side with the actual run totals has done nothing but re-affirm my conviction).

If I can get the defensive impact in there as well (ie., the decreased runs allowed for guys who are rated "1" or "2", and the increased runs allowed for guys who are rated "4" or "5") then I have the makings of a nifty tool for trying to figure out what your best possible lineup is ... for any library, whether it's created from scratch like this one, or simply a season taken from the Lahman database.

You should be able to swap guys in and out, immediately see the runs impact, and the effect it has on the Pythagorean winning percentage. So you can quantitatively see (for example) if it's worth it to play JD Martinez or Matt Kemp over lesser hitters with better gloves. I didn't set out to create such a tool, but I'm beginning to see the value in having one. It'd be silly to stop this short of creating it.
--JB
User avatar
johnnybravo17
 
Posts: 866
Joined: Thu Apr 04, 2013 9:54 am
Location: Somewhere on the outskirts of sanity, and perhaps in your head, as the unofficial 'voice' of DDBB

Re: New Library Project!

Postby DDBBAdmin » Wed Apr 11, 2018 10:50 am

If I can get the defensive impact in there as well (ie., the decreased runs allowed for guys who are rated "1" or "2", and the increased runs allowed for guys who are rated "4" or "5") then I have the makings of a nifty tool for trying to figure out what your best possible lineup is...


That would be really fun -- especially the defensive aspect of it.
Cheers,
DDBBAdmin
User avatar
DDBBAdmin
Site Admin
 
Posts: 2904
Joined: Wed Feb 02, 2011 7:19 pm


Return to Custom Libraries and Images

Who is online

Users browsing this forum: No registered users and 1 guest