Home | Webstore
Latest News: OOTP 27 Buy Now - FHM 12 Available - OOTP Go! 27 Available

Out of the Park Baseball 27 Buy Now!

  

Go Back   OOTP Developments Forums > Prior Versions of Our Games > Out of the Park Baseball 19 > OOTP 19 - General Discussions

OOTP 19 - General Discussions Everything about the 2018 version of Out of the Park Baseball - officially licensed by MLB.com and the MLBPA.

Reply
 
Thread Tools
Old 10-23-2018, 08:45 PM   #1
TGH-Adfabre
Hall Of Famer
 
Join Date: Sep 2007
Posts: 2,601
Avoid K

Here is my understanding of Avoid K.
The AB engine determines the AB is an out. Once this occours the engine determines what type of out it is and then the Avoid K rating is in play. This rating has very little to do with the AB except for after the AB has been determined to be an out.

Do I have this correct?
If not please explain how the engine uses this Rating.
Contact, Gap, Power and Eye seem much clearer to me than Avoid K.

Thanks,
Tom (LP)
__________________
You mock me, therefore I am
My wife
TGH-Adfabre is offline   Reply With Quote
Old 10-23-2018, 10:58 PM   #2
NoOne
Banned
 
Join Date: Apr 2015
Posts: 7,273
Infractions: 0/1 (3)
i would guess:

the threshold the seed has to be greater than is calculated form the ratings and such for the context... either multiple seeds are generated or they continually re-use the same one throughout the process.

hence, in the past -- if you crash on an AB that is a likely home run, and keep restarting game (saved @ time of AB), it's a very liekly extra base hit at the very least on the next attempt(s). there are all sorts of methods that could look the same in resutls, though.

if it's a ver ylow score, you will never get a home run while crashing/restarting... best you can hope for as an error 1/50 tries or so, lol.

same with an out... if you roll an out, it is almost impossible not to be an out. errors are the only savior in that situation. your pa in this game is 98% determined by that initial random seed for that ab... it really doesn't affect strategy too much, though. you still should play the odds. swinging away and bunting may require different values for threshold of success/failure or some grey area with a sliding % etc etc. you can't deduce this without hindisght and by that time the info is useless.. no impact to game unless purposely cheating and crasthing/restarting etc.

