JackB
March 31st, 2008, 09:44 PM
I thought I'd try to do some experiments to find out if accurate pitch sliders were possible. Early indications are a perfect slider setting for offline AI play is not possible. Here's why.
Here are some real world numbers you'll need to know to begin.
---------------------
Avg Strike per Pitch Ratio for MLB pitchers = +/-63% strikes on average.
Avg Umpire Strike called per Pitch on pitches not swung at = +/-53% on average.
The delta between 63% and 53% are balls swung at and either hit or missed. MLB players swing at balls sometimes and so do we! :D
---------------------
I've learned that the MLB 2k 08 AI pitchers do not consider how often a given batter or team has been swinging at pitches during a game. The pitcher just continues to pitch to their own tendencies depending on pitch count and situation and don't figure out what's actually happening during the game.
Real life pitchers don't work this way.
Here is an example of two pitchers. Brad Penny and Justin Germano. Brad Penny has a control rating of 79 and Justin Germano has a control rating of 64.
I looked at the first 7 real world starts in 2007 for each pitcher.
------------------------------------
Brad Penny - Pitches, Strikes, Strikes per Pitch Ratio
85 53 62%
107 64 60%
101 64 63%
107 64 60%
85 51 60%
95 55 58%
110 76 69%
-------------------------------------------------
Justin Germano - Pitches, Strikes, Strikes per Pitch Ratio
95 62 65%
83 49 59%
92 59 64%
86 56 65%
98 60 61%
69 47 68%
100 67 67%
---------------------------------------------------------------
You'll notice the a top ace starter, Penny with good control looks almost identical to a number 5 pitcher in terms of strikes per pitch. Both are about the standard 63% number.
Why is that? Well, it's because all MLB pitchers can throw strikes. They work around some batters and not others. They are more likely to throw a strike when behind in the count and less likely when ahead. At the end of a game it often evens itself out, so that it's almost always in that 63% range.
The pitchers that walk more batters miss more often on the money pitches with 3 balls. If either pitcher wasn't facing a batter and was just asked to throw strikes, they'd all be at 90% or more. A large percentage of balls pitched are on purpose.
Understanding this concept is important in understanding what can be done with AI pitch control sliders and how they work.
My goal was to have about 53% strikes thrown by most pitchers. Ideally the better pitchers would pitch strikes on 3 ball counts, but the weaker would miss. If the sliders just make everyone less accurate for all pitches on all counts, then some of the weaker pitchers would drop below 53% strikes and I wouldn't need to swing at all. Especially with the weaker hitters, so it's a real balance. Strikes can't drop much below 53% or it's disaster.
I decided to set AI Strikes Overall, AI Strikes Ahead and AI Strikes Behind to Zero and play a few games without taking a single swing. I figured if I could get the pitchers to throw about 53% strikes then when I started swinging if I was reasonably good at judging balls, I'd up the percentage a bit to 63% and I'd now have and accurate simulation of the batter/pitcher duel with the pitcher working the count properly. I'd have roughly the correct amount of walks and 3-2 counts etc.
Here are my results with Brad Penny and Justin Germano and the 3 AI pitch sliders set to zero.
Here are the two games with Brad Penny. Control 79 Stamina 84
Brad Penny Game 1
Pitches 82
Strikes 48
Strikes per Pitch 59%
Walks 5
Brad Penny Game 2
Pitches 88
Strikes 49
Strikes per Pitch 56%
Walks 3
Strikes per pitch were close to the 53% I was shooting for, but walks were really high. He went about 6 innings in both games, which means about 5 to 7 walks per 9 innings and Penny should have 2. They would probably drop if a batter was swinging, but it's still high. What's also concerning is that in real life he would have figured out no one was swinging all game and thrown 90% stikes, but I can live with the results.
Now here are the Justin Germano results. Control 64, Stamina 82.
Justin Germano
Pitches 80
Strikes 34
Strikes per Pitch 42%
Walks 9
This is a problem. Justin's strikes per pitch is horrible. He got 7 batters out (all strike outs of course) and walked 9 batters. That's an OBP of .562. If I knew I could get an OBP of .562 with any batter the 1,5,6,7,8,9 batters would never swing. I'd probably swing a bit with 2 through 4, but that's just not going to work.
What needed to happen was that both pitchers should have had the same strike percentage just like in real life, but Penny would pitch more strikes on the 3 ball counts than Germano and get less walks as a result. Germano would walk 4 batters per 9 innings instead of 2, but he walked 9 in 2 1/3 innings! That's over 30 per 9 innings of work. Yikes!
Anyway, the AI pitch sliders just cause more balls to be thrown, which isn't the answer. It's somewhat of a fix, but it's fundamentally broken. I'm going to try see about adjusting individual pitcher ratings, but I'm not optimistic. I think online human pitchers are the only answer, once we get the patch anyway...
I do love this game, but this experiment was disappointing. :(
I may go back and just adjust the AI strikes when behind, but I'm afraid they'll just throw too many strikes without dropping the other settings. I'll give it a try though.
I'd also like to take a look at AI batters swinging at first pitches and/or stikes in general. I believe 2k Sports has them taking too many swings at strikes in order to shorten games as well. Too many strikes by AI Pitchers and too many Swings by AI batters messes up the sim qualities of offline franchise leagues. Oh well.
Here are some real world numbers you'll need to know to begin.
---------------------
Avg Strike per Pitch Ratio for MLB pitchers = +/-63% strikes on average.
Avg Umpire Strike called per Pitch on pitches not swung at = +/-53% on average.
The delta between 63% and 53% are balls swung at and either hit or missed. MLB players swing at balls sometimes and so do we! :D
---------------------
I've learned that the MLB 2k 08 AI pitchers do not consider how often a given batter or team has been swinging at pitches during a game. The pitcher just continues to pitch to their own tendencies depending on pitch count and situation and don't figure out what's actually happening during the game.
Real life pitchers don't work this way.
Here is an example of two pitchers. Brad Penny and Justin Germano. Brad Penny has a control rating of 79 and Justin Germano has a control rating of 64.
I looked at the first 7 real world starts in 2007 for each pitcher.
------------------------------------
Brad Penny - Pitches, Strikes, Strikes per Pitch Ratio
85 53 62%
107 64 60%
101 64 63%
107 64 60%
85 51 60%
95 55 58%
110 76 69%
-------------------------------------------------
Justin Germano - Pitches, Strikes, Strikes per Pitch Ratio
95 62 65%
83 49 59%
92 59 64%
86 56 65%
98 60 61%
69 47 68%
100 67 67%
---------------------------------------------------------------
You'll notice the a top ace starter, Penny with good control looks almost identical to a number 5 pitcher in terms of strikes per pitch. Both are about the standard 63% number.
Why is that? Well, it's because all MLB pitchers can throw strikes. They work around some batters and not others. They are more likely to throw a strike when behind in the count and less likely when ahead. At the end of a game it often evens itself out, so that it's almost always in that 63% range.
The pitchers that walk more batters miss more often on the money pitches with 3 balls. If either pitcher wasn't facing a batter and was just asked to throw strikes, they'd all be at 90% or more. A large percentage of balls pitched are on purpose.
Understanding this concept is important in understanding what can be done with AI pitch control sliders and how they work.
My goal was to have about 53% strikes thrown by most pitchers. Ideally the better pitchers would pitch strikes on 3 ball counts, but the weaker would miss. If the sliders just make everyone less accurate for all pitches on all counts, then some of the weaker pitchers would drop below 53% strikes and I wouldn't need to swing at all. Especially with the weaker hitters, so it's a real balance. Strikes can't drop much below 53% or it's disaster.
I decided to set AI Strikes Overall, AI Strikes Ahead and AI Strikes Behind to Zero and play a few games without taking a single swing. I figured if I could get the pitchers to throw about 53% strikes then when I started swinging if I was reasonably good at judging balls, I'd up the percentage a bit to 63% and I'd now have and accurate simulation of the batter/pitcher duel with the pitcher working the count properly. I'd have roughly the correct amount of walks and 3-2 counts etc.
Here are my results with Brad Penny and Justin Germano and the 3 AI pitch sliders set to zero.
Here are the two games with Brad Penny. Control 79 Stamina 84
Brad Penny Game 1
Pitches 82
Strikes 48
Strikes per Pitch 59%
Walks 5
Brad Penny Game 2
Pitches 88
Strikes 49
Strikes per Pitch 56%
Walks 3
Strikes per pitch were close to the 53% I was shooting for, but walks were really high. He went about 6 innings in both games, which means about 5 to 7 walks per 9 innings and Penny should have 2. They would probably drop if a batter was swinging, but it's still high. What's also concerning is that in real life he would have figured out no one was swinging all game and thrown 90% stikes, but I can live with the results.
Now here are the Justin Germano results. Control 64, Stamina 82.
Justin Germano
Pitches 80
Strikes 34
Strikes per Pitch 42%
Walks 9
This is a problem. Justin's strikes per pitch is horrible. He got 7 batters out (all strike outs of course) and walked 9 batters. That's an OBP of .562. If I knew I could get an OBP of .562 with any batter the 1,5,6,7,8,9 batters would never swing. I'd probably swing a bit with 2 through 4, but that's just not going to work.
What needed to happen was that both pitchers should have had the same strike percentage just like in real life, but Penny would pitch more strikes on the 3 ball counts than Germano and get less walks as a result. Germano would walk 4 batters per 9 innings instead of 2, but he walked 9 in 2 1/3 innings! That's over 30 per 9 innings of work. Yikes!
Anyway, the AI pitch sliders just cause more balls to be thrown, which isn't the answer. It's somewhat of a fix, but it's fundamentally broken. I'm going to try see about adjusting individual pitcher ratings, but I'm not optimistic. I think online human pitchers are the only answer, once we get the patch anyway...
I do love this game, but this experiment was disappointing. :(
I may go back and just adjust the AI strikes when behind, but I'm afraid they'll just throw too many strikes without dropping the other settings. I'll give it a try though.
I'd also like to take a look at AI batters swinging at first pitches and/or stikes in general. I believe 2k Sports has them taking too many swings at strikes in order to shorten games as well. Too many strikes by AI Pitchers and too many Swings by AI batters messes up the sim qualities of offline franchise leagues. Oh well.