Home | Webstore
Latest News: OOTP 25 Available - FHM 10 Available - OOTP Go! Available

Out of the Park Baseball 25 Buy Now!

  

Go Back   OOTP Developments Forums > Out of the Park Baseball 25 > OOTP Mods > OOTP Mods - Names and Nations
Register Blogs FAQ Calendar Today's Posts Search

Reply
 
Thread Tools
Old 01-21-2023, 02:07 PM   #1
FleetWalker
Minors (Double A)
 
Join Date: May 2002
Location: Granby, CT
Posts: 115
Thoughts on a Setup with World Wide Player Creation

The fiasco that scrambled my league has soured me on the game considerably, but I spent like 200+ hours on this so I figured I would post some notes for anyone pursuing the same line of thinking. It may give someone a jump start. Also, no one I know IRL will appreciate any of this. Of course, a lot of this is really into the weeds, so maybe no one here with appreciate it either!

I really got into the World Cup this year, and it got me thinking about a world where baseball was approximately as popular worldwide as association football. The goal was to create a world where the distribution of players more approximately matched the distribution of world population taking into account the baseball quality of the nations involved. So BBQUAL 5 nations (in the aggregate) will produce more and better players than BBQUAL 4 nations (in the aggregate). Then, at the end of the day there could be a world cup that didn't necessarily involve the same 5 countries every time, but where the teams from higher BBQUAL nations still had an advantage. BBQUAL 1 nations are assumed not to exist in the sense of producing baseball players.

Aside #1: OOTP BBQUAL settings are little whimsical in places, but one the whole they seemed OK to me, so I just used them as is.

The obvious first problem is that there are only seven BBQUAL 5 nations, and two of them (Japan and the United States) absolutely dwarf the others. So as I've mentioned elsewhere, I wrote a Python script that (1) uses more current census data, and (2) allows me to break apart countries. I'm glossing over the data and programming issues here, I collected data so that each state and province accurate represents its ethnicity and has second nations (other states and provinces), etc... IT started out being fun.

I used this program to break Japan & United States into their first tier administrative units (prefectures and states). I also broke apart Canada, Mexico (because it dwarfs the other level 4 nations), and Russia (because it dwarfs the other level 2 nations, is actually part of two continents, and also screw them). I would have liked to break apart China (which swamps all the level 3 nations, and see Russia), but the first level administrative division aren't really self-governing units and (more importantly) none of them have cool flags. Russian "state" flags are cool.

Aside #2: You might think that not even having the nation of Japan exist in my world file would have saved me from the update o'doom, but Nope.

Finally, as I've mentioned elsewhere, I added a new BBQUAL 5 nation: Themyscira This nation uses the women's name file. It has a small population, so it only produces a handful of players, but I find it super cool to have women players show up in the game. I wish the game provided better support for female players.

So that was step one: Create world where the talent distribution was a less concentrated in a few nations at each level. Now there are three times as many "nations", almost all of them more or less similarly sized, and many of them have a chance to win a world cup.

Last edited by FleetWalker; 01-21-2023 at 02:53 PM.
FleetWalker is offline   Reply With Quote
Old 01-21-2023, 02:43 PM   #2
FleetWalker
Minors (Double A)
 
Join Date: May 2002
Location: Granby, CT
Posts: 115
It'd be nice if you could just tell OOTP to produce players from an entire region or world with X% being from BBQUAL 5 nations (at full value), and Y% being BBQUAL 4 nations (at .95 value), etc. You can't do that, and OOTP doesn't seem to devote a lot of attention to this part of the game, so I'm not holding my breath.

Within a particular region, however, OOTP does fine distributing talent by population.

So the simplest solution would be to create 4 leagues (assuming you are going ignore level 1 countries like I did), or sets of leagues, each one based in a region that is determined by BBQUAL level. Bonus! These regions already exist in the game! You don't even need to create them.

That approach gives two choices neither of which appealed to me. You can base the league in (say) the United States and have the talent drawn for the particular BBQUAL nations. That loses a lot of local flavor, although it's easy to image it. Afterall, it's basically what happens now. If you are good enough baseball player to get paid for doing it, and you don't live in Korea, Japan or Taiwan, you try to come to play the United States.

Alternatively, you can have teams based around the world. But it hard (for me) to suspend disbelief when you have teams jetting acorss the international dateline or equator to play each other. The logistics of all that just bother me too much. YMMV.

What I did was create 25 regional leagues based on geographic proximity AND BBQUAL:
BBQUAL 5 [272 teams - 69%] - player creation modifier 1
7 US leagues (168 teams total)
3 JP leagues (48 teams)
1 Caribbean league (32 teams) - CU, DR, PR, VE
1 CA league (24 teams)

BBQUAL 4 [52 teams - 13%] - player creation modifier .950
1 Caribbean league (24 teams) - MX, PA, NI, CR
1 KR league (10 teams)
1 TW league (6 teams)
1 NE league (6 teams) - includes Curacao
1 AU league (6 teams) - plays in winter

