The unsolved Wii game you've probably played before

Поділитися
Вставка
  • Опубліковано 26 січ 2025

КОМЕНТАРІ • 1,3 тис.

  • @kataryn
    @kataryn  11 місяців тому +1074

    UPDATE - there is now a centralized server specifically dedicated to billiards research! if you're interested in following this story as it develops, feel free to join: discord.gg/zUe9gZ8YMg
    ~ ~ ~ ~ ~ ~ ~
    hey all, thanks for the support on this video! some responses to frequently asked questions/comments:
    - there were previously some issues with the captions of the video that a couple of people brought up - I had incorrectly assumed that they were talking about the timings, but I now realize that there were words that were actually just incorrect. this is because I slightly revised my script before recording it and then mistakenly used a version that didn't have those revisions for the captioning. this issue should be fixed now, but if you come across any other discrepancies, please let me know
    - i now know that 9 ball pool is actually far more popular than 8 ball in competitive play, and more popular in general in asian countries! thanks to the irl pool players in the comments for clarifying this
    - yes, the game does require you to sink all 9 balls even though the real rules of 9 ball end the game once the 9 ball has been sunk. it's funny to think that if they followed the real rules, none of this would have ever been an issue and this video wouldn't exist
    - the cue ball positioning isn't randomized - in the code shown at 4:09, the first line is "if (id != 0) {", which checks that the current ball being affected isn't the cue ball. if it is the cue ball, the code for adding the random offsets won't run. this is also why the rng can be disabled by replacing one assembly instruction - you can simply change the beq (branch if equal) instruction to an unconditional branch so that the code for adding the random offsets never runs for any ball.
    - there could definitely be more efficient approaches to this problem involving interfacing directly with the game's physics engine and potentially even machine learning. however, the wii play research team is very small right now, and we have limited time and knowledge to work with when it comes to decompilation and complex math. part of the point of this video was just to get more eyes on this situation, so if you'd like to help or even if you just have some ideas to throw around, please feel free to DM me on discord (username: kataryn) or join the server linked above

    • @Carpythesharky
      @Carpythesharky 11 місяців тому +3

      9-ball ftw!!

    • @ManuFortis
      @ManuFortis 11 місяців тому +53

      I'm at the 4:45 mark where you talk about the slight offsets. Just want to say before you go further in the video (But watched further anyways just in case you covered it in full already) that it actually makes A LOT of sense to have that very slight degree of variation in the placement. The reason is that when playing any sort of billiards, the racking triangle (for normal pool at least) isn't exactly uhm... perfect every time. There's a lot of detail to this, but essentially, depending on how the person racks the balls up, they will get a slightly different arrangement and placement each time. Not only that, but even though the balls are quite precise in their size, shape, etc; there are always going to be tiny imperfections over time due to play or even original factor conditions.
      This means that ultimately to get the exact same result off the break in billiards, absolutely every single condition must match. And that's just not likely to be the case except in extreme circumstances of luck/chance and cheating.
      So, (having watched further into the video anyways) no it's not that the game is rigged. It's that billiards is one of those real world games that never really is going to have the exact same conditions multiple times at all or even in a row. And believe me, the players and designers and installers of this game are all generally very well aware of how close to perfect every condition needs to be to get a reliable table going that works how you expect it to.
      For instance, a common problem at many bar pool tables, is that they are slightly tilted to one side or the other due to the slope of the floor/ground below and how a building will gradually sink/bend/tilt in areas here and there for over time. (For those who wish to argue that, just consider that not all buildings are made purely of titanium. I.E. Most materials flex/warp/etc over time.)
      So the end result for playing pool/billiards of any form, is that no two tables will ever be entirely the same as each other. They'll all have some level of uniqueness to each. And having said that, now we are back to the problem of the position of the billiard balls at break. Depending on how well you rack them and how perfectly you manage to align them, that break could be different for every single shot placed even by a robot. And that's assuming you managed to line the rack up with the correct position on the table as well perfectly. Which probably isn't going to be the case either.
      Now, I want to say that I do realize that video games aren't real life, so we expect them to some degree to have a level of repeatability. But! Technically... if you are trying to recreate a sport or real world game in its fullest, you want to include every variable that makes it that sport or real world game. So while it may seem paradoxical to want to include imperfections into a video game... it's actually exactly what you want to do with a game like Billiards.
      Finally, to expound upon the point, let's consider what is required to actually create a 'perfect' table.
      1. You would need the floor and the table both to be perfectly level on cosmic scale. Think Morty standing on the perfectly level square of floor made by Rick. That level of level. This is because any slight variation in the slope of the surfaces will cause the balls to go a different course than intended dependent upon that slope. Many players tend to recognize when there is a slope at all, and correct for it if need be or avoid that table entirely.
      2. You would need your billiards to be made into perfect spheres. Absolutely perfect on the same level as the prior point. Not only that, but they would need to be made of a material even better than the way they are made now. They cannot be scuffed, dinged, or altered permanently in any manner... while still retaining the physical properties that allow a game of billiards to even be played. Good luck. What we use it pretty good already, I forget the exact names of each material, but it works well enough. But if we want a perfect table, even that needs an upgrade.
      3. The racking mechanism has to be flawless. Every ball must fit perfectly in such a way that no two racks are ever different. Not only that, but it must be rackable in the exact same position every single time. No exceptions.
      4. The environment the table is in also needs to be perfect, or at the very least, all the materials must be impervious to any influence from 'outside forces' like humidity for instance. It may not seem like a big issue, but humidity can be the difference between materials swelling and shrinking. When these things are minimal, it's not much of an issue to most. But if it's a large enough difference to make things change depending on an outside factor; it must not be allowed. So perfect environmental controls are needed.
      5. Finally? Maybe... The entire area around the billiards table needs to be able to withstand the weight of the players around it in such a way that it doesn't cause the floor below to flex or bend in any slight manner at all. Once again, it might not be a huge amount, but any small difference is the difference in what causes each shot to be different from before. In buildings with strong floors, this isn't a problem. In buildings with weaker floors... it can be. A very slight one. But one none the less.
      So. As you can see, there is likely never going to be a perfect billiards table in existence as far as we know right now with the materials and methods we have available to us. In a video game where everything is a sterile code vacuum, a perfect table could happen of course. But these sorts of games are made to represent reality in video game form, nothing else. So in that sense...
      Wii sports did Billiards pretty much perfectly.

    • @BobbySteelanus
      @BobbySteelanus 11 місяців тому +7

      In normal games of pool, the closer the balls are together in the triangle, the more they will spread out

    • @professorhaystacks6606
      @professorhaystacks6606 11 місяців тому +8

      Well the reverse-tracing physics approach is ruled out by this comment, which I had been going to say separately. The other direction, randomly changing initial parameters to find a desired outcome, is called 'monte carlo simulation'. In this case you'd need to write a script to check: it would take far too long manually. Have the script run through at the smallest increments systematically. Yeah machine learning mights speed it up, but if you turn off the graphics (I'm assuming that's doable mind) it should be able to run through each scenario so fast that the time spent to program an ML system would actually take longer. The number is large but not THAT large, based on the figures.

    • @abusethesun
      @abusethesun 11 місяців тому

      Maybe you can get in touch with CodeBullet or another ML UA-camr to build the TAS for 0 RNG. If you can get the 9 break with 0 RNG you can then train it with randomness on single balls while feeding it exact positions so it learns how movement impacts the setup.
      Would guess this only marginally ends up helping speedrunning -- you can see if there's something "special" you need to do to go for 9 vs going for 7 or less. Otherwise, it's likely just praying RNG lines up. Though maybe the TAS could identify the best initial shot that has the highest probability given the RNG factors and then humans can just spam that exact shot until RNG hits for them.

  • @matthewbertrand4139
    @matthewbertrand4139 11 місяців тому +5736

    that's actually kind of incredible, though. like, it sucks for speedrunners that you just can't get a super reliable break. but the absolute genius of accounting for the fact that in real life, the diamond wouldn't be perfectly packed every time is just beautiful. someone who really cared programmed that minigame.

    • @xaviermcknight1510
      @xaviermcknight1510 11 місяців тому +460

      Yeah I feel like a lot of Nintendo games have little details like that, intentional or coincidental I don't know

    • @WolfWalrus
      @WolfWalrus 11 місяців тому +555

      It's a great illustration of the Butterfly Effect. The changes to the initial conditions are so slight as to be almost imperceptible, but the impact that they have on the results is immense

    • @disappointedcucumber
      @disappointedcucumber 11 місяців тому +265

      @@WolfWalrus Love me some good chaos theory in a Wii game.

    • @Xbob42
      @Xbob42 11 місяців тому +200

      Was about to post the same thing. The lack of perfection in real life seems like a critical detail that I'm glad they didn't miss, it makes everything about this more interesting.

    • @fastertthanyou8805
      @fastertthanyou8805 11 місяців тому +76

      Wii play was made with lots of care the video on the tanks mini game music really showed that

  • @SummoningSalt
    @SummoningSalt 11 місяців тому +5497

    I enjoyed this a lot, good job

    • @tweer64
      @tweer64 11 місяців тому +91

      Hello Mr. Salt

    • @kr1v
      @kr1v 11 місяців тому +1

      Hmmmmm

    • @JBLilPaper
      @JBLilPaper 11 місяців тому +42

      Would you look who it is. The man who got me into Wii sports speedrunning

    • @Sam_Hue
      @Sam_Hue 11 місяців тому +34

      History of Wii Play Speedrun world records?

    • @tomdiamonds100
      @tomdiamonds100 11 місяців тому +4

      Hello summoning man

  • @Budgiebrain994
    @Budgiebrain994 11 місяців тому +1131

    I like how the game designers actually incorporated the real-world innacuracies of setting up a billiards table, and that we were somehow surprised to see that the balls weren't perfectly lined up each time

    • @evwbb
      @evwbb 11 місяців тому +41

      I feel like they just didn't want someone to be able to setup a 9 break every time and this was the easiest way to accomplish thay

    • @speedhunter7156
      @speedhunter7156 11 місяців тому +15

      ​@@evwbbeven irl thats virtually impossible ive watched enough to confirm that

    • @TheJacklikesvideos
      @TheJacklikesvideos 11 місяців тому +17

      @@evwbb i feel like this is an intrinsic mechanic to billiards that would be found in any decent videogame version.

    • @TheAmazingCowpig
      @TheAmazingCowpig 11 місяців тому +23

      ⁠@@evwbb why... would they care about making a 9 break impossible, compared to, you know, simply making the game more realistic, the more obvious motivation?

    • @ShankerJN
      @ShankerJN 10 місяців тому +3

      @@TheAmazingCowpigWell it’s not only about 9 breaks, let’s say it was as realistic as possible, there would still be a “best break”. Even if that was only say 4 balls, if you could replicate it easily it would be kind of dumb

  • @some-replies
    @some-replies 11 місяців тому +1518

    Hold up, that one guy's Mii was just reference points for where to hit the ball. Thats next level!
    0:45

    • @kataryn
      @kataryn  11 місяців тому +518

      yeah that's my own footage, i made the mii for that exact purpose :)

    • @HarvoSpoon
      @HarvoSpoon 11 місяців тому +57

      i tend to use my mii's nose as a centerpoint to aim the cue on

    • @dragonz4477
      @dragonz4477 11 місяців тому +27

      billiardo 💪💪

    • @5omebody
      @5omebody 11 місяців тому +10

      thanks, totally needed to see the eldritch horror that is that mii today

    • @MrSkerpentine
      @MrSkerpentine 10 місяців тому +3

      @@5omebodycould just be going for a Mii of Rorschach from Watchmen

  • @JM-qd6ot
    @JM-qd6ot 11 місяців тому +1910

    the part where you were like "one in 60? try one in 60 million" and played the Wii fit obese audio clip is comedy gold

    • @1unar_eclipse
      @1unar_eclipse 11 місяців тому +86

      5:49 for those looking

    • @hahasamian8010
      @hahasamian8010 11 місяців тому

      That's obese!

    • @SpammingY
      @SpammingY 11 місяців тому +20

      @@1unar_eclipse Thanks, saved me some time

    • @rprskalo1
      @rprskalo1 11 місяців тому

      only fatties recognize this noise

  • @coolmanjack1995
    @coolmanjack1995 11 місяців тому +1262

    Honestly this randomness makes sense considering how balls are racked up in real life. Kind of impressive of the devs to think about doing something like this although they wouldnt be so spaced out

    • @tommolldev
      @tommolldev 11 місяців тому +8

      But billiard balls are racked in a very repeatable and accurate way irl

    • @ultraeon
      @ultraeon 11 місяців тому +194

      @@tommolldevthere is still some small difference that occurs in the position of the balls irl

    • @NeatNit
      @NeatNit 11 місяців тому +97

      @@tommolldev Not in a microscopic scale. The game's simulation doesn't have a microscopic scale (no dust particles, no molecules, no scratches on the balls, no random tiny gusts of wind, etc.) so if a deterministic physics simulation is used, the only way to introduce randomness is to randomize position in this way. It's smart, for sure, although personally I don't think it's *that* impressively smart.

    • @Hotobu
      @Hotobu 11 місяців тому +5

      @@tommolldev 🤦🤦🤦🤦🤦🤦🤦🤦

    • @nathanbentley1939
      @nathanbentley1939 11 місяців тому +53

      That was my first thought too, that the RNG was an attempt to simulate the minuscule errors and offsets that would realistically occur when setting up a real billiards table, due to how utterly improbable it is that a human hand will plop something down in the same precise spot twice.

  • @nicroveda
    @nicroveda 11 місяців тому +1088

    7 BALLS

    • @hu5ky755
      @hu5ky755 11 місяців тому +59

      WHAT THE FU-

    • @arcticdino1650
      @arcticdino1650 11 місяців тому +8

      9 BALLS

    • @UniqueHandles
      @UniqueHandles 11 місяців тому +8

      Please return to speedrunning All Golds that was peak content

    • @NF30
      @NF30 11 місяців тому +2

      That moment made Nicro a household name

    • @Chrnan6710
      @Chrnan6710 11 місяців тому +5

      NINE-BREAK TWENTY-FOUR HOUR CHALLENGE

  • @PendragonDaGreat
    @PendragonDaGreat 11 місяців тому +445

    It's so subtle, and very much like the packing differences you see in pool IRL. It's also a perfect representation of a chaotic system, where very minor, even imperceptible, differences in initial conditions leads to wildly diverging results.

    • @MarioMastar
      @MarioMastar 11 місяців тому +12

      and the best part is, it doesn't look or feel like they did this JUST to prevent players from enjoying the game, but more so to make the game feel as realistic as possible. Nothing worse than when game developers add randomness to a system that didn't need to be random (like a basketball game having a programmed 5% chance to not fall into the hoop for "balance reasons") but in this case, it's an accurate representation of how billiards is set up IRL and thus with no two games being exactly alike, that adds a lot of replay value for casual players (and some risk pressure for speed runners that makes the game more fun to watch and see them adapt to get a faster time in the moment instead of just memorizing and making it another checkbox not worth watching).

  • @slouch186
    @slouch186 11 місяців тому +422

    im glad the physics are deterministic and that the RNG only comes from initial position.
    i need to see the 9 break

    • @Dremth
      @Dremth 11 місяців тому +8

      My first thought was that maybe the physics is non-deterministic, which is pretty easy to do if you use a variable time step.

    • @MarioMastar
      @MarioMastar 11 місяців тому +10

      Yeah, sounds like from here you don't even need to brute force. It's now a matter of math. You can probably write a script to make the micro adjustments and simulate the results without watching manually and highlighting the combination of variables that result in interesting points like a 9 ball, an 8 ball, or a scratch (something the video didn't bring up, but is worth noting, if the white ball is sunk, that's a scratch and thus a dud, but for curiousity's sake, would it be possible to hit the ball where all 10 balls are sunk? just for fun).
      Reminds me of how RNG seeds are brute forced to find the perfect seed that gets the right outcome and what actions it takes to get that. In those games you have to do some brute force to advance the seed just enough, but in this, since all that matters is the position of the cue, the angle, how far back you pull the cue, and maybe how fast you push the cue forward (not sure), all you need is the algorithms for how the balls interact with each other and the walls, then put it all in python and let it run. Then test the successes manually to verify. That's what computer science is all about.

  • @ArkanoidZero
    @ArkanoidZero 11 місяців тому +261

    You know it's actually quite funny that no real billiards players ever looked at this, because they could have told you right off that the exact position of the balls in the rack has a dramatic effect on the break, and my immediate assumption is that the game is doing position randomization, since other pool games nintendo has made also do it, Clubhouse games (ds) does it really obviously for example.

    • @kataryn
      @kataryn  11 місяців тому +90

      very interesting insight. Murasaki, one of the best Wii Play speedrunners and someone I briefly mentioned in the video, actually does have real life pool experience. I don't think he ever mentioned this, but he was one of the first people to put his stake in the "there's definitely RNG" ground

    • @exscalliber
      @exscalliber 11 місяців тому +47

      Knowing how to read a rack is definitely something higher level players do. You almost never see lower to mid level players (Fargo

    • @kataryn
      @kataryn  11 місяців тому +14

      @@exscalliber that's super interesting

    • @GiraffeFlavored
      @GiraffeFlavored 10 місяців тому +7

      @@exscalliberNeeding to learn the rules and nuances of pool? In MY pool game!? It's more likely than you think!

  • @SharpForceTrauma
    @SharpForceTrauma 11 місяців тому +198

    Billiards is chaos theory in practice. Infinitesimal variables all come together to impact how your shot goes, everything from how you are holding your cue, your technique, the condition of the table, where the cueball strikes, everything.
    You could make the exact same break hundreds of times and you'll never get the same outcome.

  • @Veltrosstho
    @Veltrosstho 11 місяців тому +312

    From a real life physics POV, sinking the 9th ball is almost impossible due to the way the balls are set up in a diamond pattern, as the center ball is akin to the middle balls in a newton's cradle, all the force delivered onto is exerted into another ball.
    The physics engine in the game may literally not have enough power to move every single ball into a hole.
    Good luck, I want to see it happen!

    • @xvgm24
      @xvgm24 11 місяців тому +12

      "almost"😎

    • @TemmiePlays
      @TemmiePlays 11 місяців тому +5

      actually Ivd thought in this and it's more impossible due to a single thing!
      _scratching_
      that is to say, when you *sink the cueball* or *sink the 8 ball at any time where you didn't call the shot, And not before sinking your solid/stripes.
      so in addition to physically getting 8 balls to sink, you'd need them to go in a way where the cueball does not , and the 8 ball goes last.
      I kinda think this is actually impossible
      unless you just wanna get 9 balls in and also scratch 🤷🏻‍♀️ odds are palpable in that Instance.
      based on this videos evidence and the sheer amount of rng involved I don't think this is gonna happen organically nor in a way that adheres to the game rules

    • @lukeahandsa
      @lukeahandsa 11 місяців тому +36

      ​@@TemmiePlays Wii Play uses 9ball rules, not 8ball. You don't have to sink the 8 ball last. You have to hit balls in increasing order, but you can sink any ball any time, no solids or stripes necessary (the balls in game are all solid too)

    • @kolaas2006
      @kolaas2006 11 місяців тому +8

      The 9 gets potted pretty often in real life 9-ball pool, but it's being caromed by other balls into a pocket.

    • @MarioMastar
      @MarioMastar 11 місяців тому +1

      @@TemmiePlaysWell you're basically asking for a 10-ball pot if you include the cue ball. Due to the physics though, the only way that'd happen is if you hit the ball in such a way that the balls bounced off the wall and hit the cue ball in a way that caused it to sink as well. Whcih is less likely due to limitations in how much power you can put in, but I'm sure there are seeds that make it possible. It's all a numbers game at this point, so regardless of physics or skill, this kind of turned into a computer science or math problem now that we know all the variables involved so far and the math never changes in code (unless they also added RNG to the balls bouncing and based that on factors that in no way could be measured but I doubt this game is THAT deep)

  • @thomaswalters7117
    @thomaswalters7117 11 місяців тому +84

    Small, random changes to the ball position in the rack seems like exactly the correct way to produce randomness in a billiards game, since it is also a source of randomness in a real game.

  • @ruinerryan
    @ruinerryan 11 місяців тому +139

    10 break will happen… even the cue ball goin in 🔥

  • @steeliest
    @steeliest 11 місяців тому +112

    the fact that Wii Sports billiards has probably the most realistic depiction of a break diamond between each round is amazing

    • @MarioMastar
      @MarioMastar 11 місяців тому +11

      Reminds me of how Pokemon Heart Gold/Soul Silver's Pokewalker was the most accurate step counter for a time.

  • @_fudgepop01
    @_fudgepop01 11 місяців тому +227

    @ 4:00 Pro Ghidra tip:
    Something I learned in reverse engineering Brawl is that direct reads from FLOAT_address and DOUBLE_address are pretty much always read-only when there’s a series of known bytes there. If you follow the address, you can untick the “volatile” box and it should show the actual proper values that are at those locations instead of just “a float/double exists at this address and we don’t know what it might be”

    • @kataryn
      @kataryn  11 місяців тому +74

      yeah, I learned that in the process of decompiling the piece of code mentioned in the video and it helped a lot

    • @kiwidev_
      @kiwidev_ 11 місяців тому +8

      WHAT

    • @_fudgepop01
      @_fudgepop01 11 місяців тому +18

      ​@@kiwidev_ YEAH IT SAVES SO MUCH HASSLE LMAOOO
      before I knew that I went and manually named each variable to its value so like... "FLOAT_6" or whatever.
      it was hellish - BUT making them as read only makes it SOOOOO much easier to intuit the functions of things with lots of floats ^^

    • @kataryn
      @kataryn  11 місяців тому +35

      @@_fudgepop01 i totally misunderstood your comment at first - i knew the "FLOAT_address" values were constants but i was using a dolphin memory viewer to look at the values, i didn't know there was a setting to access them directly in ghidra. that's such a timesaver lol

    • @_fudgepop01
      @_fudgepop01 11 місяців тому +9

      @@kataryn OH HECK YEA I’m glad it helps!! It really was a game changer ^^

  • @Xeare204
    @Xeare204 11 місяців тому +35

    Definitely feels like the intro to a much longer video, and then it ends.
    Which means part 2 in 7 years is gonna be a fuckin' banger.

    • @MrKo1233
      @MrKo1233 11 місяців тому +7

      I really hope that just randomly pops up in my recommendations 7 years from now

    • @ToaderTheToad
      @ToaderTheToad 11 місяців тому +5

      Yeah I was expecting 8:49 to lead into a video showing a TAS of a 7 or more break and then it just...ended

  • @Trelior
    @Trelior 11 місяців тому +46

    The random variance on the diamond is actually fairly realistic, there's the same kind of variance on a real pool table. Kudos to Nintendo for factoring something like that in.

    • @MarioMastar
      @MarioMastar 11 місяців тому +4

      and not for "fake balance" reasons but to actually simulate IRL variance.

    • @Trelior
      @Trelior 8 місяців тому

      @@MarioMastar Who said _anything_ about "fake balance?"

  • @EnderCrome
    @EnderCrome 11 місяців тому +63

    The fact that someone hasn't even been able to TAS this yet makes it so incredible. I hope that even if it proves to be theoretically possible with no position deviations, someone is able to accomplish sinking 9 balls even with the randomness of the positions.

    • @TyroRNG
      @TyroRNG 11 місяців тому +6

      I guess you could just run a bot now which would check every possibility strength, angle, hit position and ball position one by one.
      Though who knows just how long that would take, not to mention lag might be a factor.

  • @benruniko
    @benruniko 11 місяців тому +9

    That is a clever solution Nintendo added for the sake of realism. Obviously in reality no two shots can ever be identical but the randomness could have been added in a hundred different places. Very smart of them to understand chaos is easiest simulated with slight changes to initial conditions.

  • @HoboJR4
    @HoboJR4 10 місяців тому +4

    that randomizing of the small shift of the balls on the rack is so realistic to real billiards that's cracked from the devs on doing that.

  • @darx2823
    @darx2823 11 місяців тому +47

    I absolutely love how on a video about a 9 break, its exactly 9:00 long

  • @SMMidi
    @SMMidi 11 місяців тому +91

    you led up to 7 BALLS perfectly omg and included the new one, this is so well made! also 9 ball irl is pretty cool would recommend

    • @eins2001
      @eins2001 11 місяців тому +2

      I personally prefer it to 8 ball irl for sure

    • @bruceyuchuanyu
      @bruceyuchuanyu 9 місяців тому +1

      In my country everyone plays nine balls

  • @thomasharris9059
    @thomasharris9059 11 місяців тому +26

    It is very interesting how they’ve added RNG in a way which still leaves it up to the player. Even if it’s not really humanly possible to take advantage of.

  • @Duckable
    @Duckable 11 місяців тому +36

    I genuinely admire the fact that you can make a 10 minute video about Wii play 9 ball billiards. Great video

    • @LiliumOrientalis
      @LiliumOrientalis 11 місяців тому +2

      It's exactly 9 minutes long, which just makes it that much better!

  • @Stereomoo
    @Stereomoo 11 місяців тому +35

    One thought I have for simplifying the search is, if you can figure out when balls touch, maybe you can work from front to back, find a solution that sinks the front ball after it's only hit the cue ball and one of the ones behind it, then use the random adjustment available on the 3rd ball that the second ball hits, to make the second one sink, etc. If you can reduce it to 1-2 collisions at a time then the behaviour gets a lot closer to deterministic so you can use normal optimization methods like hill climbing to get balls into pockets.
    I suppose you'd want to do a viability study first, toss out a bunch of random starts, count collisions, and see if there are any that sink lots of balls and remain at low collision counts, or if the early microseconds of the break involve a huge number of back and forths before the balls scatter.

  • @Nintendrew
    @Nintendrew 11 місяців тому +22

    This is fascinating! May the algorithm smile upon you.

  • @Jademalo
    @Jademalo 11 місяців тому +49

    Ooohhh, this is incredibly fun.
    Bruteforceing like this has been done a few times, Sockfolder's old OoT/SM64/SMB setups and Krithalith's recent work on SM64 spring to mind. The interesting part will be deciding what variables to lock and what to iterate, since even locking the balls there's so many available just in cue speed, cue position, and aim.
    Good luck!

    • @Ghi102
      @Ghi102 11 місяців тому +3

      Exactly! You could set the balls to always the same position, but there's no guarantee that an 8 or 9 break exists for all cue positions and speeds, it's a really big solution space

    • @StartTheDayWithKeele
      @StartTheDayWithKeele 11 місяців тому

      Would probably lock all of the cue variables and focus only on adjusting the initial ball positions until you get closer and closer to 9 balls in. Once a ball goes in with a shot, lock its position for the next shot, and brute force the other positions until 2 go in. Then 3, then 4 etc. This would at least be my initial approach.

  • @Simoran
    @Simoran 11 місяців тому +39

    Adam Neely enjoyer spotted, always nice to see Sungazer's music in random videos lol. Awesome video, also!

    • @calvinwright1605
      @calvinwright1605 11 місяців тому +1

      I was hyped right when I heard it

    • @jBun12
      @jBun12 11 місяців тому

      Agreed. I heard the into fill and went :o

    • @ikosahelix9342
      @ikosahelix9342 10 місяців тому

      that shit always puts me in a good mood, came to see if anyone else recognized lol

  • @AstralSpiff
    @AstralSpiff 11 місяців тому +3

    This SLAPS I LOVED wii play as a kid, I will be waiting patiently for the 9 break

  • @The_Peter_Channel
    @The_Peter_Channel 11 місяців тому +7

    This video until 1:21: "Hey, what aboutTAS?"
    This video after 1:21: "Now this is getting interesting!"

  • @mattymattffs
    @mattymattffs 11 місяців тому +3

    Guess I should've found the community a decade ago because I could have told you that the starting position of the balls is randomized.

  • @Niosai
    @Niosai 11 місяців тому +8

    I am suddenly emotionally invested in the Wii Play Billiards challenge community

  • @AbbyMMusic
    @AbbyMMusic 11 місяців тому +41

    10/10 video but it must be pointed out that your Wii Play Billiards journey began in like 2009

    • @kataryn
      @kataryn  11 місяців тому +42

      the first obstacle was figuring out how to hit the ball

  • @KefkeWren
    @KefkeWren 11 місяців тому +1

    Funny thing. The RNG in Wii Billiards is actually attention to detail. In real billiards, the balls are manually racked with a loose guide, and jostled slightly prior to the break. Which means that they will, in fact, always be in very slightly randomized positions. The Wii is accurately modelling a human setting up the game.

  • @maxmustermann5590
    @maxmustermann5590 10 місяців тому +5

    It's not 'rigged'. It's just a good simulator lol. Real billiard has those Tiny differnces, which makes all breaks unique

  • @StrathPool
    @StrathPool 10 місяців тому +1

    In real pool, the best breaks come from the tightest racks. Try manually changing the code to ensure that ajacent balls in the rack are touching. Then break with maximum power. Hope this helps!

  • @RyMacG4
    @RyMacG4 7 місяців тому +12

    Update: ElectrifiedStrawberry finally got the first 9 break in TAS!!!
    ua-cam.com/video/Dd_BZfO1L24/v-deo.html

  • @SqueakyNeb
    @SqueakyNeb 11 місяців тому +2

    Phillip is an absolute G for admitting the video is fake. Proper gentleman.

  • @therealdia
    @therealdia 11 місяців тому +16

    This sounds very interesting; if you genuinely want to do this, this is my suggestion:
    Take the time to recreate a stripped down version of the game, that will simply take the inputs (the 9 randomness values, ir position, etc.) and then calculate the end result as it would happen in the game. This would allow you to test things out much much quicker than by trying to automatically patch the values and test it in Dolphin.
    Plus, you may find ways to optimize the code even further.
    And if all else fails, chart all the different end positions and use statistics to determine the odds of a 9 shot.

    • @kataryn
      @kataryn  11 місяців тому +6

      hey, thanks for the input. we're already sort of doing that within dolphin by disabling some of the rendering, but turning it into a fully headless simulation like you're suggesting would require a much bigger decompilation project. as shown in the video, if we want to do anything with the game's code, we have to piece it together from the raw assembly to turn it into something readable, which none of us currently have the time to do on a large scale. maybe someday though

    • @TheArtikae
      @TheArtikae 11 місяців тому +5

      @@katarynOh jeez, that would certainly be a task and a half.

  • @HmmmmmLemmeThinkNo
    @HmmmmmLemmeThinkNo 11 місяців тому +2

    That is _such_ a good bit of realism added to a video game!! A lot of care went into making that game, and I'm pleasantly surprised and impressed.

  • @Tydusis1
    @Tydusis1 11 місяців тому +7

    I think the biggest constraint would be finding out if all ball positions support getting a 9-break. Assuming that a max power shot put in the right place every time is a key to success (to reduce variables), is there a ball position offset that is conducive to a 9-break? Alternatively, if the positions are fixed, is there a shot angle and power that can cause a 9-break? A lot of variables to be sure, but quite interesting to think about!

  • @jeffthealienband
    @jeffthealienband 11 місяців тому

    This is one of the best video essays I've seen in awhile, just kept getting better and better. keep it up bro

  • @shocker1410
    @shocker1410 11 місяців тому +4

    An incredible video. Smooth, well-edited, well spoken, informative. I was glued to the screen the entire time.

  • @RePlayQ
    @RePlayQ 11 місяців тому +1

    I clicked on this video just to say that 9-ball is the most popular cue game world wide. 8-ball is really only played in the USA.

  • @BigBossJelly
    @BigBossJelly 11 місяців тому +5

    I actually uploaded a video 13 years ago of Wii Play getting a 4 break and thinking that was already amazing/lucky. The 7 is just crazy to me

  • @PerkyPineapple
    @PerkyPineapple 11 місяців тому +1

    I'll be honest, this conclusion feels pretty obvious if a TAS couldn't recreate a break

  • @Audio_noodle
    @Audio_noodle 11 місяців тому +5

    Gotta love the sungazer banger, didn't expect that on a wii play video of all things

  • @grafknives9544
    @grafknives9544 11 місяців тому +1

    IF the ball position precision is as high as the reverse eng. number(0.143925) suggest than we have:
    287 850 positions in x axis and
    TIMES 287 850 in z axis.
    To the power of 9. (9 balls)
    Times hit power levels - lets say 256
    Times the direction of hit - lets say 256
    times cue position (x and y axis) - lets say 64 each.
    wolfram alpha says it is 10^106.
    If every atom (10^79 )of the universe was a computer, making one wii billard simulation per second since the beginning of time (10^17) we would test only one billionth of the possible hits.
    Good luck with brute forcing that.
    All that considering that physics enging is really THAT precise.

  • @avgact
    @avgact 11 місяців тому +8

    9ball pool is arguably more popular in the competitive pool scene (I've played in both 8 and 9 ball tournaments and the 9 ball ones always have a bigger field even in the same regions)

    • @Scotty97
      @Scotty97 11 місяців тому +2

      Yeah 9 ball is pretty much the game at an elite level

    • @scottl.1568
      @scottl.1568 11 місяців тому

      I was getting ready to say the same thing... 9-ball is all I play 😅

  • @finkelmana
    @finkelmana 10 місяців тому +2

    People dont play 9 ball in real life? Its THE most popular and televised billiard game in America. Most tournaments are 9 ball. Granted 10 ball is gaining in popularity, as it does take luck out of accidentally making a ball on a legal shot and continuing play. 10 ball requires calling one ball and one pocket. 8 ball is definitely the most well known game and is the easiest to learn and play. Granted, most people dont actually know the real rules to 8 ball anyway. They just play the way someone else told them. Finally, there is a phrase pool players know, "what is the most important shot in pool? The next one."

  • @j.r.williamson5475
    @j.r.williamson5475 11 місяців тому +9

    Sungazer as background music? Excellent taste!

  • @DanTheStripe
    @DanTheStripe 11 місяців тому +2

    Really good video this, short and sweet. Can see the algorithm picking this up and running with it over the next few weeks. Good luck in your journey to finding the 9 break!

  • @galaxsci
    @galaxsci 11 місяців тому +3

    i love the editing on this video: the font especially. good luck on the nine ball sink!

  • @Pikamander2
    @Pikamander2 11 місяців тому +1

    If you know all the game's underlying physics math, then you could probably run a simulation in Python or something until you get the right combo of starting seed and shot strength.

  • @firefox1965
    @firefox1965 11 місяців тому +3

    Banger video. Good to know you're still breaking down Wii games. Crazy stuff. I also jumped when I saw Philipp Stollenmayer's name pop up because he's a game dev that made several mobile games I've played before. So the fact that you reached out to him and he responded is kind of nuts.

    • @kataryn
      @kataryn  11 місяців тому +3

      thanks so much, and also wow, that's really cool! i had no idea. i guess he's been around for a long time then because that impossible shot video was uploaded in 2009

    • @firefox1965
      @firefox1965 11 місяців тому +1

      @@kataryn Yeah I guess!

    • @ripstick45
      @ripstick45 11 місяців тому +1

      didn't ever think Wii Play Billiards would somehow be connected to my middle-school addiction to the mobile game "Okay?" all those years ago LMAO.

  • @patrickq4665
    @patrickq4665 11 місяців тому +2

    It's not rigged, its realistic. Watch any billiards tournament, the balls are hand placed, there's almost never perfect placement.

  • @saintsheepy6682
    @saintsheepy6682 11 місяців тому +5

    0:06 Actually, 9 ball pool is the game of choice in national World of Pool championships.

    • @eins2001
      @eins2001 11 місяців тому +1

      Makes sense. It's far more focused on consistency, accuracy, and layup prediction.

    • @saintsheepy6682
      @saintsheepy6682 11 місяців тому

      @@eins2001 Eeyup. And I even heard in a video where Efren Reyes and Mike Siegel played against each other in a game of 🎱, one of the announcers mentioned how he heard how 9-ball is to checkers whilst 8-ball is to chess.

  • @jamesknapp64
    @jamesknapp64 11 місяців тому +1

    3 thoughts
    1. I highly suspect that if a 9 Break is possible that it may require a very small subset of the possible starting positions **and** an exact break fron the given starting position.
    Finding it by brute force would be like winning multiple lotery tickets at the same time.
    2. This video was amazing. 5 years well worth the effort
    3. I wonder if an 8-break is even possible though.

  • @RedKincaid
    @RedKincaid 11 місяців тому +3

    9 minutes ago I had never even heard of Wii Billiards, now i'm excited and anxious to see a potential 9 break. Subbed

  • @piguyn
    @piguyn 11 місяців тому +2

    Great video and incredible discovery. Also you are so crazy awesome for the Sungazer music

  • @MrJimmysteel25
    @MrJimmysteel25 11 місяців тому +7

    Awesome video explaining the journey to a potential 9 break

  • @BBSplat
    @BBSplat 11 місяців тому

    While searching for a 9-break by manually specifying the initial positions of the balls is a good lead, it's also important to note that you'll need to verify that there exists a random starting seed that can generate that exact list of positions, which isn't guaranteed.

  • @justlookaroundpeople
    @justlookaroundpeople 7 місяців тому +3

    It's been done! and it's beautiful!

  • @EjayB
    @EjayB 10 місяців тому

    Great video dude! Billiards was my favourite Wii Play game growing up as a kid, so seeing the effort that was put into the decomp and physics analysis is awesome

  • @EmDanNel-ol9oz
    @EmDanNel-ol9oz 11 місяців тому +4

    FYI, the guy you emailed is one of the best mobile indie game developers in the world. 🙂

  • @s3xio
    @s3xio 11 місяців тому +1

    That sungazer breakdown was hard af ngl

  • @soggycat
    @soggycat 7 місяців тому +4

    electrifiedstrawberry did it in a tas!!!

  • @devansurf
    @devansurf 11 місяців тому +1

    Running differential evolution to find a global solution might be possible

  • @Aidanryry
    @Aidanryry 11 місяців тому +3

    0:47 I like the mii with the face to help aim

  • @heroclix0rz
    @heroclix0rz 11 місяців тому +7

    This is a chaos theory problem. The solution space is probably not differentiable. I suspect your best chance at brute forcing this involves a super computer. And it still might take a heat death of the universe or two.

    • @jamesknapp64
      @jamesknapp64 11 місяців тому

      Several Heat Deaths of the Universe later we're still looking.

    • @DrewryPope
      @DrewryPope 11 місяців тому

      it'll involve luck but that's all of speedrun. keep good track of which runs you've tried and focus on parallelizing.

  • @bugjams
    @bugjams 11 місяців тому +1

    3:46 Recently, Wii Teamed Up to try and take another stab at solving it from the inside out, and Wii Actually Found Something.

  • @Mr.ShyGuyYT
    @Mr.ShyGuyYT 11 місяців тому +12

    if this gets a million views, just know i predicted it.

  • @CDVermilion
    @CDVermilion 10 місяців тому

    Phenomenal video. Brilliant thumbnail, excellent presentation, fantastic visuals. I'm also blown away by the elegance behind the randomization of the first shot, it mimics real life while allowing the physics engine to remain deterministic (theoretically, anyhow). Keep up the great work!

  • @cubesandpi
    @cubesandpi 11 місяців тому +3

    the wii fit BMI sound at 5:50 got me

  • @paintspot
    @paintspot 11 місяців тому +1

    Loved hearing a bit of Adam Neely's band Sungazer in the background! Nice :)
    -Paintspot Infez
    Wasabi!

  • @c.d.x34
    @c.d.x34 11 місяців тому +3

    If there's one thing I've learned from speedrun communities across who knows how many games, it's that if there's RNG, there's a manip for it. Someone just has to find it.

  • @thatguyw8908
    @thatguyw8908 11 місяців тому +1

    Thank you for doing a deep dive on this . I didn't know the depths speedrun have looked over the code but I'm not surprised. Keep it up

  • @ODISeth
    @ODISeth 11 місяців тому +4

    I kinda hate how much of the tech world is revolving around AI these days but, this seems like a really good opportunity for it. Setting up a neural net, feeding it the RNG values, and training it with the goal of getting a 9 ball break would be a great tool tor TAS makers to figure out a) if it’s possible, b) what RNG seeds it is and isn’t possible on, and c) whether or not it can be consistent. This is exactly what AI should be for, not stealing the hard work of creators for generating content, but performing repetitive trivial tasks based on extremely precise values to achieve theoretically possible goals!

    • @teliots
      @teliots 11 місяців тому

      This is a stupid comment and totally misses the purpose of machine learning.

  • @SteffedPepper
    @SteffedPepper 11 місяців тому +1

    I dont know if I've ever thought of (mostly realistic) RNG as "rigged". Isn't that kind of the opposite?

  • @Avendesora
    @Avendesora 11 місяців тому +1

    I've seen way too many cases of people finding out a strat they thought the community discovered three years ago has been old news for a decade in a different language community to believe there are only four videos of this happening floating around online.

    • @kataryn
      @kataryn  11 місяців тому

      you're right that this scenario has happened far too many times in speedrunning, but i've scoured niconico, bilibili, etc. as well and found nothing. even the most dedicated TASer of wii play, taityo, who is japanese, has never gotten higher than a 7-break. it's possible that there's still something out there though

  • @Gotwired
    @Gotwired 11 місяців тому +1

    In real life pool, it is definitely possible to come up with a trick shot that makes 9 balls in one shot. Inventing a shot that makes 9 balls in one shot that is roughly in the form of a 9 ball rack would take some creativity and effort, but is probably possible. You might want to study up on the ghost ball and tangent line to get started. That exact position coming up in an actual game is probably about as close to 0 as you can get, though. In the entire 100 year plus history of 9 ball I doubt 8 balls have ever been made on the break (not counting the cue ball), much less 9. 7 is uncommon, but happens from time to time. The most I have seen personally is 6.

  • @qualcumm6190
    @qualcumm6190 10 місяців тому +1

    It‘s a little late but the Creator of the fake video is actually the same dude who made „bacon - the game“ and verticow

  • @FairlySadPanda
    @FairlySadPanda 11 місяців тому +1

    Hello, I am a maintainer of a billiards game.
    This is really smart and I am probably going to rip it off to add to my own sim. :D
    The reason this was done was almost certainly to avoid the common problem of people figuring out a cheesy "optimal" break and spamming it. 9-ball is pretty notable for being a type of billiards where someone can just play a solo game off a good break, and the virtualized mathematical sim that the Wii will do (and games like mine do) is stable, as you prove.
    Would love to see a decomp of the physics system they used. You can express a complete 2d billiards system in surprisingly little code.

    • @ThisUsernameSystemF-ckingSucks
      @ThisUsernameSystemF-ckingSucks 11 місяців тому

      See this kinda confuses me. Did it really take this long to figure out the randomisation of the balls considering the breaks were always random? Seem like the first thing anyone would do for a game that involves random outcomes for fun and varied matches.

  • @lifeiswonderful22
    @lifeiswonderful22 11 місяців тому +1

    Sometimes the algorithm just gives me a mind-blowing video about a game or topic I never cared about until now.

  • @ScrDesh
    @ScrDesh 11 місяців тому +1

    The video is 9 minutes long exactly, nice detail.
    Also I particularly like your Groove, I hope we'll see a one-shot game of Wii Play Billiards soon!

  • @Killysunt
    @Killysunt 11 місяців тому

    Well presented & interesting, good job man

  • @shmovinnn
    @shmovinnn 11 місяців тому +2

    great video!!! so high quality, keep up the good work

  • @Walmart_joker
    @Walmart_joker 11 місяців тому +1

    So um actually I did a 9 ball break back in 1956 but since getting a consumer recording device was prohibitively expensive then I unfortunately didn’t record it but my friend who has since passed away was sitting beside me and would attest to that

  • @octavgg
    @octavgg 11 місяців тому +1

    I just watched the best video about a digital 9 ball game with janky code ever, and it was amazing. Truly fascinating how code with such simple goals remains hidden for so long

  • @Ad-im1ne
    @Ad-im1ne 11 місяців тому

    Extremely concise and informative. When someone says they've been wanting to make a vid for years, that's how you know it's gonna be a banger

  • @tsvtsvtsv
    @tsvtsvtsv 11 місяців тому +1

    recognized that sungazer song immediately even super quiet hehe

  • @ChickenScratch
    @ChickenScratch 11 місяців тому +2

    I really want to see a 9 break become a real thing (even if it's only in a tas)

  • @SeanOBrienK
    @SeanOBrienK 10 місяців тому

    This was a rollercoaster start to finish. Solid explanation in under 10 min. I really hope the original developer who put in that RNG sees this. I can imagine feeling so proud that someone finally noticed.

  • @twitertaker
    @twitertaker 10 місяців тому

    Kudos to the developers to come up with such a simple, elegant, invisible and realistic solution to introduce randomness. It is quiet clever.

  • @Sniperwolfgang
    @Sniperwolfgang 11 місяців тому +1

    Hey man, I really like this video. Please make more like this! It doesn't have to be Wii games. Just the way you're explaining it is really nice.

  • @billclintonsmagicbeefarm
    @billclintonsmagicbeefarm 11 місяців тому +1

    Aha I thought I was crazy but that is indeed the Class of 09 title music at the start. Impeccable taste you must have

  • @Agedude
    @Agedude 11 місяців тому +1

    I distinctly remember getting a 'god break' many years ago but I can't be sure how many balls were sunk. Does the game track players' lowest scores? I might still have a save file backed up on my Wii U

    • @kataryn
      @kataryn  11 місяців тому +1

      if you mean highest scores then yes, i'm pretty sure that's all it tracks though

    • @Agedude
      @Agedude 11 місяців тому

      @@kataryn I checked my Wii U and it seems the file isn't there, so maybe I never moved it over from my Wii. I would love to say that it was a 9 break but I'm sure my memory isn't reliable enough to be sure.

  • @Leander_
    @Leander_ 10 місяців тому

    That was shockingly engaging, awesome video! Good luck with the research.