Late Innings
Bottom of the ninth, down a run, three outs to get it back.
What it is
You bat. Before each pitch you can sit on a type (fastball, breaking ball or changeup), and if you called it right, your swing window opens twice as wide. Wide enough to crush it.
Call it wrong and swing anyway and you are loaded for the wrong speed: even a swing timed to the pitch he threw comes through early or late. Leave the bat on your shoulder and it is a ball or a strike, judged against a rectangle you can see.
That is the heart of it: one decision before every pitch, paid off or punished after it.
The pitcher is the puzzle
He is not random. His mix shifts with the count: behind, he comes at you; ahead, he tries to get you chasing. His mitt shows the target most of the time, and his recent pitches stay on screen, each with the count it came at.
So the read is available. It is just spread across the at-bat, and the count keeps changing what he is likely to do next.
Nothing is a mini-game
Contact is graded, not binary. On a pitch in the zone, nearly perfect timing is a home run, close is a double, decent is a single, a little off is an out, and badly wrong is a strike. A foul with two strikes keeps you alive.
It is drawn in a 3D ballpark, and every ball put in play is played out the way the game called it: the batter drops the bat and runs, and the men on base are your own hitters, each in his own number. The pitcher winds up and strides into every pitch, the crowd gets to its feet for a big hit, and a walk-off brings the whole team out of the dugout to mob you.
Still tied after three outs, it goes to extras with the outs reset. Win a walk-off and a full nine-inning game opens up, where the pitcher tires across the night, his tell gets worse as he does, and a closer comes in if it is still close.
Protect the lead turns it round: you pitch, and three outs with the lead intact is a save.
How to play
- Sit on a pitchTap a chip
- SwingTap anywhere else
- Pitch, protecting a leadTap a chip, then the zone
On a desktop, 1 2 3 pick the pitch and space swings. On the mound, the arrow keys aim and space throws.
What isn't settled yet
The read works and the grading is honest. What has not been tested is whether someone who does not follow baseball can see that guessing the pitch is the point, rather than treating it as a game about tapping when the ball arrives, which is what every other baseball game in a browser is.
Build Log
-
Build 50
The walk-off. When you win it, the team comes out: six teammates, each in his own number, leave a new home dugout on the first-base side, run to the plate and jump round the hitter with their arms up, while the catcher walks off. The picture comes back from the ball and pulls back to take them in, and the celebration holds four seconds instead of 3.2.
-
Build 49
The crowd. The stands were a mosaic of coloured tiles, one box per person. Now each of the 12,144 people has shoulders in a shirt, a head, and for two in five a cap. Seated they sway a little; when the game’s crowd gets loud they stand and bounce, a few for a single, most for a double, everyone for a home run, and sit back down as it fades.
-
Build 48
Contact. When the bat meets the ball the game holds the picture for a beat, and that beat was a frame too late: at 60 fps it held the moment 13 ms after contact, with the ball already a metre gone and the bat swinging through nothing. It now holds the contact itself, the ball on the barrel, with a flash where they meet, and the crack is heard then rather than at the tap. Nothing about the outcome or its timing changed.
-
Build 47
Plays get more time. A ball in play holds the picture 2.4 s, not 1.5, and every play is retimed to use it: the throw to first is in the glove at 1.87 s, a fly is caught at 1.85 s, the single is picked up and thrown in before the cut, a home run takes 1.9 s to leave. Strikeouts, walks and the time between pitches are unchanged.
Earlier builds (9)
-
Build 46
Hitting is harder. Your swing is judged on half the window it was, a right guess doubles it, a hit needs a closer swing, and a pitch on the black is harder to square up. A simulated batter with a fair thumb won 96% of his innings at build 45, sitting or not; now 55%, and sitting is worth sixteen points. The visitors’ swing, when you pitch, is unchanged.
-
Build 45
The pitcher pitches. He used to stand on the rubber and swing an arm; now he lifts the front knee, strides down the mound, lets go out in front and follows through square to the plate, on the game’s own wind-up clock, so no pitch’s timing changed. The ball leaves his hand 1.91 m in front of the rubber. Knees no longer show skin through the trousers.
-
Build 44
The site cover is now drawn by the 3D game: the same walk-off as the 2D cover, from low behind the batter, through a camera the game takes as an input and never sets itself. Drawing it found the wall’s distance markers half-buried in the wall where it curves toward the lines ("330" read "33"); they now lie along it.
-
Build 43
The man on first is now the man who got there. The game keeps who is on each base, moved the way it moves the bases, and the 3D puts those hitters there in their own figures. At the cut nobody pops onto a bag: each runner carries on from where he was. A walk is taken at a run, the batter dropping the bat and the forced men running up a base.
-
Build 42
Every ball in play is now played out: the shortstop gloves the grounder and throws to first, the centre fielder goes back to the track, the batter runs it out. The game had already decided all of it; the play is made from the hit it recorded and changes nothing. The camera zooms onto the play (or pulls back, on a phone, for the throw across the diamond) and cuts back exactly for the next pitch.
-
Build 41
Trophy Town’s people drawn into Late Innings at night, posed from this game’s own state. A 3D camera cannot show the zone the size the 2D does: the people are their real sizes, and the catcher sits between the lens and the plate. So the camera is fitted around what the game reads, and the game’s zone is wherever the 3D one lands, to the pixel.
-
Build 40
Between innings the park is a still picture, so it is drawn once into a layer and copied each frame: 1.38 ms a frame down to 0.42 on a desktop screen. A cache key has to name everything the picture is drawn from. This one missed the layout, and a stale park sat a pixel out of register with the players.
-
Build 25
His hands slid together through every swing: seventeen pixels apart in the stance, nine at the finish. The two grips were fractions of the bat's projected length, and the barrel foreshortens as it comes round. Hands are physical: fixed distances now, defined once and read by both the arms and the bat.
-
Build 19
The visiting hitters reached base on nearly everything they put in play. Nothing was fielding them: good contact becomes a hit, which is fair when you have earned it by hand and brutal when a machine has. A share of theirs is caught now, and only while you are the one pitching.
Credits and licences
Built on three.js, used under the MIT licence with the copyright notice retained in the shipped file. Typefaces are the ones already on your device; nothing is downloaded. Cover drawn from the game’s own ballpark and player code.
Late Innings is original work by Launchway Games.