Show HN: A web-based pool (billiards) simulator to improve your real-life game

35 points by vinaypai 14 days ago

MillionBalls is a web-based simulator meant to improve your real-life game. This is targeted beginner-intermediate level players who want to learn to visualize shots better.

Unlike typical pool simulators this one constrains you to the views you see as a player at a pool table rather than overhead or other unrealistic views. You'll receive immediate feedback about your aim and historical performance.

Majora320 14 days ago

I tried the first drill (/drills/1), and I wasn't able to take a shot - pressing space did nothing. I was also able to aim while in c-mode, which the tutorial says isn't allowed.

  • GuyFromNorway 13 days ago

    Found a bug where if you press space when in aim mode, it will go into c-mode, but then you're not allowed to shoot the ball, and I need to do a page refresh. Seems to be the same as this user experienced.

  • vinaypai 8 days ago

    Thanks for reporting this bug, I managed to track it down and it should be fixed now. You might have to hit refresh to make sure you have the latest version.

  • vinaypai 13 days ago

    I know there are still bugs at this point, but it's weird that you couldn't even take q shot. If you don't mind, can you check the dev console in the browser for any errors?

    • Majora320 13 days ago

      I tried again and it worked this time. I do get these two errors upon loading the page, though:

        Error: <line> attribute x1: Expected length, "NaN".
        Error: <line> attribute x2: Expected length, "NaN".
      • econonut 13 days ago

        I think the error is coming from pressing space before pressing C. I made the that mistake multiple times after lining up my shot and had to refresh the page so I could try again.

        • vinaypai 13 days ago

          It's unrelated. Even though the prompt says to press C, pressing space actually has the same effect if you're standing up.

          • wasyl 13 days ago

            > Even though the prompt says to press C, pressing space actually has the same effect if you're standing up.

            100% of the time when I press space first, which switches to c-mode, I can't make the shot (on Firefox)

            • vinaypai 8 days ago

              It should be fixed now, thanks!

      • vinaypai 13 days ago

        That's a bug, but fairly benign. It's happens while trying to render the chart with no prior data, so the range ends up being Mean. It doesn't affect anything though.

celaleddin 13 days ago

This looks great! I'll play around with it more later this week.

A thought: I suppose Virtual Pool is a pretty popular game/simulation in the billiards circles. Maybe you can get insights for keyboard/mouse interaction and graphical interface.

I remember playing Virtual Pool and I really liked the way they designed the interactions with the game.

bradknowles 13 days ago

So, how do you play this if you're on an iPad or other mobile device, and you can't use a keyboard?

  • vinaypai 13 days ago

    Unfortunately there isn't a way to do that yet. I still need to figure out the controls on touchscreens.

underratedbug 13 days ago

You should absolutely prioritize mobile (after fixing any egregious bugs). I like pool but would rather actually play (real pool) if I’m at home on my computer. When I’m out and about and have a minute or two to spare is exactly when this would come in handy.

  • vinaypai 12 days ago

    Yeah, agreed. Mobile friendliness is definitely the next major update I'm planning on.

pyth0 13 days ago

This is very cool. It would be nice if you could aim precisely on the cue ball to impart spin onto it. Also a free form sandbox where you could place different balls down and setup your own scenarios to play would make this incredibly replayable. Great work!

  • vinaypai 13 days ago

    Yeah, that's definitely in the plan.

    You actually can impart spin right now with an undocumented feature. Use WASD to move the bridge hand and/or IJKL to move the grip hand. You can even play jump shots by elevating the bridge hand a lot and increasing the speed with +. The UI does get very awkward though, so all that needs work.

    Ball-rail interactions need some tuning though. Things generally work, but they don't feel right to the experienced eye, so I don't want to set up more elaborate scenarios yet.

    It will be very cool to be able to play through scenarios and figure out the most reliable route etc. .