Show HN: An 8-bit live gamecast for baseball

ribbie.tv

260 points by brownrout 1 week ago

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!

pawptart 1 week 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/

  • tcbawo 6 days ago

    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.

    • mc3301 6 days ago

      I've seen a few 3d printed projects that did similar, displaying some live API-received number on a 3d-printed split-flap board.

daynthelife 6 days 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

  • brownrout 6 days ago

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

  • elicash 6 days ago

    > Have a play-by-play view so users can see plays they missed

    I'd like this not as a timeline scrub but as a back button.

mjd 1 week 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.

HaphazardGuess 7 hours ago

This brings back so many memories! Amazing.

Urgo 2 weeks 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!

  • mc3301 6 days ago

    For superbowl, I'd love to go to a sports bar, and on one of the 35 screens, this 8-bit version of the same game is playing. Maybe with hilarious "Mutant League Hockey" style animations on tackles or something.

    We'd all be cheering at the same time, at similar things.

e28eta 1 week 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.

  • brownrout 1 week 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.

    • xp84 1 week 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!" :)

      • brownrout 6 days ago

        Yes! Will check this out for inspiration.

      • goodmythical 6 days ago

        Would also be neat to have public renditions of team songs played while the live crowd is singing.

        "Go cubs go", "take me out to the ball game", etc

    • Slothrop99 1 week 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.

  • brownrout 5 days ago

    give it a another try today. basic audio track and FX added :)

vitorbaptistaa 1 week 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.

  • dylan604 1 week 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.

    • brownrout 1 week 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.

      • brewdad 6 days ago

        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.

    • ghostbrainalpha 1 week 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.

      • dylan604 1 week 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.

      • vunderba 6 days ago

        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.

devrundown 1 week ago

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

  • THansenite 1 week ago

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

  • jonshariat 1 week ago

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

netsec1989 6 days 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.

mysterydip 2 weeks 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.

kridsdale3 1 week ago

PEDANT ALERT:

This is clearly 16 bit.

  • ghostbrainalpha 1 week ago

    This is Hacker News where we appreciate these types comments.

  • ant6n 6 days ago

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

  • aidenn0 6 days ago

    Yes, it definitely gave me TG-16 (PC Engine) feels.

TheGoodBarn 1 week 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

  • brownrout 1 week ago

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

  • sdsdfsdfdfssdf 1 week ago

    It's AI artwork.

    • marknutter 6 days ago

      And it looks fantastic.

      • LearnYouALisp 6 days ago

        It means the actual 'data' came from somebody who is not being compensated, acknowledged, or credited.

        • goodmythical 6 days ago

          You mean like how you're not paying anyone you learned LISP from?

JMiao 1 week 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.

  • vunderba 1 week 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

    • JMiao 1 week 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.

      • vunderba 1 week 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.

  • brownrout 1 week 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.

    • JMiao 6 days ago

      fine for prototyping! good news for you is there are a lot of talented people if you are ready to commit.

      • brownrout 6 days ago

        Any platforms you recommend? Fivver?

        • JMiao 5 days ago

          i'd look around /r/gamedev and /r/gamedevclassifieds

glenstein 1 week 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.

austinallegro 1 week 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?

  • brownrout 1 week ago

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

uludag 1 week 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.

  • brownrout 1 week ago

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

    • uludag 1 week 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!

leejoramo 6 days ago

Very fun. I have used the cli ’playball’ in the past, but this retro 8-bit is delightful

This morning I think I found a minor bug is the installable PWA web app. chromium, Brave and I expect other browsers show a white bar with the URL at the top of the PWA

I believe this is due to the manifest specifying the path ‘/watch/‘ with a trailing slash and not the path we get redirected to without ‘/watch’

dole 6 days ago

Suggestion to make the Upcoming Games tiles fade out as a group or rotate and show games past the initial five of the day. Also, team W-L records where pertinent and real estate might allow?

One thing that stuck with me is the font rendering of the flashing "Mid 5th" screen banner on the game field view, was displayed as Helvetica/Arial vs one of the in-game fonts.

  • brownrout 6 days ago

    Thanks for the ideas - will take a look at this today.

fitsumbelay 1 week 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

  • brownrout 1 week 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.

kevinsync 6 days ago

This is super duper cool! I sat there and watched like 10 minutes of a live game and it was just balls, strikes, swing & miss, and foul LOL -- reminded me of that old Simpsons episode where soccer comes to Springfield and nothing happens in the match [0]

[0] https://www.youtube.com/watch?v=442NF5cZhyc

DevEx7 5 days ago

This is so cool, man. Did you ever play Smallball back in the day? It would be sweet if instead of just simulating live baseball games, if we can actually create our own teams and train the players and then simulate games against other teams. This seems like a great starting foundation!

