Always love to see new baseball visualizations. Not necessarily a big fan of AI art, but it's cool how dynamic it is. Some constructive criticism: I think using a real pixel font and maybe writing a deterministic downsampling algo for the images instead of relying on AI would go a long way to make this look better.
Not to hijack your thread but in case anyone's interested in a physical scoreboard built on top of the same APIs using Raspberry Pis, I have a project as well. We also support software emulation if you don't want to buy parts.
I was somewhere recently where the World Cup games were on the TV, but the current score was also on what appeared to be a split-flap board mounted to the wall. Seeing your post had me look up commercial availability of these (it seems they exist, but are pricy). Serving up baseball scores in that kind of display would be pretty cool.
I don’t watch baseball (maybe a couple games a year), but I think it could use some sound / audio, so you can have it running while doing something else.
IDK if there’s an easy way for the average person to get a live audio broadcast feed from games, so maybe your target market would be listening to that instead.
I’m thinking it could use some sound effects, for balls, strikes, hits, etc. I only tuned in for a couple pitches and then it was between innings, so maybe the more significant events already have something, and I just wasn’t patient enough to experience them.
I was looking away when the last out of the inning happened (or maybe changing views?). Is there a display of what caused the out, and maybe an animation of the fielders coming into the dugout, or does it flash up the “between innings” screen pretty quickly?
It might be nice to have a significant event summary available somewhere. It feels hard to believe that this would catch someone’s attention well enough that they’re watching the whole thing, and without audio cues / replays, I know I wouldn’t be interested in watching it for any length of time.
Couldn't find a live audio broadcast to embed, but that would be ideal. Will add some sound effects soon, and also like the idea for key plays/events recap in case you miss anything.
I'd love to see you grab the sound effects from something like the Super Batter Up for SNES. Somehow I think Bandai Namco is not monitoring the Internet for those samples -- at the very least MLB will be coming to ruin things before that happens anyway.
I can still hear those sound samples in my head, they have voice samples for:
Play ball! Foul. Strike. Y'rOUT! Out. Safe! Home run!
Oh, and the ending bars of the US and Canadian national anthems. Which you could totally play just before the "Play Ball!" :)
I'm listening to the Giants on the radio, and it looks like the data feed is about one pitch behind. (I suppose for gambling reason.) It would be neat if there was some way to sync a stream with the animation.
This is great. The 8-bit aesthetic fits great with baseball. Reminds me a little of the old Backyard Baseball video game. I was thinking about using the feed to ring a bell in my home every time my team (NY Mets) scores a run. But this a a much better use of the data feed.
Super cool! Makes me nostalgic for my Earl Weaver Baseball fix.
The pace of events will always be a challenge with baseball (delays between pitches, missing when they do happen).
Some other mode like the Youtube TV: Catch up with Highlights, would be fantastic. Quickly replay the big events (runs scored, bases loaded strikeout to end inning. Maybe every hit and third out). It becomes a rapid-fire view. Or, similar thought, a rapid replay mode -- start from the beginning, replay each change with minimal delays between them.
I'm not a sports person and other then going to a superbowl party really don't watch anything but this is really cool. I even put a game on the tv and was comparing it to the site. Very well done :) If there was some way to have live audio streaming in to hear what was going on while the screen animated it that'd make this perfect but I imagine that isn't really a thing that can be done.
Best of luck with this. About twenty years ago there was a website that displayed play-by-play of games in progress with a much more minimal display than yours: just a scoreboard, balls and strikes count, and an indication of who was on base.
MLB crushed them with a copyright infringement lawsuit, claiming copyright over the plain factual description of the play-by-play. It was bullshit, of course, since simple factual descriptions aren't protected by copyright. But website guy couldn't fight MLB in federal court.
Sorry I don't remember the name of the site. I hope it turns out better for you than it did for them.
> Only individual, non-commercial, non-bulk use of the Materials is permitted
Unsure if this falls within. I have written my own scripts against the XML regularly updated there, but am unsure if they allow it to be used on a shared site.
The thing that works for baseball is how slow the game is. There's plenty of time in between pitches to make the animation simple. With sports with constant movement like a WC match would require a lot more resources. Might as well be a game engine at that point.
Watching one of these live just brings home exactly how low activity a baseball match is. You can easily miss a pitch if you're not actively watching it and keep your attention span on it. It also brings to mind how much the commentary during a game keeps the viewer engaged. Live video and a good director cutting to different cameras also helps. Radio with out the color would be insanely boring:
Here's the pitch, low and outside.Ball 1.
30 secs of silence.
Here's the pitch, fast ball down the middle. Swing and a miss. Count is now 1-1.
For sure. And agree it wouldn't work as well for active sports like soccer or basketball.
Have some ideas on how to make this a bit more engaging for baseball, still. But ultimately it isn't really made for active viewing or to replace a live broadcast. I think of this more for the fan who wants to keep it on in the background or on the TV while they work or multitask.
Perfect to have on while you are on a call or otherwise can’t have audio playing. If the audio isn’t a distraction, I’d rather put the radio on or a tv game with the audio lower than I’d have it if I were actively watching.
But I love this idea and it brings back memories of my first baseball video games. Someone else mentioned Earl Weaver. My friends and I spent an entire summer playing almost nothing else.
Football MIGHT be slow enough that you could animate the plays Techmo Bowl style.
It would certainly be fun to attempt it. You might have to mix in some pre-defined animations for "run up the middle", that could do minimal updates like Jersey numbers.
The gamecast from places like ESPN already have a good enough version for American Throwball games. It works because it is slow enough so they can show play by play with animation showing the progress of each play. While it's not pixel art it is more than sufficient to have in a window to have open in the background.
Only if we can watch historical games from the late 80s of the LA Raiders, and then 5% of the time, it animates Bo Jackson running actual circles around the defense.
Love the look of this! Enjoyed watching a bit, will definitely have it on later.
One comment is, during “in between innings” when it was showing around the league and other stats, the text was really small on my phone. If possible I’d rather have it scrolling or switching between pages of data than trying to fit it on one screen. I get that on a tv or pc it’s probably the right size, so not sure if you’d want to spend the effort to have a separate view for small screens.
Could you display live data in a browser tab title? Not just the score, but actually mostly when it's not between innings so I know when to switch back to it.
I also wish it was more zoomed-in on the action, but I get why that's not in v1.
- will add the title bar idea to to-do list
- yeh would love to mirror the backyard baseball format where it's batters box view and then whole field for play resolution
Great! Since you're taking feature requests, I'll add that it seems like sometimes lots of data comes at once and then everything gets rushed. But then nothing happens for a while. So it has a "hurry up and wait" feel.
I think it'd be worth slowing down when you have receive data for multiple pitches at once, which would also mean it wouldn't feel as slowed down at other times -- even if that means at some points you're further behind the real-time nature of the game.
Amazing, and I love every pixel of it. We know the MLB is famously understanding with creative repurposing of their data, so I wonder what live data you are using and if the rationale for use is something like small scale hobby/fair use?
I know when it comes to historical data, projects like the Sean Lahman Database have to go through quite a bit of trouble to reproduce "clean room" versions of historical data that are legally fine to use. I have to imagine there's a lot of complications when it comes to live data for anything that even has a hint of being more than a hobby project.
This is brilliant. Can you make a sub-game, Streets of Rage II beat em up that you can play when the benches clear in a real game? Perhaps have Mortal Kombat finishing moves when the managers are fighting the umpires?
Something about the way baseball itself is played seems to make recreations really satisfying -- like, more accurate? -- and fun compared to say, soccer hilights of matches on Youtube made with what looks like an EA soccer video game
I also really like the idea of recreating any type of event in this format. It's almost like photogrammetry but with as much creative intention as you have documentary. very awesome, very inspirational really
Thanks!! Agree baseball is a great match for this and just happens to have the data available, too. Have been thinking about what other formats this could lend itself to. Golf and tennis would be great fits, but data access seems limited/controlled.
For now, still a lot of work to be done for baseball. I'd love to get full in-field animation completed at a higher quality (think those 8-bit baseball iPhone games), and more details to give life to the stadiums and atmosphere.
This is wonderful and well done. I wanted to do something with a single NFL game using the play by play you see on websites. Do you have precise enough coordinate data or do you interpret and extrapolate from a play-by-play description? Is the feed data free?
Awesome! Sometimes a thing conveys it was built with some love or intention. It's not restricted to fun/entertaining content, it can be Saas too. I'm talking more from how it looks and feels than necessarily what's going on in the backend, but I'm not really talking about graphics.
Big fan of Nick and the team at PL. Working on a feature actually that will sync and track your fantasy team so you can drop in on them when they’re pitching or at the plate.
Love this idea. Golf and Tennis, too. I think the main challenge for other sports would be less access to near-realtime game data down to the ball and player position, etc.
I'm not sure if this is just me but the mismatch in pixel sizes and inconsistent palette is very jarring. This would be more impressive if this actually matched the 8-bit aesthetic of like the NES.
Yeah, the game "Baseball" on the NES is a good example. I get though that an 8-bit aesthetic would be very tricky to get things like the player portrait details looking right. Cool project by the way!
This is a classic problem for people who didn't grow up making 8-bit pixel art. Typing "pixel art" into Nano-Banana only creates the illusion of pixel art, which quickly breaks down under modest scrutiny, particularly at larger resolutions.
That's why you can see "smeared edges," "fringing," etc.
Even a basic nearest neighbor downscale/upscale would have squashed some of the higher frequency noise.
OP: Look into palette reduction and pixel grids. This is a decent start as a post-processing tool for this stuff.
yes. i am more perceptive of bad art vs bad code. seeing so much bad generated art...everywhere...makes me wonder how much bad code is being put out there. art isn't load-bearing, but code can be.
1000%. That’s why I encourage wherever possible a strong emphasis on TDD (test-driven development) when using LLMs for agentic design. It’s not perfect, but it’s better than nothing.
Yeah because it is AI pixel art :/ But something also seems off with the AA right now. Going to try to fix. Then, maybe sponsor some artist-made sprites later if there's interest in the project.
Completely OT, but something occurred to me recently, and I haven't seen it happen yet this season so I don't know the rule:
- Bases empty
- There are two strikes
- The catcher fails to catch the ball, but umpire calls it a ball.
- Catcher challenges, and it is overturned to be a strike.
Can the batter attempt to run to first base? Without the challenge he can, but how does the challenge affect things? Can he start running to first if he anticipates a challenge (or just thought it was a strike on his own and didn't wait for the umpire to call it)?
vibe coded project people like = omg so amazing, you did so great. wow the ai art is so amazing!
vibe coded project people dont like = llm vibe coded slop, waste of the internet, why did you even try. cant believe you didnt pay hundreds of dollars to a human artist.
Incredible work! Do you have any plans to add sound effects synced to in-game events, or maybe even TTS-generated commentary? That could make the experience feel even more dynamic and immersive.
Not to hijack your thread but in case anyone's interested in a physical scoreboard built on top of the same APIs using Raspberry Pis, I have a project as well. We also support software emulation if you don't want to buy parts.
https://github.com/MLB-LED-Scoreboard/mlb-led-scoreboard
You can see it in action here:
https://mlb-led-scoreboard.dev/
- Have a play-by-play view so users can see plays they missed
- Make the "between innings" tabs clickable rather than forcing users to wait for the cycle (cycle by default, pin if user clicked a tab)
- show glove on right hand for outfielders that throw LH
- maybe show baserunners taking leads rather than keeping a foot on the base
I'd like this not as a timeline scrub but as a back button.
IDK if there’s an easy way for the average person to get a live audio broadcast feed from games, so maybe your target market would be listening to that instead.
I’m thinking it could use some sound effects, for balls, strikes, hits, etc. I only tuned in for a couple pitches and then it was between innings, so maybe the more significant events already have something, and I just wasn’t patient enough to experience them.
I was looking away when the last out of the inning happened (or maybe changing views?). Is there a display of what caused the out, and maybe an animation of the fielders coming into the dugout, or does it flash up the “between innings” screen pretty quickly?
It might be nice to have a significant event summary available somewhere. It feels hard to believe that this would catch someone’s attention well enough that they’re watching the whole thing, and without audio cues / replays, I know I wouldn’t be interested in watching it for any length of time.
I can still hear those sound samples in my head, they have voice samples for: Play ball! Foul. Strike. Y'rOUT! Out. Safe! Home run!
Oh, and the ending bars of the US and Canadian national anthems. Which you could totally play just before the "Play Ball!" :)
The pace of events will always be a challenge with baseball (delays between pitches, missing when they do happen).
Some other mode like the Youtube TV: Catch up with Highlights, would be fantastic. Quickly replay the big events (runs scored, bases loaded strikeout to end inning. Maybe every hit and third out). It becomes a rapid-fire view. Or, similar thought, a rapid replay mode -- start from the beginning, replay each change with minimal delays between them.
Either way though, great job on this!
MLB crushed them with a copyright infringement lawsuit, claiming copyright over the plain factual description of the play-by-play. It was bullshit, of course, since simple factual descriptions aren't protected by copyright. But website guy couldn't fight MLB in federal court.
Sorry I don't remember the name of the site. I hope it turns out better for you than it did for them.
> Only individual, non-commercial, non-bulk use of the Materials is permitted
Unsure if this falls within. I have written my own scripts against the XML regularly updated there, but am unsure if they allow it to be used on a shared site.
https://plaintextsports.com/mlb/2026-06-17/tb-lad#play-by-pl...
edit: typo
I wonder if some kind of filter would work or we would need some data source. Looks much harder given the fast-paced nature of the game.
Watching one of these live just brings home exactly how low activity a baseball match is. You can easily miss a pitch if you're not actively watching it and keep your attention span on it. It also brings to mind how much the commentary during a game keeps the viewer engaged. Live video and a good director cutting to different cameras also helps. Radio with out the color would be insanely boring:
Here's the pitch, low and outside.Ball 1.
30 secs of silence.
Here's the pitch, fast ball down the middle. Swing and a miss. Count is now 1-1.
30 secs of silence.
Have some ideas on how to make this a bit more engaging for baseball, still. But ultimately it isn't really made for active viewing or to replace a live broadcast. I think of this more for the fan who wants to keep it on in the background or on the TV while they work or multitask.
But I love this idea and it brings back memories of my first baseball video games. Someone else mentioned Earl Weaver. My friends and I spent an entire summer playing almost nothing else.
It would certainly be fun to attempt it. You might have to mix in some pre-defined animations for "run up the middle", that could do minimal updates like Jersey numbers.
I am a big fan of the ESPN CDN data api and have made a few "scoreboards" of my own. Recently I polished a simple html one at: https://mlb.ope.cool/
But I will most definitely be reaching for yours and tossing it up on the TV's in the office, this is so cool
Notably you could quickly prototype something for the world cup using sport `soccer` and league `fifa.world`. Its awesome
One comment is, during “in between innings” when it was showing around the league and other stats, the text was really small on my phone. If possible I’d rather have it scrolling or switching between pages of data than trying to fit it on one screen. I get that on a tv or pc it’s probably the right size, so not sure if you’d want to spend the effort to have a separate view for small screens.
I also wish it was more zoomed-in on the action, but I get why that's not in v1.
I think it'd be worth slowing down when you have receive data for multiple pitches at once, which would also mean it wouldn't feel as slowed down at other times -- even if that means at some points you're further behind the real-time nature of the game.
I know when it comes to historical data, projects like the Sean Lahman Database have to go through quite a bit of trouble to reproduce "clean room" versions of historical data that are legally fine to use. I have to imagine there's a lot of complications when it comes to live data for anything that even has a hint of being more than a hobby project.
Something about the way baseball itself is played seems to make recreations really satisfying -- like, more accurate? -- and fun compared to say, soccer hilights of matches on Youtube made with what looks like an EA soccer video game
I also really like the idea of recreating any type of event in this format. It's almost like photogrammetry but with as much creative intention as you have documentary. very awesome, very inspirational really
For now, still a lot of work to be done for baseball. I'd love to get full in-field animation completed at a higher quality (think those 8-bit baseball iPhone games), and more details to give life to the stadiums and atmosphere.
The game I want to watch is a LIVE game but it's no longer one of the top 4 games
I see the scrollbar but it does not interact
(Chrome or Edge same issue)
It reacts ONLY to the mouse scroll wheel (Desktop/Windows)
I was expecting either keyboard (UP/DOWN arrows) or click/drag on the scroll "bar" to work
Shown briefly here: https://youtu.be/ILgyiNxCQHE
This is clearly 16 bit.
edit- First 2 plays I watched are back to back homers. Go Royals!
That's why you can see "smeared edges," "fringing," etc.
Even a basic nearest neighbor downscale/upscale would have squashed some of the higher frequency noise.
OP: Look into palette reduction and pixel grids. This is a decent start as a post-processing tool for this stuff.
https://github.com/jenissimo/unfake.js
do the mlb streams flag a challenge?
- Bases empty
- There are two strikes
- The catcher fails to catch the ball, but umpire calls it a ball.
- Catcher challenges, and it is overturned to be a strike.
Can the batter attempt to run to first base? Without the challenge he can, but how does the challenge affect things? Can he start running to first if he anticipates a challenge (or just thought it was a strike on his own and didn't wait for the umpire to call it)?
vibe coded project people dont like = llm vibe coded slop, waste of the internet, why did you even try. cant believe you didnt pay hundreds of dollars to a human artist.