Show HN: An 8-bit live gamecast for baseball

Posted by brownrout 3 hours ago

Counter132Comment79OpenOriginal

Hey HN, I built a website to watch live baseball games in an 8-bit broadcast. It takes live MLB data streams and converts them into near real-time pixel art gamecasts.

Been waiting to share this for when there’s actually a good slate of games happening since the site is pretty bare otherwise.

Here is today's schedule:

Mets @ Reds - 9:40am PDT https://ribbie.tv/watch/game/824503

Royals @ Nationals - 10:05am PDT https://ribbie.tv/watch/game/822721

Marlins @ Phillies - 10:05am PDT https://ribbie.tv/watch/game/823450

Tigers @ Astros - 11:10am PDT https://ribbie.tv/watch/game/824178

Padres @ Cardinals - 11:15am PDT https://ribbie.tv/watch/game/823044

..and another 14 games throughout the later day.

I'm still early on in this project, but I've tried to add little details with actual stadiums, day and night modes, between inning graphics and interstitials, live scoreboards, etc.

Would love any feedback and ideas. Thanks for checking it out!

Comments

Comment by netsec1989 11 minutes ago

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.

Comment by pawptart 1 hour ago

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.

https://github.com/MLB-LED-Scoreboard/mlb-led-scoreboard

You can see it in action here:

https://mlb-led-scoreboard.dev/

Comment by daynthelife 23 minutes ago

I love this! If I were to suggest any improvements:

- 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

Comment by brownrout 7 minutes ago

This is gold - thanks for taking the time try it out and write this up.

Comment by vitorbaptistaa 2 hours ago

Amazing project! I'd love to see something like this for the football world cup. Maybe a FIFA 97 style?

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.

Comment by dylan604 1 hour ago

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.

30 secs of silence.

Comment by brownrout 1 hour ago

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.

Comment by ghostbrainalpha 1 hour ago

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.

Comment by dylan604 57 minutes ago

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.

Comment by TheGoodBarn 1 hour ago

This is so cool, I love these little scoreboard projects. The artwork is also such high quality.

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

Comment by TheGoodBarn 1 hour ago

Reference API docs: `https://github.com/pseudo-r/Public-ESPN-API`

Notably you could quickly prototype something for the world cup using sport `soccer` and league `fifa.world`. Its awesome

Comment by brownrout 1 hour ago

Cool project! Like the scorecard style. Will check out that API, too.

Comment by sdsdfsdfdfssdf 51 minutes ago

It's AI artwork.

Comment by mjd 1 hour ago

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.

Comment by kodablah 42 minutes ago

My guess is this is leveraging GDX same as "Gameday" uses (or used to use). https://gdx.mlb.com/components/copyright.txt states

> 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.

Comment by e28eta 1 hour ago

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.

Comment by brownrout 1 hour ago

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.

Comment by Slothrop99 1 hour ago

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.

Comment by xp84 1 hour ago

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!" :)

Comment by brownrout 27 minutes ago

Yes! Will check this out for inspiration.

Comment by joebates 51 minutes ago

Ha! I'm watching the Astros game and I guess my stream is delayed because this just spoiled a home run. Great job!

Comment by brownrout 48 minutes ago

Pena! He's been on one lately.

Comment by soupfordummies 27 minutes ago

I’m watching Braves over the air on broadcast and it still beat my TV lol

Comment by mysterydip 10 days ago

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.

Comment by dang 2 hours ago

(this and Urgo's comments were posted to https://news.ycombinator.com/item?id=48377493 a week ago, but since that thread didn't get much attention, I've moved them hither)

Comment by Urgo 10 days ago

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.

Either way though, great job on this!

Comment by glenstein 1 hour ago

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.

Comment by deskamess 1 hour ago

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?

Comment by austinallegro 2 hours ago

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?

Comment by brownrout 2 hours ago

Ha! And when the batter rushes the mound. Jokes aside, like the idea of some interactive minigames between plays and innings...

Comment by ninju 1 hour ago

I can't seem to scroll down thru the active games list :-(

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)

Comment by brownrout 54 minutes ago

Chrome/Mac working for me with touchpad. Desktop? Windows or Mac?