BBQUAL 3 [42 teams - 10%] - player creation modifier .850
1 European league (24 teams)
1 Asian league (10 teams) - includes Oceania countries
1 Carbbean league (4 teams) - CO, HN, SV, and a bunch of small islands
1 South African league (4 teams) - plays in winter

BBQUAL 2 [28 teams - 7%] - player creation modifier .750
1 European league (10 teams) - includes European Russia
1 Asian league (6 teams) - includes Asian Russia
1 African league (6 teams)
1 South American league (6 teams) - includes N. Am 2s, plays in winter

That seemed a reasonable distribution of players by level, although probably the 4s should have a few more teams. Within each level the players are distributed somewhate closely with the population of the underlying countries, except that I nerfed China in favor of Europe at level 3. China is one country whereas there are dozens in Europe, but maybe that is bias on my part as well. The China group does include a few smaller countries as well as China, so they are also getting nerfed, but they are so small compared to China's population that for all intents and purposes the BBQUAL 3 Asian league is just China.

So that was step 2, creating a distribution of talent among the countries roughly proportional to population and talent.

Last edited by FleetWalker; 01-21-2023 at 02:45 PM.
FleetWalker is offline   Reply With Quote
Old 01-22-2023, 09:55 PM   #3
FleetWalker
Minors (Double A)
 
Join Date: May 2002
Location: Granby, CT
Posts: 115
The final piece of the league creation puzzle is the most difficult: the economics.

First there is no draft in my leagues, players get generated as free agents and than sign contracts with whomever. There are no international discoveries, international free agents, independent league free agents. All the world's baseball players begin in one the leagues that exists in the game. All players generated are between 14 and 22.

I limited contracts to 5 years, although extensions are allowed. Trades are also allowed between leagues...I'm not sure about that one. I wish OOTP allowed you to replace trades with the transfer system used in a lot of international sports or allowed you to specify that only cash trades were allowed, which from a game play standpoint is approximately the same thing.

The end result is that no player seems to stay with a team or even league for more than a few years. I'm sure it resembles baseball before the reserve clause, and what association football fans experience, but wow, don't get attached.

As for the salary structure:

A league creator can control four team revenue streams

1. Gate revenue
For the average team, this will be 1/2 * avg attendance * ticket price (note that the gate split is irrelevant for this calculation, what the average team loses in home games it gets back in away games). I fixed ticket prices for each league. I also made sure each team had the same stadium size. Thus, teams can mostly control attendance by winning and/or being otherwise popular (although market size is a factor).

2. National Media Contract
This can either be the same for each team or can vary by market size. I'm unclear why, when homebrewing a league, you would ever let it vary. I assume that local media contracts vary by market size, so allowing the national media contract to vary by market size just makes it a second local media contract. Anyway, I made it fixed for each team. That makes it the minimum expected revenue for each team.

3. Local Media Contract
I assume this always varies by market size. From a league design standpoint, it would make sense to make this 0 because teams don't have any ability to control this revenue stream and that seems unfair. But eliminating it does reduce realism. In the base setup 55% of media revenue is local, but I changed that to 25%. For purposes of verisimilitude that percentage increases as you go down the promotion-relegation ladder because realistically there just aren't going to be significant national media contracts for lower tier leagues.

4. Merchandising
I honestly don't know what effects this. No doubt market size, but maybe also success. Anyway, I didn't have a good theory for setting this so I set it to 10% of total media revenue. It's much higher in the base game, but it seemed like something over which teams have little control.

5. Playoff Revenue & Cash Trades
I think these are the only other two sources of revenue for a team. Neither is something you can adjust, although I assume ticket price is a factor in playoff revenue. Playoff revenue can be a big deal, but since it rewards success on the field that's fine. Teams obviously have complete control over cash trades (assuming there is a willing counter-party), so that's fine too.

Aside: It seems like most of a team's revenue sources in the game are determined by things over which a team (in the game) has little control. You can't set an advertising budget, improve your stadium, run promotions, negotiate media contracts, negotiate concession contracts, relocate the team to a bigger market, the list goes on. The economic model for revenue is simplistic, but even worse it isn't really determined by things the player can impact. It needs a serious revamp.

I figured the average team's revenue would be Gate + Media + Merchandising. I adjusted these number by three factors:
1. The BBQUAL of the league (each league quality level below 5 reduced revenue)
2 The level of the league (each tier below the top in the promotion-relegation pyramid reduced revenue)
3. The economy of the host country of the league. This was for verisimilitude. I compared the Per Capital GDP of the host to Per Capital US GDP and used that to reduce revenue (although there are countries like Singapore where this factor would increase revenue, none of them ended up hosting a league in my game).

Once I had this average revenue, I assumed it would be enough to pay for a team of average players. Since roster size in my leagues was 26, I divided it by 26. That was the salary of an average player. The other salaries are just multiples of the average salary. Whether or not this is what the game designers intended, it seems basically how the default game is set up. I think they used average revenue / 24 or something, but it's pretty close to what I came up with.

Cash Max (5%), Player Development (3%), and Scouting (2%) are just percentages of average revenue.

In my test runs, these formula seem to work decently. Better players move to higher-tier better-playing leagues. If you generated a list of the best players, they were almost all playing in the first or second tier league in the US or possibly in Japan or Canada. It may turn out after playing longer that I ditch the whole system, but now I'm happy enough.

