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.
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'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.
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.
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.
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.
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.
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?
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'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.
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!" :)
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.
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.
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 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?
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.
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.
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.
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.
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/
Either way though, great job on this!
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.
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
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!" :)
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.
- 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
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 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?