Comment by ninju 37 minutes ago

Ah...

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

Comment by 38 minutes ago

Comment by mkovach 41 minutes ago

This is really, really awesome. I'm going to let the folks at Pitcher List know about it!

Comment by brownrout 32 minutes ago

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.

Shown briefly here: https://youtu.be/ILgyiNxCQHE

Comment by germanrabbit 2 hours ago

What a joy this is

Comment by brownrout 2 hours ago

Thanks! Glad you like.

Comment by fitsumbelay 2 hours ago

"joy" is the word

Comment by cm11 2 hours ago

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.

Comment by brownrout 1 hour ago

This is really kind of you. I poured myself into this project :)

Comment by rickyyean 1 hour ago

You even got the ballparks and the middle inning transitions!

Comment by brownrout 50 minutes ago

Next up: the Good Year Blimp

Comment by devrundown 2 hours ago

This is really cool! Would love a technical breakdown on how you put this together.

Comment by jonshariat 1 hour ago

+1 even if its vibe coded, would love to hear how you tackled the project. Great stuff!

Comment by THansenite 2 hours ago

Agreed. As a developer, I'd love to see how this was done or if you have it out on Github.

Comment by fitsumbelay 2 hours ago

this f**ng rocks

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

Comment by brownrout 1 hour ago

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.

Comment by unstruktured 2 hours ago

very cool! maybe make a soccer one for world cup?

Comment by brownrout 2 hours ago

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.

Comment by austinallegro 2 hours ago

Football. Not soccer.

Comment by jayknight 2 hours ago

Tomato, tomato.

Comment by dylan604 1 hour ago

Depends if you mean Madden or FIFA. Then it's tomato and screwdriver

Comment by ecommerceguy 2 hours ago

This is great! Thank you for coming up with this.

edit- First 2 plays I watched are back to back homers. Go Royals!

Comment by brownrout 1 hour ago

Amazing. Did the 'homerun' animations go off properly for you?

Comment by ninju 2 hours ago

When I choose "Full" view it should go to fullscreen view of the browser (hiding address bar, bookmarks, tabs, etc...)

Comment by uludag 1 hour ago

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.

Comment by brownrout 1 hour ago

Appreciate the feedback. Aiming to do another pass soon on the aesthetic consistency and animation style. Lmk if you have any specific examples!

Comment by uludag 1 hour ago

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!

Comment by kridsdale3 2 hours ago

PEDANT ALERT:

This is clearly 16 bit.

Comment by ant6n 16 minutes ago

Looks like 256 color style imagery. It’s not perfect, but clearly based on that VGA style.

Comment by ghostbrainalpha 1 hour ago

This is Hacker News where we appreciate these types comments.

Comment by ishjoh 1 hour ago

this is one of the coolest projects I've seen in a while. Great work.

Comment by brownrout 30 minutes ago

Appreciate it!

Comment by JMiao 2 hours ago

fun idea and gj execution, but the art looks like bad ai pixel art, at least on my screen. gives it that uncanny youtube music stream look.

Comment by vunderba 2 hours ago

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.

https://github.com/jenissimo/unfake.js

Comment by JMiao 2 hours ago

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.

Comment by vunderba 1 hour ago

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.

Comment by brownrout 2 hours ago

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.

Comment by SubiculumCode 2 hours ago

Do you have a video of past livecasts to gt a feel?

Comment by brownrout 2 hours ago

Comment by matv 1 hour ago

This is awesome!

Comment by brownrout 30 minutes ago

Cheers

Comment by k8o5 1 hour ago

Very cool!

Comment by tiahura 1 hour ago

Awesome.

do the mlb streams flag a challenge?

Comment by brownrout 1 hour ago

Has the data, but I haven't built support to handle it just yet.

Comment by sdsdfsdfdfssdf 1 hour ago

You all realize this is 100% AI, right?

Comment by brownrout 28 minutes ago

I used Claude and Codex heavily to help build this, yep.

Comment by vrtnis 2 hours ago

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.

Comment by brownrout 1 hour ago

Yes! Sound effects coming soon. Thought about an AI-generated voice commentary, but the cost would add up quickly for a free side project.

Comment by apollo_orbit 2 hours ago

[dead]