So that's it. I thought the process might help someone else in their thinking about how to set up a world like this.

Last edited by FleetWalker; 01-22-2023 at 10:02 PM.
FleetWalker is offline   Reply With Quote
Old 01-26-2023, 09:40 PM   #4
tm1681
All Star Reserve
 
Join Date: Apr 2006
Location: Salt Lake City, UT
Posts: 581
Quote:
Originally Posted by FleetWalker View Post
It'd be nice if you could just tell OOTP to produce players from an entire region or world with X% being from BBQUAL 5 nations (at full value), and Y% being BBQUAL 4 nations (at .95 value), etc.
I think you might be able to do this, but here's you would have to do it:
  • Start your league(s) with empty rosters (no Inaugural Draft, Delay Player Creation)
  • Go to League Settings --> Players -> Default Player Origin
  • Click "Functions" on bottom-left, then select "Clear All"
  • Click "Sorted by National %" on top-right, then click "Sorted by Baseball Quality"
  • Figure out the percentage of players you want from BBQ-5 nations, divide that number by the number of BBQ-5 nations, put that in for each BBQ-5 nation (EX: 50% of players from BBQ-5, 10 BBQ-5 nations, 5% of players from each BBQ-5 nation)
  • Do the same above for BBQ-4 nations
  • Keep going for BBQ-3, 2, 1, 0 as you desire
  • With the above in mind, make sure the percentages add up to 100.0 or else the engine will round numbers to make the final total 100.0

I did something like this with a fictional 1800s universe I created where I wanted the initial player set in the 1870s to match what the USA looked like in the 1870s when factoring in immigration, and to do that I changed high-immigration nations to BBQ-5 and the next tier of immigration to BBQ-4. It worked pretty well.
tm1681 is offline   Reply With Quote
Old 01-26-2023, 11:39 PM   #5
FleetWalker
Minors (Double A)
 
Join Date: May 2002
Location: Granby, CT
Posts: 115
I did something like that once too, but it's a LOT of work, and it's super easy to screw it up (I speak from experience here). Also, in my current project I broke up the United States, Canada, Russia, Mexico, and Japan into their components parts, so I have something like 450+ countries.

One thing I thought you could do is set the Region of the league to a particular BBQUAL level and then choose to have a certain percentage of the players come from random nations. Random Nations actually means random nations THAT ARE NOT PART OF THE REGION (I tested this). I figured that would distribute the players by BBQUAL and population.

But I discovered that is NOT how the game does things. What the game actually does is weigh each country (regardless of population) based on its BBQUAL using the following weights (from 0 to 5) 1:2:10:50:250:1250. In the base game that works out to the following percentages
0.79% BBQUAL 0 [109 countries]
1.11% BBQUAL 1 [ 77 countries]
1.66% BBQUAL 2 [ 23 countries]
6.14% BBQUAL 3 [ 17 countries]
18.06% BBQUAL 4 [ 10 countries]
72.24% BBQUAL 5 [ 8 countries]

I created a 40 team league that drew players 100% from a random origin and the BBQUAL of the nation of origin of the players almost exactly matched these percentages. When a player's nationality is chosen at random, however, that player is EQUALLY likely to come from any country of that particularly BBQUAL.

That was an eyeopener for me, because like I said, in my world I broke apart CA, US, MX, and JP. That totally spams the BBQUAL 5 nations. I also broke apart RU, which spams BBQUAL 2. So my distribution looked like:
0.06% BBQUAL 0 [107 countries]
0.08% BBQUAL 1 [ 77 countries]
0.55% BBQUAL 2 [106 countries]
0.44% BBQUAL 3 [ 17 countries]
1.30% BBQUAL 4 [ 10 countries]
97.57% BBQUAL 5 [150 countries]

That was definitely unexpected, and I immediately put Russia back together.

Anyway, it's a good safety tip for anyone who wants to play with the states as nations and it can have some unexpected side-effects in player generation!
FleetWalker is offline   Reply With Quote
Old 01-27-2023, 12:07 PM   #6
20_range
All Star Reserve
 
20_range's Avatar
 
Join Date: Nov 2022
Location: Philadelphia
Posts: 755
I read this thread with great interest. In fact I was thinking of posting the Michael Jackson popcorn meme here, and then think how ridiculous/impressive it is that this kind of discussion elicts that response from me.
20_range is online now   Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:32 AM.

 

Major League and Minor League Baseball trademarks and copyrights are used with permission of Major League Baseball. Visit MLB.com and MiLB.com.

Officially Licensed Product – MLB Players, Inc.

Out of the Park Baseball is a registered trademark of Out of the Park Developments GmbH & Co. KG

Google Play is a trademark of Google Inc.

Apple, iPhone, iPod touch and iPad are trademarks of Apple Inc., registered in the U.S. and other countries.

COPYRIGHT © 2023 OUT OF THE PARK DEVELOPMENTS. ALL RIGHTS RESERVED.

 

Powered by vBulletin® Version 3.8.10
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright © 2020 Out of the Park Developments