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

35 points by vinaypai a year 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 a year 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 a year 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 a year 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 a year 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 a year 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 a year 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 a year 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 a year 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 a year ago

              It should be fixed now, thanks!

      • vinaypai a year 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 a year 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 a year 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 a year ago

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

underratedbug a year 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 a year ago

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

pyth0 a year 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 a year 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. .