that's why i'm fairly certain most things are determined by one random seed as opposed to varied set. a very high roll means a much higher % chance of a good result. errors are mutually exclusive force that is applied after the fact. a high value means anything you try is very liekly to succeed. (or low, matter of perspective.. just has to match % you want it to occur ie if 1-1000 and .1% you want 1 value to be represented.. could be "55" could be "1000" really doesn't matter)

more likely there's sway built in... high value is x% home run, x% doube, x% double play etc etc... just shifts around to context and seed and then poops out a result. not saying 990-1000 = 100% home run, but it may be near that if rare enough frequency. the same random seed can result in a few different results -- most of the time... but if low or high enough (rare enough) then it;s near certain success/failure, relatively speaking.

i do know these things are generated at the time of the PA with almost 100% certainty... they do not re-roll at any point in a PA that i can tell. this is why the 'take a pitch until 2 strikes' method works so well. your "hr" threshold was reached for that context and barring wind or whacky defense, it's going to be a very likely home run with 0-2 or 3-0 count.

while i've used a hex editor on fhm-something in past, i have never done so with ootp. never tried to browse a memory region to map this stuff out, but from what i hear in forums, at least 1 person has, lol. i forget the name already.. think it started with a B. i bet he has the seed location or something. can find through pointers and what calls on other bits code etc etc with something reall simple like cheat engine...

Last edited by NoOne; 10-23-2018 at 11:05 PM.
NoOne is offline   Reply With Quote
Old 10-25-2018, 02:52 PM   #3
sansterre
Minors (Triple A)
 
Join Date: Feb 2006
Posts: 251
First off, while I've played this game for a long time I don't make any representations that I know how the code is written. But from jiggering in the ratings editor here's how I understand it:

Eye: walk rate. The batter's Eye is mixed with the pitcher's control and a percentage chance of a walk is generated.
Avoid K's: strikeout rate. The batter's avoid K's is mixed with the pitcher's Stuff and the percentage chance of a strikeout is generated.
Power: home run rate. This doesn't convert singles to home runs, this converts outs to home runs (by which I mean, your power going up increases your batting average, if not a lot). The batter's power and the pitcher's movement are mixed (plus park effects) and the chance of a home run is generated.
Gap: doubles (and sometimes triples) rate. This *does* convert singles to doubles, so higher gap won't bump your average, just make more of your hits be for extra bases. Obviously the quality of fielding and park effect adjust the rate of doubles/triples hit, but generally it's controlled by the batter's rating.
BABIP: batting average on balls in play. This batter rating, combined with park effects and fielding controls how likely the ball they make contact with (that's staying in the park) is going to be a hit.

So where's Contact? Here's the weird part; Contact is a catch-all stat that represents batting average (against a pitcher with average Stuff). It is a combination of BABIP, Avoid K's and Power (a tiny bit of power).

So if Avoid K's is already part of the Contact rating (which it is) then why does the game bother to show it?

Because Avoid K's controls how dependent the batter's success is on a pitcher's Stuff. Imagine two batters, both with Contact 60, but one has Avoid K's at 40, the other at 70. Which will hit for better average? Generally, they'll hit for equal average, because they have equal contact. But against a soft-tossing control pitcher? The one with 40 Avoid K's will generally do better because his weakness can't be exploited, which means his higher BABIP will be leveraged more. But against high-Stuff ace? The 70 Avoid K's will do better, because he's less susceptible to being struck out.

Let me give you a more practical example. I run a lot of historical simulations with teams of all eras. When you do this the game asks you for the default stat environment for the games to be played in and I use 1971, which is sort of like an average of all trends. Where is this going?

Babe Ruth is surprisingly mortal in 1971. But why? The short answer is that his batting average in 1971 is decent, but not great.

Babe Ruth is a career .342 hitter. In 1927 he hit 356/486/772 for 12.4 WAR. But he struck out 89 times, 16.5% of the time. 16.5% is a pretty good number in the modern game, but in 1927? The average strikeout rate was 8.1%. The incomparable Lefty Grove struck out only 6 per nine innings, and only six pitchers in the AL had K/9 above 4.

Babe Ruth is the classic example of a low Avoid K's but high BABIP hitter. He struck out twice as often as league average, but the combination of him making fantastic contact and the fact that pitchers in his day didn't have high Stuff meant that he could hit above 300 almost every season.

But when moved to 1971? The league average strikeout rate was 16.1%, with the strikeout ace of the year averaging north of 9 K/9. Take a low Avoid K's batter (striking out twice as often as league average) and move him to a situation where opposing pitchers strike out batters twice as much, and suddenly Ruth strikes out a looooot. And because he's striking out a lot, his average drops even though his BABIP is still incredible. And so in these historical sims, 1927 Babe Ruth usually only hits in the 270-310 range. Does he still walk a ton? Heck yes. Does he still have crazy power? Heck yes. But his average drops a lot because he strikes out so much more, and he becomes merely one of the very best batters in the league, but no longer the best of all time.

tl;dr Contact is the batter stat that controls batting average. Avoid K's is the batter stat that tells you how much this batter will suffer against dominant pitching (which becomes especially important in the playoffs).
sansterre is offline   Reply With Quote
Old 10-26-2018, 02:00 AM   #4
NoOne
Banned
 
Join Date: Apr 2015
Posts: 7,273
Infractions: 0/1 (3)
contact is just a summation of avoid k, babip and power. i think the game uses those 3 seperately as opposed together for anythign in particular. (belated edit: all 3 used, but not necessarily at the same moment in time)

k's are mutually exclusive of ball in play-related stuff. ~20% of PA will be SO, or whatever the average is for your league. no need to do math for things relating to balls in play.

some % for babip vs so, then if it is in play, what kind of hit -- power/gap/fielding etc.

think of each outcome in a matrix with an associated % based on context -- players, field, wind, everything as far as how they piece it together. only some factors are used for any one outcome.

a random value that fits a range that corresponds to the % of outomce/total range will give you a result (multiple re-use for random seed applied to different ranges of outcomes related to specific force or mixed between 2+ in one way or another etc = re-using same random seed is no problem and limitless). that's the visualization of results, not that they are using a matrix. they can slice it up any number of ways, but it has to conform to the basic concept.

exclusive forces are applied on their own, and you just end up with x*y*z=outcome in proper proportion. basic physics and a basic idea of probability and this stuff is really alot easier than you think.. i bet the core code (like for 1 PA or 1 pitch - however it is incrementally broken down) is really tiny. it's <1% of the total size of OOTP for sure. 500kb? 20-50mB for entirity of code-only? *sans players db and pictures.

i also think it's very simple because it has no physics related stuff invovled... it literally is just a % applied, no matter how fancy or how many moving parts involved to get the factors required for context. again, you can see this in a crash/restore saved mid-PA.

no calculus, no constant change needs to be modeled.

Last edited by NoOne; 10-26-2018 at 09:51 AM.
NoOne is offline   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 10:19 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 - 2026, vBulletin Solutions, Inc.
Copyright © 2024 Out of the Park Developments