Playball – Watch MLB games from a terminal
(github.com)273 points by ohjeez 15 hours ago
273 points by ohjeez 15 hours ago
There are also fans who record what happens in baseball games purely for their own enjoyment.
https://en.wikipedia.org/wiki/Baseball_scorekeeping
https://www.reddit.com/r/BaseballScorecards/
https://www.reddit.com/r/baseball/comments/1lzpwrq/reasons_i... / https://www.reddit.com/r/baseball/comments/68qdm9/people_who...
I've been using these for about... 20 years or so.. https://www.reisnerscorekeeping.com/
I see these folks at giants games sometimes, they usually have a little mini golf pencil and a clipboard or something.
AI Commentary seems fun, especially when you can choose different personalities, biases, etc.
It’ll be a while before it can replace a true play-by-play announcer, but with seven second TV delay it’s maybe close to feasible.
The Finals is a video game with AI voiceover for its commentary, and it’s pretty engaging. I’d expect to see this in FIFA soon if it isn’t there already.
Yeah baseball scorekeeping is an interesting part of the game.
Is it fun to get paid to watch baseball or does the constant live updating take the joy out of it?
I scored for my son's Little League game last weekend, and it was a stressful experience. Mainly because I had never used the app before, it was also somewhat tedious, as I had to update positions every half inning. I wish it were all pre-loaded, as that would have significantly reduced my stress. It was nice being the person everyone asked what the score was all the time, as no one else was paying as close attention to the game.
The hard part about scoring little league is the rules are different and, in my experience, the apps don't account for it. So you just gotta flub it in some way to make sure you record the important bits.
A big one is pitch counts. That should absolutely be correct for safety. But if you're at an age where it goes kid pitch -> coach pitch, you gotta figure out a way to do this and keep an accurate total.
It's this company [1].
They pay people to watch every play of every game and apply a formula that grades the relative difficulty in order to develop their advanced statistical models.
Some of this stuff has been automated, but a lot still hasn't and still relies on the "eye test".
Thats one of several companies.
I would be curious to see how automated this stuff is now with computer vision but I doubt its mostly automated.
This was an old timey job of my pop....covered all the local minor league baseball games .
My first thought of this app is that it would just show a filled in version of a scorecard in person - one of the first hobbies of mine
https://upload.wikimedia.org/wikipedia/commons/8/84/Lee-rich...
Ubiquitous sensors have probably automated out many aspects of this. NFL players now have tracking beacons which must make some assessments trivial (what players were on the field?)
I wonder. I suspect there is enough messiness that most of it cant be yet but who knows.
What an awesome project at just the right time.
I love baseball and I love that the hacker culture seems to love baseball too.
I read that part of baseball's decline from the premiere American sport was due to its outdated revenue model (strict reliance on ticket sales). The NFL in 80s really embraced TV and reached more fans and here we are. MLB has been recently way ahead of the curve on streaming (MLB.tv, AWS StatCast etc).
I hope projects like this contribute to baseball regaining popularity
I just wish MLB and its broadcasters weren't pushing gambling so hard. It's ridiculous and bringing so much toxicity to the sport.
I fully support sports gambling being legal but holy shit, the legalization of sports gambling in the USA had such a terrible effect on sports coverage.
I have not watched the MLB in a while so I don't know specifically what you are talking about but I can imagine.
There is an ad for a sports book on screen no less than 50% of a broadcast, not including ad breaks, for the majority of teams. Either it's an ad behind home plate, a jersey patch, the broadcasters themselves reading the latest odds, or a combination of those and more. It is absolutely insane.
Sports gambling should be legal. But only in-person. No apps or websites.
Gambling advertising should be completely banned. Gambling is a zero-sum activity. Actively promoting it benefits no one except the betting house.
I was just having this conversation with friends a few days ago. We do still watch games, but we all used to also watch sports news/talk shows (e.g. morning pre-football coverage, SportsCenter, and the like) and most of us have stopped. Some of the shows are now exclusively focused on betting.
I'm all for consenting adults to be able to legally place wagers at outlets that are not swindling them, or offering the kinds of loans that could get a person's legs broken.
But I'm so tired of ALL THE COVERAGE being about betting. It was more fun when the coverage was mostly sports, and Al Michaels had to sneak in the odd mention of what the point spread was for a game he was broadcasting.
Even my friends who enjoy gambling don't like the media coverage of it. I guess we're not a representative sample.
in addition to what Jeremy said, some broadcasts even show the betting line or chances for certain things to happen as the inning is being played (like what are the chances a player hits into a double play or hits a home run, etc.) specifically for the betters.
I'm not saying this isn't happening, the fact that the RSNs are (mostly?) owned by betting companies does not help.
But, anecdotally, my local (Angels) broadcasts don't talk about it at all. I listen to MLB Radio, and their day time shows barely touch on it (I'm pretty sure there's a odds making show on the radio, but not during prime time in the day).
MLB Network on TV, I do not see it in their main shows. MLB Central doesn't (I don't think, I'm honestly not a regular viewer) really touch on it. MLB Now doesn't, nor does MLB Tonight or Quick Pitch (their overnight highlight show).
There's ads, there's ads in the stadium (big BET MGM sign in Yankee stadium, for example).
So, anyway, on the periphery, it's certainly there, but the shows the MLB seems to put their brand on, I'm not seeing that much of it.
The closest I've see is on the Apple TV broadcasts where they might put up a "28% chance to get on base" in the corner for a batter. Interesting, perhaps, statistic, but I don't know that it necessarily encourages betting.
Unfortunately the future of sports media is ownership by parent companies that also own sports betting sites. The yearly revenue of the largest gambling sites in the US rivals the combine revenue of the MLB, NHL, NBA, and NFL, and some major sports coverage media outlets.
Penn entertainment for example acquired Barstool Sports and The Score, and entered into a 10-year deal with ESPN to create ESPN-bet, for cash and a stake in the company. ESPN is now directly invested in the gambling industry.
It's interesting to watch as an international viewer. Sports gambling here has been legal forever and although we get betting company ads during commercial breaks (and some sponsorship stuff) the US has managed to legalise it and make it toxic almost instantly. Commentators and pundits should not be giving odds on air (with rare exceptions). Pundits shouldn't be giving 'their' betting picks. The problem isn't gambling - it's the excess to which it's been implemented.
I think streaming is part of why I DON'T watch baseball. The DTC streaming package for my local team is $20/month. Baseball is something that I would flip on the local team and watch after work passively. The value just isn't there for $20!/month.
I also think it has a huge negative impact on youth interest in baseball. I personally got into baseball as a kid because my father would do the same - get home from work and turn on the game because it was on OTA TV. How are you getting kids interested in the sport if they can't even watch because the parents don't want to fork over that cost? Huge ripple effect. The RSN's which typically carry a vast majority of local baseball games (mlb.tv is blacked out for local markets) bet big on streaming and lost a ton of money[1]. They, in turn, attempted to gouge the remaining dedicated fans at an inflated cost. I already pay $82/month for YoutubeTv. If it's not on there, I just won't watch - in turn, I also go to the ballpark less and really don't keep up with the local team at all.
[1] Bally Sports (Diamond Sports Group) 2023 Bankruptcy
Root Sports in Seattle started streaming this year at $20 a month. We haven't been watching baseball in recent years because we don't have cable or OTA TV. Root Sports Streaming at $20/mo was a bargain, and it turned out everyone in the family (Mom, Dad, two adult sons) was totally onboard. And of course it was a great year to catch all the games.
And now the Mariners are closing down Root Sports and putting their TV on MLBTV next season. I hope they don't price us right out of baseball again.
You won't be priced out if you were already fine with paying $20/mo. You will be blacked out. The MLB package doesn't include local markets. All of WA and OR are "local" for the Mariners. I think ID and MT are as well.
A terrible way to run a sport. Fortunately, the Tigers are my favored team but it would have been nice to see some Mariners games this year too.
I get why people say its boring but I love it as well. I don't follow it anymore really and if I tune in randomly I feel similarly - it seems boring. It just takes some exposure before you can appreciate it. The emergent narratives within games, series, and seasons is really special.
Baseball is the perfect sport for our modern screen in hand times. Lots of down time to interact with your phone and any non-routine play will be shown on replay if you don't look up in time.
Football works pretty well for this too. Hockey and Basketball require attention.
As an international fan of several US sports MLB are miles ahead on streaming. I can access every single game through their in-house streaming service. Live or on demand. I can pause, skip ahead in-between innings, choose TV or radio commentary. I can watch on my computer, TV, phone, web. They even had a cool experimental Vision Pro app. The NBA isn't too far behind these days. The NFL was good but they've started selling their own in-house streaming rights to national broadcasters internationally so I've went from their decent in-house service to a pretty terrible third-party one.
I for one wish it would go further. Despite being in Austin, I often can't watch the Astros - as if I'm going to drive a six hour round trip to go to every game otherwise - without subscribing to some channel which is inevitably only available with companies I don't want to do business with. I'd happily pay ~300/yr for a streaming subscription that gets me all those games though...
Baseball's biggest issue is that their biggest teams are also co-owners of their cable channels (and were trailblazers in this, with the Yankees and the YES Network). They don't care if you go to the game, they want you to get a cable subscription that has your local RSN, ESPN, TBS, your local FOX affiliate, and FS1 so that you can watch your team play. And that's not including games that may wind up on streaming platforms.
The post you replied to included this:
> I read that part of baseball's decline from the premiere American sport was due to its outdated revenue model (strict reliance on ticket sales). The NFL in 80s really embraced TV and reached more fans and here we are. MLB has been recently way ahead of the curve on streaming (MLB.tv, AWS StatCast etc).
I'm _hoping_ (although numbers don't seem to be showing it as a huge success as of yet) is that the Apple-MLS deal works well enough that other leagues are at least open to the idea of a no-blackout, all-inclusive package.
I hate the AppleTV thing for baseball. I pay for the MLB.TV package yet those games aren't included unless I also buy an AppleTV subscription.
College football is going the same way with ESPN and FOX properties on cable/streaming but also needing Peacock, Paramount+ and I think AppleTV next season.
For MLS the deal has been pretty good I think. Mainly because everything is all in one place.
Yeah the out-of-market-only rules of the national sports subscriptions is really goofy. I guess they’re trying to protect the Comcasts of the world who own a lot of those regional sports networks where the baseball games are shown, because they pay a lot for those deals and would probably refuse to pay as much if MLB let MLB.tv have them. But it still sucks.
That's my biggest complaint as well. The MLB streaming service needs to have an everything tier. I understand that teams want to sell rights locally, but figure it out. Charge me whatever you need to charge me and share the revenue with the local team. Just make it easy for me to watch!
I too live in Austin and I watched more Toronto Blue Jays, SF Giants, and LA Dodgers games than Rangers games this year.
I'd happily pay ~300/yr for a streaming subscription that gets me all those games though...
If you can get along with audio only, Sirius has a subscription that includes every MLB game.
AFAIK, the MLB.tv subscription includes full audio for every game, including in-market games.
My understanding of the issue is that MLB sold off the TV rights to local games years ago to the RSN (Regional Sports Networks) and the contracts have yet to expire. Rumor has it that around 2028 or so, they will try to rein them back in.
https://www.nytimes.com/athletic/5933299/2024/11/19/mlb-plan...
They're already doing so. There are a number of teams (six, eight? something like that) that already have local coverage packages with MLB, and Seattle is joining the crowd next year.
I always thought the sharpest declines were around steroids and the 94 strike.
https://news.gallup.com/poll/4735/sports.aspx
The data shows that the biggest drop was around the 60s. This is probably due to TV. The strike looks like it had some effect and the steroids era not much.
I think baseball needs more national stars. People like Ohtani and Judge, but they are not on the level Ken Griffey, Jr. was in 93-94. None of them reach the level of Mahomes or Manning either.
I love plaintextsports for baseball already. Baseball is a game that serializes to text very well (and radio) vs other sports. Bringing it to the terminal is cool too.
Yeah Im just now realizing how the baseball scoring conventions are basically a DSL for a baseball game. There is a standardized way for expressing what happens in a game. I wonder if this has been leveraged in any interesting programs.
here is an example inning:
K | 6-3 | BB | 2B (RBI, R1-H) | F8
Retrosheet is a project which reconstructs historical baseball games from old newspaper accounts, scorescards purchased at estate sales, and other means. They actually have an ASCII scorecard format:
https://www.retrosheet.org/eventfile.htm
Originally to parse these out people used MS-DOS utilities written by the guy who made the Diamond Mind Baseball game. There's a more modern set of utilities called Chadwick now so you don't have to use DOS.
There's a standardized way to express what is happening in the game too- you'll often hear on the radio and television broadcasts the play that just happened using numbered positions on the field. 1 is pitcher, 2 is catcher, 3 is first baseman, 4 is second, 5 is third, 6 is shortstop, etc. so you'll hear something like "6-4-3 double play" which means the ball was fielded by the shortstop (6), thrown to the second baseman (4) for the first out, then to the first baseman (3) for the second one.
Makes it easy to visualize the game if listening on the radio.
When I coach my youth teams, I always list their positions by number. I derive some minor benefit from doing that, but I'm also hoping that by having them learn the position numbers, it will make it easier for them to enjoy audio broadcasts of baseball games. There's a special kind of fun in listening to those.
I think we are saying the same thing. This is the same as scoring the game they are just saying it out loud. Maybe my example didnt pick the most illustrative details.
Yeah, you can see the statsapi.mlb.com endpoints in the files of the features folder.
> I misinterpreted "watch" completely different
(profile bio) > I’m Josh; from Minnesota
Say no more.
Neat. I always envision that fans of a particular sports franchise use these text descriptions to reconstruct the game in their minds in the same way that people who play blindfold chess [1] do.
Related:
Playball: Watch MLB games from the comfort of your own terminal - https://news.ycombinator.com/item?id=37591070 - Sept 2023 (1 comment)
Playball: Watch MLB games from the comfort of your own terminal - https://news.ycombinator.com/item?id=21653981 - Nov 2019 (42 comments)
One word:
Cricket
One of the many standout features of a sport that already includes:
- being famous for taking five days to play and often ending in a drawer;
- where a major component of play is the nature and timing of the ball falling apart; and
- where regular fielding positions have names like silly mid on, third man, cow corner, and square leg,
…is that since time immemorial cricket has had a symbiotic relationship with another deeply weird pastime, the art of cricket scoring, namely the erudite process of keeping track of the score:
https://preview.redd.it/englands-first-innings-scoresheet-v0...
"Your Web browser is Ronald Reagan."
-- Neal Stephenson
<https://www.azquotes.com/quote/783529>
<https://hackneys.com/docs/in-the-beginning-was-the-command-l...> (PDF)
(Play-by-play...)
For others interested in the space there are a couple of other MLB TUI programs out there.
mlbt: https://github.com/mlb-rs/mlbt gomlb (self plug): https://github.com/AxBolduc/gomlb
I also know of NBA CLI (https://github.com/dylantientcheu/nbacli) for the NBA but last I checked it was having issues with changes to the NBA API.
MLBT is terrific. Seems better than playball. I like having it open on a second screen.
This is really cool! Would it be possible to fork this and do it for the NBA?
Maybe? ESPN has an unofficial API: https://github.com/pseudo-r/Public-ESPN-API
This is awesome. One of the great outcomes of the datafication of baseball is the timely availability/accessibility of game info.
This is great. I’m working on something similar for tracking college football games from the terminal. Right now it just shows a List of active games with minimal navigation. lots of great inspiration.
Very cool. I may just cancel my Fubo subscription and switch to this (Fubo has the glitchiest, buggiest, slowest video player I've ever seen)!
If this interests you, then maybe you will find undercut-f1 interesting too. https://github.com/JustAman62/undercut-f1
Beautiful.
Does something similar exist for f1? Or soccer?
I was just thinking about this for F1 - someone mentioned plaintextsports but it doesn't seem like F1 is there.
Already thinking about the ways you could represent a race with a text[^1], could be a very interesting project but not sure if there's any APIs.
[^1]: Baseball for example: https://news.ycombinator.com/item?id=45453733
Sure, there's a few live text commentaries e.g. https://www.motorsport.com/f1/live-text/f1-azerbaijan-gp-liv... . Not quite in a standard format, though...
Lights out and away we go. Max Verstappen wins the Grand Prix!
Gridiron football would probably work well for something like this: each play has a line of scrimmage, yards gained or lost, and a summary of the play (eg: from their own 47 yard- line, QB#3 threw a lateral to RB#8 with 3:08 remaining in the third quarter and gained 2 yards and was brought down by DT#10). Most importantly, there are defined "plays" that run from snap to down, which means you can summarize it.
NBA play would be very different and very difficult, because there are no defined plays, only possessions. It'd include relative locations on the floor (lane, 2pt area, 3pt area), list of players who touched the ball, and what the outcome was (2pt, 3pt, turnover, out-of-bounds, etc).
They have this (with a slight delay) on NFL.com and ESPN. Not sure if there's a public API for it tho.
I saw it mentioned elsewhere in these comments, but plaintextsports.com is my goto for live sportsball stats
This is great! Thanks!
Years ago, I wrote something based on this same premise, mostly just to experiment with Golang: https://github.com/jimt1234/mlbcli
Would love to see this as a Telnet or SSH service so I don't have to install npm for something I might only use once.
EDIT: Nevermind, I found one downthread: https://github.com/mlb-rs/mlbt
The obvious next step is to train a model to turn these detailed updates into realistic live-action video.
Of course, the obvious step after that is for MLB to shit a brick and shut down the API.
Perhaps not posting the “here’s how to destroy a nice thing” ideas, which makes them more widely known and thus more likely to be created by someone, would help reduce the incidences of “nice thing destroyed”. That next step towards destruction is never quite as obvious to everyone as you think. Sure, a few people have probably thought of it, but odds are they won’t do anything about it. Sharing them widely like this is like leading a flash mob to hold up lightning rods in a thunderstorm and saying “it would be such a shame if lightning struck one of us”.
It seems like MLB themselves have been experimenting with this. On their website, they have a feature called "gameday" that animates the game. For a while now they've had a 2d view, but now they also have a 3d view that you can switch to.
It is buggy as hell, but neat that you can move around the field and watch player movement off the ball. But there are a ton of glitches, like players getting frozen or duplicated, batters, umps, and catchers getting swapped (funny to see the ump at bat), and mixups with mount visits. In time, I can imagine this as a great way to watch though. Especially for novice players and fans learning the game and trying to figure out things like who should back up which throws in which situations etc.
It would be neat to recreate early radio, where a broadcaster would get a play-by-play over the wire and then announce it as if watching it, complete with sound effects. It was one of Ronald Reagan's early jobs.
That is an interesting idea. And that sounds quite doable.
Not sure about TOS but would be a natural fit as a twitch channel.
> The obvious next step is to train a model to turn these detailed updates into realistic live-action video.
Wasn't obvious to me- sounds like you've got an idea that might be fun to pursue.
"Just because you can, doesn't mean you should"
- Everyone's favorite chaotician
Totally anecdotal, but there are people who literally get paid to watch games and record what happens at every step. I used to have that job. This is how MLB, ESPN etc. have live updates which powers stuff like this.