cs44 4 days ago

Absolutely love this concept. As a rabid baseball fan, I can't wait to use this on live broadcasts.

My kids want to know how long it took you to build this. (Well, me too...)

Go Giants!

joebates 1 week ago

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

  • brownrout 1 week ago

    Pena! He's been on one lately.

  • soupfordummies 6 days ago

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

cm11 1 week 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.

  • brownrout 1 week ago

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

jimmydddd 6 days ago

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.

deskamess 1 week 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?

elicash 6 days ago

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.

  • brownrout 6 days ago

    - 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

    • elicash 6 days ago

      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.

      • brownrout 5 days ago

        Will take a look at this, too! The title/score feature is live today :)

ninju 1 week 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)

  • brownrout 1 week ago

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

    • ninju 6 days 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

rickyyean 1 week ago

You even got the ballparks and the middle inning transitions!

  • brownrout 1 week ago

    Next up: the Good Year Blimp

gwbas1c 6 days ago

FYI: The look is more 16-bit than 8-bit. 8-bit platforms like the NES typically showed less colors on screen than their 16-bit successors.

FunHearing3443 6 days ago

Love this! Charming and easy to follow, thank you!

  • brownrout 6 days ago

    Of course! Thank you for the comment

unstruktured 1 week ago

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

  • austinallegro 1 week ago

    Football. Not soccer.

    • jayknight 1 week ago

      Tomato, tomato.

      • dylan604 1 week ago

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

  • brownrout 1 week 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.

ninju 1 week ago

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

rglover 6 days ago

This makes me want to finally scratch "get into baseball" off of my bucket list. Really nice concept and design!

  • brownrout 6 days ago

    Thank you! Fantasy baseball is what did it for me. It's much better than the other fantasy sports. Highly recommend.

noduerme 6 days ago

This is adorable. But gosh that font is hard to read on a phone. Couldn't the score box be a bit bigger?

  • movedx 6 days ago

    Does everything _really_ need to be compatible with a phone screen? Use a computer to view the website.

    • noduerme 6 days ago

      No, and it's fine if you just want to make a desktop site, but if you're designing a game or UI then why not add some nice touches to make it look as good as possible on any size screen? Everything I've designed in the past 15 years has tried to cater to both with whatever adjustments can be made to make it take advantage of more screen real estate if it's available, or rearrange to a compressed visual format on a phone. It's not hard to do, it's just a series of design decisions to make whatever you're doing better across platforms.

      I'd even argue that in this case, on desktop, you could have a whole side panel with play by plays, while on mobile you could make the small UI elements larger, without losing any of the charm of either one.

  • brownrout 6 days ago

    Did you add Ribbie to your home screen? That mobile version makes better use of the full phone screen.

    • noduerme 6 days ago

      Yes, and it helps some. Still wish there was a mode for people who need to squint to see the score.

      • brownrout 6 days ago

        Hear you! Will try another pass for mobile legibility.

        • noduerme 6 days ago

          Really like it though! Lotta fun. From a guy who codes games and usually has baseball on some screen next to me while I'm working ;)

ecommerceguy 1 week ago

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

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

  • brownrout 1 week ago

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

mkovach 1 week ago

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

  • brownrout 6 days 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

    • mkovach 2 days ago

      Sorry I didn't reply sooner. I let Nick and the team know (Nick has dubbed me the Official Historian for PL), and they certainly are impressed.

      This is some really great stuff.

edgarvaldes 6 days ago

Super cool. I love how baseball tends to be easily represented through text.

panza 6 days ago

Great job. I'd love to see this for the one true sport (cricket).

  • brownrout 5 days ago

    Ha will add it to the backlog.

rootedbox 6 days ago

Love it.. too bad MLB will probably send you a C&D over it.

soohyunbae 5 days ago

wow, this is a new way of watching games. can you make it to work for World Cup too?

ishjoh 1 week ago

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

tiahura 1 week ago

Awesome.

do the mlb streams flag a challenge?

  • brownrout 1 week ago

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

  • aidenn0 6 days ago

    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)?

Hugsbox 5 days ago

I literally fucking love this. So much. Thank you, OP.

sdsdfsdfdfssdf 1 week ago

You all realize this is 100% AI, right?

  • brownrout 6 days ago

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

    • deadbabe 6 days ago

      There is another project that does exactly this, looks like it was basically copied verbatim.

      • brownrout 6 days ago

        Not familiar. Do you have a link to the project?

mmmlinux 6 days ago

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.

vrtnis 1 week 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.

  • brownrout 1 week 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.

  • brownrout 5 days ago

    Added sound effects and even some 8-bit music - check it out if you have a minute!