Bryan Shaw signed with the Colorado Rockies this off-season. The middle reliever stoked some of the hottest takes in the last few seasons of Indians baseball. Some believed he should never be allowed to pitch again. Others suggested that a closer look at peripherals statistics uncovered evidence of excellence. A brave few just called him crude names, with strategically placed typos throughout their tirades.

Well, he’s gone now. For a while, I felt a bit sad. Not because he left the Indians, but because I worried I’d have no reason to do ridiculous OOTP simulations with him anymore. In the past, we’ve forced him to pitch every single inning for the Indians. We’ve made him literally every single player in the league, and sent him back to play on the Cleveland Spiders after essentially giving him Super Soldier Serum. What reason could we possibly have to torture him now?

At some point, the Indians will face Bryan Shaw this season. Why not take that to the extreme and make sure that every single at-bat by the Indians in 2018 is against Bryan Shaw?

As always, there are a few ground rules to set up here. One, it isn’t fair to the Rockies to take away one of their key signings. I elected to clone Bryan Shaw in the game editor, giving us two versions of the player. We all know that it’s the real player that must be subjected to the terrifying treatment, so I renamed the clone Bryan Shawty, gave him a mustache, and left him in Colorado. We’ll catch up with Shawty at the end of the season.

I also expanded the roster to 26 players. I did this because I knew I would have to frequently option and waive players to make room for Shaw on the roster, and this gave the AI some flexibility in return. What did the Indians do with the extra spot? Partied at Napoli’s, of course.

The real Shaw boarded a plane for Seattle, disoriented but determined to make the most of life as a Mariner. Now, for this first series there were a couple of unfortunate kinks. I forgot to set Shaw’s injury proneness to 0 on the 1-200 scale. This makes him invincible, and able to pitch indefinitely. I also forgot to force some substitution rules on the games, so Shaw accidentally won the home opener when the computer pulled him after five innings in a 2-1 game.

Settings fixed, I successfully forced him to pitch the entire last game of the Seattle series.

That’s 177 pitches for a strike, with a 26.58 ERA on the game. It gets hard to read when you have all of those digits. This looks pretty reminiscent of the “only Bryan Shaw can pitch for the Indians” league at this point. However, some truly wonderful games the crop up like this one, the home opener against the Royals. Here he is at the end of the 3rd inning, already 253 pitches and 22 walks into the game.

If this isn’t bad enough in its own right, keep in mind that the inning was delayed for an hour with one out due to a rain delay, and Shaw dutifully trotted back out, his arm mostly icy-hot by this point. This is just one of many examples I could show from the season of Shaw being pulverized.

Moving along, here was the final stat line for the Indians hitters during the home opener.

Nice.

And before you ask, no, I have no idea why the Indians AI is playing Yandy Diaz in center field. For whatever reason he has a little bit of experience at the position in his attributes, and so the AI keeps playing him there for his bat I guess. The game lasted for 7 1/2 hours. Shaw threw 491 pitches, issued 45 walks, allowed 8 home runs, and somehow managed to strike out Lonnie Chisnehall and Brandon Guyer once each. The game notes in of themselves are hilarious, as it’s essentially a recording of every record being broken and re-broken for single game statistics in an American league game.

One of my favorite occurrences in the post-games is when it would detail the player-of-the-games exploits. On more than a few occasions that recap would rad something like, “Yonder Alonso hit a home run in the 1st, a double in the 2nd, walked in the 3rd, walked in the 3rd, walked in the 3rd, walked in the 4th, hit a GRAND SLAM in the 4th....” and so on.

I quickly realized that the Indians might end up in a bizarre situation where the total WAR accumulate by their position players would exceed 162. The stats would be so good that technically, this team should be capable of winning more games than exist on the schedule. Would the pythagorean wins adjust, giving them an expected record of 256 — -94? Sadly, this didn’t break. The game just reported the expected record as the actual at the end of the simulation.

