|
||||
| ||||
|
|||||||
| OOTP 17 - General Discussions Everything about the latest Out of the Park Baseball - officially licensed by MLB.com and the MLBPA. |
![]() |
|
|
Thread Tools |
|
|
#1 |
|
All Star Reserve
Join Date: May 2004
Location: Canada
Posts: 706
|
AI issues with defensive positions and pitching roles
There are a couple of issues that popped up in OOTP16 that never got addressed, and I really hope they get resolved in OOTP17. The one relating to the AI assigning players to defensive positions is a pretty big issue, in my opinion. The one relating to pitching roles is more of an annoyance.
AI usage of unqualified defensive starters The AI has always had problems finding the optimal defence with the players it has available. Unfortunately this area is currently badly broken in OOTP16, particularly in relation to choosing starters at positions. I reported this issue in December, but it didn't get fixed in the subsequent patches. The issue relates to the AI's use of experience at a position instead of ratings. For those that might not be familiar with experience at a position, it's something that is only visible from the Edit Player screen. It appears that a player gets one point of experience for every game he plays at a position, up to a maximum of 200. Basically the AI appears to look at experience at a position almost exclusively when determining who is capable of playing a position, ignoring the player's actual ratings and ability to play the position. As long as a player as one point of experience at a position, the AI will view that player as capable of being the everyday starter or backup there, regardless of his position rating. The AI will do this even when a player is incapable of ever developing a rating at that position (i.e. he could have 200 experience at shortstop, but a zero rating at the position). This leads to absurd situations where bad fielding first basemen become everyday shortstops or centre fielders. For example, if the AI used David Ortiz at shortstop for an inning in an emergency, the AI would then consider him capable of starting at shortstop going forward. This isn't a situation where the AI is trying to teach a player a new position -- in the AI's opinion, if the player has experience at the position, he is already capable of playing there. It doesn't appear to matter that there are other players on the roster who are capable of playing the position, as I've seen the AI insert the out-of-position players into its depth charts ahead of perfectly qualified players. When a player loses his rating at a position due to aging, the game fails to recognize this and will continue starting that player at his old position as if he still had a rating there. The game won't move a player to DH or a pinch hitting role even when he no longer has the ability to play anywhere in the field (i.e. a zero rating at every position). This is particularly problematic when the player was a middle infielder or centre fielder previously. I realize that the AI will sometimes need to use players out of position, but there's no logical reason for the AI to constantly use players out of position like this. Experience shouldn't even be a consideration for the AI, as it's often unrelated to ability. As of right now, the only way to stop the AI from doing this is to manually edit a player's experience rating back to zero, but I can only do that when I catch the AI doing it. In my game, I suspect I find only a fraction of the instances where the AI does this, so there are probably quite a few AI teams that are putting themselves at big disadvantages defensively without me knowing about it. This is also quite time consuming. I don't recall this being an issue in past versions of OOTP, and it's possible it worked fine early on in OOTP16. Regardless of when this issue came up, it needs to be fixed for OOTP17. AI recognition of pitcher roles I reported this issue twice, in April and August, but it didn't get addressed in any of the patches. This mostly affects users, but it relates to the AI's ability to recognize who should be in the starting rotation and who should be a reliever. It used to be that when you would select "Ask manager for staff" the AI would automatically change a pitcher's position/role (SP/MR/CL) to reflect the role assigned on the Pitching screen. As a pitcher's stuff rating changes depending on whether he is a starter or reliever, that can affect decisions on the Pitching screen. In previous versions of the game when the AI had the ability to change a pitcher from MR to SP and vice versa, the AI seemed to recognize the difference in stuff when determining who should fill what role. It seems that the AI no longer has that ability. If you select "Ask manager for staff" it will often put players designated as "MR" in the rotation and those designated "SP" in the bullpen, based on their stuff ratings. If you manually change the MRs to SPs and vice versa to reflect their roles on the Pitching screen and then ask the manager again to assign roles, you'll get a completely different configuration for your pitching staff, despite having the exact same pitchers. The game needs to get back its ability to change SP/MR/CL roles for pitchers and recognize the impact such changes have on stuff ratings. AI teams seem to be fine in this regard. It appears it only impacts human teams when you select "Ask manager for staff". I use that menu option mostly for convenience and then make manual changes as needed, but the way it works now is much less convenient, to the point where it's no longer a particularly useful feature. This feature worked okay in previous versions, although it still had issues. The main issue previously was when you forced a player to be an SP or MR and the AI didn't agree with that decision. The player who was "bumped" would have his position/role stay at SP or MR, even if that was not his assigned role on the Pitching screen. The AI needs its ability to automatically change SP/MR/CL roles while accounting for the roles you're forcing players to be assigned to. |
|
|
|
|
|
#2 |
|
All Star Starter
Join Date: Jun 2013
Location: Maryland - just outside DC
Posts: 1,675
|
I think ( therefore everything I say is merely observation and not fact) that when they changed the code to be either GM or manager it had done unexpected affects on the AI.
I'm hopeful that since they changed the feature to allow the GM to set the line-up some of the conflict will be fixed. If not, then it's just back to manually making changes.
__________________
- - - World Series championships: 1926, 1931, 1934, 1942, 1944, 1946, 1964, 1967, 1982, 2006, 2011 |
|
|
|
|
|
#3 |
|
OOTP Developer
Join Date: Jun 2009
Location: Here and there
Posts: 16,243
|
The second issue has been fixed for 17. All teams, human and AI, now do things properly so that you should not see that anymore.
The first one, we're constantly adjusting the logic, to make sure everything is as realistic as possible. |
|
|
|
|
|
#4 |
|
All Star Reserve
Join Date: Jul 2003
Posts: 648
|
SP Problem IN a Doubleheader
Again, just had a 7 day sim ran by the Commish in a league I am in and a rainout occurred and a double header scheduled the next day. My lineups and pitching rotation matched the 7 day lineups and the vs LHP w/DH and vs RHP w/DH, Rotation was set to strict order and matched 7 day lineups. Settings were correct for 7 day lineups. I had the same Starting pitcher start both games of the doubleheader....1st game he goes 8.2 innings and second game he last two pitches and is pulled after giving up a foul ball and a single...........then gets pulled for a reliever. I had another pitcher set as an emergency pitcher that was set up as a middle reliever. Why wasn't that emergency pitcher used as a starter in the 2nd game ? This happens many times and needs to be a priority fix in OOTP17........a new way of pitching assignments for doubleheaders to avoid this from happening. Is this being addressed ?
|
|
|
|
|
|
#5 |
|
All Star Reserve
Join Date: May 2004
Location: Canada
Posts: 706
|
This is the AI behaviour that I'm referring to. This player got 75 starts at shortstop despite the fact that he 1) throws left handed (which should have been an automatic disqualifier), 2) had no rating at shortstop, 3) was incapable of getting a rating at shortstop, and 4) was horrible defensively. Somewhere along the way the AI even changed his position to shortstop.
Presumably this player was created as a corner outfielder/first baseman, but wound up being inserted into a game at shortstop out of necessity one day. Because of that one game of experience, the AI considered him capable of playing shortstop from that point forward, despite the absence of a rating at the position. This player also had 24 starts in centre field, a position he was similarly unqualified for. I think this is a flat-out bug, with the AI considering experience when it shouldn't be doing so. I can't think of any reason why the AI would be looking at experience. |
|
|
|
|
|
#6 |
|
All Star Reserve
Join Date: Jan 2004
Location: The dull edge of the blade
Posts: 867
|
As you say there is no plausible explanation or excuse for this guy to start at SS. The CF thing can be "explained" away, is not a deal breaker, but the SS thing is.
The question here that needs to be examined is if this is an AI roster construction issue (no other/poor SS options), or a manager AI issue? Any insight on this by examining the roster construction a little closer? Last edited by t-bone shuffle; 03-08-2016 at 10:58 AM. |
|
|
|
|
|
#7 |
|
All Star Reserve
Join Date: May 2004
Location: Canada
Posts: 706
|
Roster construction doesn’t appear to be a factor. In just about every case of this AI behaviour that I’ve seen, the AI team has had enough players to fill all defensive starting positions with qualified players. This is also usually the case with depth charts when the AI has an unqualified player as a backup.
I discovered the "shortstop" above during my offseason so I don't know the team's circumstances during the season. However, I ran a test with one of my minor league affiliates and I can confirm that roster construction isn’t causing this behaviour. The first screen shows the position players I have on the team and their individual position ratings. These ratings are from my scout, but he’s a good scout and I have no reason to believe they aren’t reasonably accurate. As you can see, there are enough qualified players to play each position and provide at least one backup. The second screen shows the lineup and depth chart for RHP+DH after I’ve asked the manager for all lineups and depth charts. All positions are filled with qualified players, with at least one qualified backup. I am not using Force Start for any player. I used a left handed first baseman, Romain Merle, as my “test subject.” I checked what defensive positions he would be unable to ever develop a rating at by giving him 200 points of experience at each non-qualified infield and outfield position. I was able to determine that he would never develop a rating at 2B, 3B, SS and CF. I then gave him 1 point of experience at these positions, leaving his first base experience untouched and all other positions at 0 experience. The third screen shows his defensive ratings after I edited his experience. The fourth screen shows the RHP+DH output after I asked the manager again for all lineups and depth charts, but with Merle now having experience at 2B, 3B, SS and CF. The manager assigned Merle to 3B, bouncing a player who was excellent defensively at the position. The one point of experience at 3B was the deciding factor. It’s strange behaviour. The AI clearly recognizes defensive ratings as it assigned a defensive replacement at third base, but it doesn’t seem to take those ratings into account when determining starters. As far as I can tell, it’s a player’s position rating that impacts defensive performance in-game. Experience influences the player’s position rating (if he’s capable of getting a rating), but has no actual impact once the player takes the field. I don’t have the slightest idea why the AI is looking at experience, as it seems like a completely irrelevant consideration. The AI does this regularly in my game. I imagine most people have this going on in their own leagues. An easy way to check is to do a Player Search for shortstops (or another difficult defensive position) and filter the results to include only players who have a position rating of zero at shortstop. You should find at least a few examples of corner outfielders or first basemen who have been moved to shortstop despite having no ability to play the position. This will only turn up players that have had their primary position changed by the AI, but it will at least show a few examples of players playing at unqualified positions, as well as older players who continue to play in the field despite losing their position ratings. Last edited by CobaltJays; 03-08-2016 at 06:04 PM. |
|
|
|
|
|
#8 |
|
All Star Reserve
Join Date: Jan 2004
Location: The dull edge of the blade
Posts: 867
|
Great work, thanks for the effort. I certainly hope that Markus and all are paying attention here. So certainly this seems like it is a bug.
I should have stated in my original reply that I was expecting the culprit to be poor managerial AI. The AI's failings with regards to optimizing defense, particularly in-game when substituting has been an issue for many years now. Hell I remember complaining, rather loudly, about it during beta some years back. But I'd never seen anything quite as blatant as a lefty starting at SS for 75 games. That's unacceptable under any scenario. It does make me wonder if there is some level of correlation between your findings and the AI's poor overall defense optimization? I wouldn't begin to say how easy/difficult coding a "LH never plays 2B, SS, 3B" would be, but if it's not there, it should become a priority, and while not completely eliminating this bug would definitely help. There are lots of spokes on this Managerial AI/Defense wheel, that I don't really feel like spinning right now because, IMO, it becomes a bit of a rabbit hole, with some of the issues being tied to the player defensive model itself, I believe. I suppose at this point the only real option is to wait for '17 and see if the issue reappears. Thanks again for your work here. |
|
|
|
|
|
#9 | |
|
All Star Reserve
Join Date: May 2004
Location: Canada
Posts: 706
|
Quote:
This must be an issue that cropped up in OOTP16. I remember in past years unsuccessfully trying to convert players to certain positions (e.g. some second basemen would fail to become third basemen). Those players would wind up having quite a bit of experience at their new position without getting a rating, but the AI would never try to use those players at that new position afterward. I don't understand the decision to now factor in experience when determining starters and backups, unless it was unintentional. I think removing experience from the equation would solve this particular issue, although the other AI issues you mention would remain. Thanks for the comments. Hopefully this was useful in drawing attention to the issue and finding a resolution. |
|
|
|
|
|
|
#10 |
|
OOTP Developer
Join Date: Jun 2009
Location: Here and there
Posts: 16,243
|
We made changes in 16 how teams built depth charts and lineups. It definitely helped in some cases try to optimize, but looks like we weren't putting enough penalty for defense.
We've made a few more tweaks in 17 that should improve this. Teams won't be quite so quick to see a little experience and shove a guy there, and there's another place we added a check to try to prevent a lefty from playing 2b/3b/ss |
|
|
|
|
|
#11 | |
|
All Star Reserve
Join Date: May 2004
Location: Canada
Posts: 706
|
Quote:
|
|
|
|
|
|
|
#12 |
|
Bat Boy
Join Date: Apr 2016
Posts: 11
|
Along these same lines, can you fix the defensive subs logic.
Right now, when you set your defensive subs, you can't shift a starter to another position, while bringing in a sub to take over the spot the starter was playing. You can't put a starter in any defensive sub role, or the game removes them as a starter from the depth chart. Example: Starting CF set to move to LF as a defensive sub, and new player comes in the defensive sub to CF. This is a common occurrence in baseball, just a simple positional shift with any substitution. I don't know, but I imagine it would not be that hard to update the logic for this in your next patch. You just need to allow the starter to be listed as a sub at another position, provided there is a sub first put in for the starter's position. |
|
|
|
|
|
#13 |
|
Minors (Double A)
Join Date: May 2015
Posts: 170
|
The 2016 Yankees won't play Castro at 2B. Now they've got Beltran at 2B.
|
|
|
|
|
|
#14 |
|
Minors (Double A)
Join Date: Jun 2009
Posts: 131
|
A related issue is that changing the designated position of positional players on a team (for which I am GM-only) will often result in the manager changing the depth chart. This means there is some weight being given to the player's specified position in the AI depth chart algorithm, whereas I thought that was not supposed to be the case anymore.
|
|
|
|
|
|
#15 | |
|
OOTP Developer
Join Date: Jun 2009
Location: Here and there
Posts: 16,243
|
Quote:
|
|
|
|
|
|
|
#16 | |
|
Bat Boy
Join Date: Apr 2016
Posts: 11
|
Quote:
|
|
|
|
|
|
|
#17 |
|
OOTP Developer
Join Date: Jun 2009
Location: Here and there
Posts: 16,243
|
Trust me, I'd like to do something like that. But this is one of those "what sounds easy on the surface is actually a lot tougher."
I mean, being able to list the starter as a sub at another position is easy. But to get the AI to handle that correctly makes it a challenge. The real problems don't come with a simple 2-way switch, but if you have multiple guys moving around. So if you need your CF to shift to LF, your LF to go to RF, your RF to go to 1B, and a new CF coming in, that's a lot of checks that has to happen in game to make sure they all go in the same order, and then you have extra problems if one of those defensive guys was hurt or already used, you have to figure out if you still need to do the rest of those changes (ie. it would be stupid to move the RF to 1B as a defensive sub if next in line for RF sucked defensively). |
|
|
|
|
|
#18 | |
|
All Star Starter
Join Date: Mar 2008
Posts: 1,331
|
Quote:
After the if check comes back, if all of the required players are currently in the lineup and healthy, and the players on the bench have not yet entered the game, the changes should be a bit more straightforward since everybody is available. You'd replace the defensive liability in the lineup with the sub from the bench, and then adjust the positions accordingly. And if the if check comes back and someone is injured or unavailable, then you don't make the defensive substitutions. Last edited by ThePretender; 06-07-2016 at 10:41 AM. |
|
|
|
|
|
|
#19 |
|
Bat Boy
Join Date: Apr 2016
Posts: 11
|
Thanks for the response Matt. Everything is harder to code than it seems at first, that is true.
Pretender, you have a good idea though. A conditional if check to assess the subs available at the moment, then executing the switches as long as everyone involved is actually available. |
|
|
|
![]() |
| Bookmarks |
|
|