I also made sure to keep tabs on the team morale and durability throughout the season. In reality, if a team kept playing eight hour baseball games, they would eventually wear themselves down, get hurt due to simply having more chances to do so, and get pissed as hell for having to be at the ballpark pretty much all of the time. What would they tell their wives? “Honey, I’m sorry that I never see you anymore. It’s just that we keep hanging four dozen runs on Bryan Shaw and there’s nothing we can do about it. The Commissioner said we’re not allowed to sandbag at all! No, don’t hang— — up. Sigh.” It’s safe to say that they all felt pretty good about themselves despite playing for six hours a day or so.

The season dragged on. Since simulating entire games causes the AI to intervene and pull Shaw from the game, I needed to simulate each at-bat. This amounted to holding down the enter key with the game on instant outcome mode, but on top of documenting insanity and shuttling Shaw around the league, the time started to add up for me, too. Would I be able to handle my sanity torturing the poor virtual soul of Bryan Shaw again? Was I descending into madness and blind to the role I’d slipped into, as if the Stanford Prison Experiment was run by a sabermetrician?

Like Phillip Zimbardo, I, too, failed to see my experiment to completion. The simulations took so long. First, it takes a long time for a team to plate 40 runs, even simulating the game at maximum speed. Second, I had to manage every game manually, one at-bat at a time. This meant that the total time spent simulating games for this ran in the neighborhood of fifteen hours. If I didn’t do it this way, the AI would yank him from the game the first opportunity that they got. I can’t blame them. These are the actual simulated velocities of Shaw’s pitches in late June.

Now, I know this last one might seem a little bit unusual. 255 MPH? HOW? What this tells me is that OOTP is using 8-bit integer something-or-others for its pitch velocities, since 255 is the highest value that it can hold. In other words, the game simulated Shaw throwing a pitch of -1 MPH due to his fatigue, the value overflowed, and it displayed as the fastest possible. Evidently the game still understood that the pitch wasn’t actually a third of the speed of sound, otherwise Mike Napoli and the catcher would probably be dead, their corpses filled with maple shrapnel.

Before I get to the final numbers, I do want to point out that I occasionally made mistakes. Once, I accidentally clicked “simulate inning” against the Astros, meaning the AI yanked him. I penalized the team accordingly.

I also accidentally simulated a game later in the season, which the Indians lost 4-5. Hence, they finished the first half of the season with a record of 92-2. Just shameful.

If you think clinching home field advantage before the All-Star break is crazy, consider the starting lineups for the actual All-Star game.

Oh dear. Just how bad did things turn out for our poor friend Bryan Shaw?

Indians’ Final Offensive Numbers

That’s right: Yandy Diaz hit six home runs.

Other highlights include 51 dingers for Edwin Encarnacion, a 70-game hitting steak by Jose Ramirez, and Michael Brantley posting a pathetic OPS of 1.369. Let’s get real, Michael - Babe Ruth in 1920 was better than you, and he didn’t have the advantage of 18 MPH fastballs. Do I need to know what Babe Ruth would do against zombie-armed Bryan Shaw now? MAYBE.

I also find it hilarious that most Indians starters managed to have as many plate appearances in half of a season as they would in a normal, not Shawified season. They also accumulated 196.3 WAR, but won only 92 games. Just a pathetic bunch of slackers. And how in god’s name did anyone get caught stealing when pitches were practically rolling to the plate?

Finally, we must review the statistics of our subject.

Bryan Shaw’s final statistics

Man, there’s a lot to like about this. First of all, 764 innings pitched. The man may not even throw that many in his actual career; he’s sitting at 455 right now. He also recorded 110 strikeouts — a career high! Whatever consolation it might give him, the peripherals really thought he was better than the traditional statistics. His FIP was only 17.51, and he induced 167 double plays. And you know what? That’s pretty impressive for a man who just threw 28,764 pitches in 108 days.

Before we wrap up, we need to take a look at Bryan Shawty, our clone friend. This is more or less the control; our version of Shaw who can still feel something.

This is... pretty good, actually. Except, what’s this? Did he miss a few games somewhere along the w—

Pfft. Try throwing almost 30,000 pitches in three in a half months, you schlub.