The unsolved Wii game you've probably played before

Sdílet
Vložit
  • čas přidán 12. 02. 2024
  • a video i've been waiting to make for 5 years! hope you enjoy
    special thanks first and foremost to kiwi for making this possible!
    twitter - / kiwi_szs
    youtube - @kiwidev_
    github - github.com/kiwi515/
    join the Billiards research discord - / discord
    join the Wii Series Speedrunning discord - / discord
    check out Wii Play on speedrun.com - www.speedrun.com/wii_play
    if this video interested you, you can catch plenty of Wii Play action (including a heaping dose of billiards) in the speedrunning scene on Twitch - here are a few people to go follow:
    / mrjimmysteel25
    / smmidi
    / mur45ak1
    / aryl_l
    / nicro
    / sirgoku1
    songs used (in order):
    Menu Theme from "Class of '09"
    Sungazer - Sequence Start
    cudsys - difficulty_jungle (remix of the jacket theme from Wii Music)
    Main Theme from "Wii no Ma"
  • Hry

Komentáře • 1,3K

  • @kataryn
    @kataryn  Před 3 měsíci +1049

    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 Před 3 měsíci +2

      9-ball ftw!!

    • @ManuFortis
      @ManuFortis Před 3 měsíci +49

      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.

    • @user-rs1iq3kt6l
      @user-rs1iq3kt6l Před 3 měsíci +6

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

    • @professorhaystacks6606
      @professorhaystacks6606 Před 3 měsíci +7

      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 Před 3 měsíci

      Maybe you can get in touch with CodeBullet or another ML CZcamsr 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.

  • @SummoningSalt
    @SummoningSalt Před 3 měsíci +5421

    I enjoyed this a lot, good job

    • @tweer64
      @tweer64 Před 3 měsíci +91

      Hello Mr. Salt

    • @kr1v
      @kr1v Před 3 měsíci +1

      Hmmmmm

    • @JBLilPaper
      @JBLilPaper Před 3 měsíci +41

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

    • @Sam_Hue
      @Sam_Hue Před 3 měsíci +34

      History of Wii Play Speedrun world records?

    • @tomdiamonds100
      @tomdiamonds100 Před 3 měsíci +3

      Hello summoning man

  • @matthewbertrand4139
    @matthewbertrand4139 Před 3 měsíci +5582

    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 Před 3 měsíci +446

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

    • @WolfWalrus
      @WolfWalrus Před 3 měsíci +537

      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 Před 3 měsíci +256

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

    • @Xbob42
      @Xbob42 Před 3 měsíci +195

      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 Před 3 měsíci +74

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

  • @no-replies
    @no-replies Před 3 měsíci +1457

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

    • @kataryn
      @kataryn  Před 3 měsíci +501

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

    • @HarvoSpoon
      @HarvoSpoon Před 3 měsíci +53

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

    • @dragonz3630
      @dragonz3630 Před 2 měsíci +23

      billiardo 💪💪

    • @5omebody
      @5omebody Před 2 měsíci +8

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

    • @MrSkerpentine
      @MrSkerpentine Před 2 měsíci +2

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

  • @nicroveda
    @nicroveda Před 3 měsíci +1050

    7 BALLS

    • @hu5ky755
      @hu5ky755 Před 3 měsíci +56

      WHAT THE FU-

    • @arcticdino1650
      @arcticdino1650 Před 3 měsíci +7

      9 BALLS

    • @UniqueHandles
      @UniqueHandles Před 3 měsíci +7

      Please return to speedrunning All Golds that was peak content

    • @NF30
      @NF30 Před 3 měsíci +1

      That moment made Nicro a household name

    • @Chrnan6710
      @Chrnan6710 Před 3 měsíci +4

      NINE-BREAK TWENTY-FOUR HOUR CHALLENGE

  • @Budgiebrain994
    @Budgiebrain994 Před 3 měsíci +1066

    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 Před 3 měsíci +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 Před 2 měsíci +14

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

    • @TheJacklikesvideos
      @TheJacklikesvideos Před 2 měsíci +16

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

    • @TheAmazingCowpig
      @TheAmazingCowpig Před 2 měsíci +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 Před 2 měsíci +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

  • @JM-qd6ot
    @JM-qd6ot Před 3 měsíci +1869

    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

  • @coolmanjack1995
    @coolmanjack1995 Před 3 měsíci +1236

    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

    • @the.bog.
      @the.bog. Před 3 měsíci +8

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

    • @ultraeon
      @ultraeon Před 3 měsíci +189

      @@the.bog.there is still some small difference that occurs in the position of the balls irl

    • @NeatNit
      @NeatNit Před 3 měsíci +94

      @@the.bog. 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 Před 3 měsíci +5

      @@the.bog. 🤦🤦🤦🤦🤦🤦🤦🤦

    • @nathanbentley1939
      @nathanbentley1939 Před 3 měsíci +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.

  • @slouch186
    @slouch186 Před 3 měsíci +404

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

    • @Dremth
      @Dremth Před 3 měsíci +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 Před 2 měsíci +9

      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 Před 3 měsíci +229

    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  Před 3 měsíci +84

      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 Před 2 měsíci +43

      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  Před 2 měsíci +13

      @@exscalliber that's super interesting

    • @GiraffeFlavoredCondoms
      @GiraffeFlavoredCondoms Před 2 měsíci +7

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

  • @PendragonDaGreat
    @PendragonDaGreat Před 3 měsíci +428

    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 Před 2 měsíci +11

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

  • @SharpForceTrauma
    @SharpForceTrauma Před 3 měsíci +192

    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.

  • @ruinerryan
    @ruinerryan Před 3 měsíci +128

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

  • @thomaswalters7117
    @thomaswalters7117 Před 3 měsíci +79

    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.

  • @Veltrosstho
    @Veltrosstho Před 3 měsíci +303

    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 Před 3 měsíci +11

      "almost"😎

    • @TemmiePlays
      @TemmiePlays Před 3 měsíci +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 Před 3 měsíci +35

      ​@@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 Před 2 měsíci +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 Před 2 měsíci +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)

  • @steeliest
    @steeliest Před 3 měsíci +106

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

    • @MarioMastar
      @MarioMastar Před 2 měsíci +9

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

  • @_fudgepop01
    @_fudgepop01 Před 3 měsíci +221

    @ 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  Před 3 měsíci +72

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

    • @kiwidev_
      @kiwidev_ Před 3 měsíci +8

      WHAT

    • @_fudgepop01
      @_fudgepop01 Před 3 měsíci +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  Před 3 měsíci +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 Před 3 měsíci +9

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

  • @EnderCrome
    @EnderCrome Před 3 měsíci +61

    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 Před 3 měsíci +5

      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.

  • @Xeare204
    @Xeare204 Před 3 měsíci +34

    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 Před 2 měsíci +6

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

    • @ToaderTheToad
      @ToaderTheToad Před 2 měsíci +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 Před 3 měsíci +44

    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 Před 2 měsíci +4

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

    • @Trelior
      @Trelior Před 12 dny

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

  • @SMMidi
    @SMMidi Před 3 měsíci +90

    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 Před 2 měsíci +2

      I personally prefer it to 8 ball irl for sure

    • @bruceyuchuanyu
      @bruceyuchuanyu Před 23 dny +1

      In my country everyone plays nine balls

  • @darx2823
    @darx2823 Před 3 měsíci +40

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

  • @thomasharris9059
    @thomasharris9059 Před 3 měsíci +25

    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.

  • @Jademalo
    @Jademalo Před 3 měsíci +48

    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 Před 3 měsíci +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 Před 3 měsíci

      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.

  • @Nintendrew
    @Nintendrew Před 3 měsíci +22

    This is fascinating! May the algorithm smile upon you.

  • @Stereomoo
    @Stereomoo Před 3 měsíci +34

    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.

  • @benruniko
    @benruniko Před 3 měsíci +7

    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.

  • @Simoran
    @Simoran Před 3 měsíci +36

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

    • @calvinwright1605
      @calvinwright1605 Před 3 měsíci +1

      I was hyped right when I heard it

    • @jBun12
      @jBun12 Před 2 měsíci

      Agreed. I heard the into fill and went :o

    • @ikosahelix9342
      @ikosahelix9342 Před 2 měsíci

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

  • @Duckable
    @Duckable Před 3 měsíci +36

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

    • @LiliumOrientalis
      @LiliumOrientalis Před 3 měsíci +2

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

  • @AstralSpiff
    @AstralSpiff Před 3 měsíci +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 Před 3 měsíci +7

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

  • @Niosai
    @Niosai Před 3 měsíci +8

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

  • @galaxsci
    @galaxsci Před 3 měsíci +3

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

  • @Audio_noodle
    @Audio_noodle Před 3 měsíci +5

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

  • @DanTheStripe
    @DanTheStripe Před 3 měsíci +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!

  • @piguyn
    @piguyn Před 3 měsíci +2

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

  • @shocker1410
    @shocker1410 Před 3 měsíci +4

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

  • @j.r.williamson5475
    @j.r.williamson5475 Před 3 měsíci +9

    Sungazer as background music? Excellent taste!

  • @shmovinnn
    @shmovinnn Před 3 měsíci +2

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

  • @thatguyw8908
    @thatguyw8908 Před 3 měsíci +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

  • @AbbyMMusic
    @AbbyMMusic Před 3 měsíci +41

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

    • @kataryn
      @kataryn  Před 3 měsíci +42

      the first obstacle was figuring out how to hit the ball

  • @HoboJR4
    @HoboJR4 Před 2 měsíci +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.

  • @HmmmmmLemmeThinkNo
    @HmmmmmLemmeThinkNo Před 2 měsíci +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.

  • @avgact
    @avgact Před 3 měsíci +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 Před 3 měsíci +2

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

    • @scottl.1568
      @scottl.1568 Před 3 měsíci

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

  • @Tydusis1
    @Tydusis1 Před 3 měsíci +6

    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!

  • @mattymattffs
    @mattymattffs Před 2 měsíci +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.

  • @Killysunt
    @Killysunt Před 3 měsíci

    Well presented & interesting, good job man

  • @64supermarioreturns
    @64supermarioreturns Před 3 měsíci +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

  • @MrJimmysteel25
    @MrJimmysteel25 Před 3 měsíci +7

    Awesome video explaining the journey to a potential 9 break

  • @saintsheepy6682
    @saintsheepy6682 Před 3 měsíci +5

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

    • @eins2001
      @eins2001 Před 2 měsíci +1

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

    • @saintsheepy6682
      @saintsheepy6682 Před 2 měsíci

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

  • @EjayB
    @EjayB Před měsícem

    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

  • @jeffthealienband
    @jeffthealienband Před 3 měsíci

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

  • @IwasFRAMEDiTELLyou
    @IwasFRAMEDiTELLyou Před 3 měsíci +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

  • @Aidanryry
    @Aidanryry Před 3 měsíci +3

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

  • @Wookis
    @Wookis Před 3 měsíci

    i need more of this, excellent video!

  • @stdlfr3418
    @stdlfr3418 Před 3 měsíci

    That was such a good video!!! I'm actually excited about any future updates!

  • @therealdia
    @therealdia Před 3 měsíci +15

    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  Před 3 měsíci +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 Před 3 měsíci +5

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

  • @firefox1965
    @firefox1965 Před 3 měsíci +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  Před 3 měsíci +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 Před 3 měsíci +1

      @@kataryn Yeah I guess!

    • @ripstick4591
      @ripstick4591 Před 3 měsíci +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.

  • @jammesdean
    @jammesdean Před 3 měsíci

    Awesome video! I subbed to see what is next on this journey!

  • @rhythmlessroxby
    @rhythmlessroxby Před 3 měsíci +1

    Absolutely looking forward to the update here! Been a long time wii play speedrunning fan & would love to see this effort succeed

  • @cubesandpi
    @cubesandpi Před 3 měsíci +3

    the wii fit BMI sound at 5:50 got me

  • @EmDanNel-ol9oz
    @EmDanNel-ol9oz Před 3 měsíci +4

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

  • @Rukushin
    @Rukushin Před 3 měsíci

    stumbled upon this video. all i can say is good luck with your(and the community's) endeavours!

  • @forlape
    @forlape Před 3 měsíci

    actually a really good watch, keep up the good work!

  • @maxmustermann5590
    @maxmustermann5590 Před 2 měsíci +4

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

  • @heroclix0rz
    @heroclix0rz Před 3 měsíci +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 Před 3 měsíci

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

    • @DrewryPope
      @DrewryPope Před 3 měsíci

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

  • @RubyRoks
    @RubyRoks Před 2 měsíci

    Randomly happened across this video, but love hearing about oddly specific niche wii stuff. Fascinating video :)

  • @tetraxile
    @tetraxile Před 3 měsíci +1

    really good video + choice of music! makes me want to get into REing wii play :3

  • @Mr.ShyGuyYT
    @Mr.ShyGuyYT Před 3 měsíci +12

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

  • @ODISeth
    @ODISeth Před 3 měsíci +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 Před 3 měsíci

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

  • @peterdafox
    @peterdafox Před 3 měsíci +1

    This is gonna blow up big. This is so well done. Yeah!

  • @ChickenScratch
    @ChickenScratch Před 3 měsíci +2

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

  • @c.d.x34
    @c.d.x34 Před 3 měsíci +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.

  • @polyduckwanaland
    @polyduckwanaland Před 2 měsíci

    Amazing video! I love the use of Sungazer in the background. Saw them in December, amazing show.

  • @Sniperwolfgang
    @Sniperwolfgang Před 3 měsíci +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.

  • @TheRealVenusian
    @TheRealVenusian Před 3 měsíci +1

    I just found this, and I’m immediately subbing. You have a nice voice for narration, good editing style, interesting subject matter, and I love the Adam Neely music in the background as well 🔥

  • @CDVermilion
    @CDVermilion Před 2 měsíci

    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!

  • @ExperimentIV
    @ExperimentIV Před 3 měsíci

    love the sungazer track you used! brings a great energy to discussing stuff like this

  • @Leander_
    @Leander_ Před 2 měsíci

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

  • @dillkommen
    @dillkommen Před 3 měsíci +2

    hell yeah love the sungazer background music

  • @lifeiswonderful22
    @lifeiswonderful22 Před 3 měsíci +1

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

  • @prizm9515
    @prizm9515 Před 2 měsíci

    Good luck on your research! Excited to see the tas 9 break!

  • @sagacious03
    @sagacious03 Před 3 měsíci

    Neat analysis video! Thanks for uploading!

  • @paytonmillet3692
    @paytonmillet3692 Před 3 měsíci

    Hey this rocked. So glad I found this channel, I'm excited for more :)

  • @octavgg
    @octavgg Před 3 měsíci +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

  • @CheesyLizzy
    @CheesyLizzy Před 2 měsíci

    This is so cool!!!
    Good luck with your research 😄

  • @stardust-kyun
    @stardust-kyun Před 3 měsíci

    This video was absolutely fascinating to me. Good job!!! ❤

  • @moooooomoooooo
    @moooooomoooooo Před 2 měsíci

    great video, i didn't have any interest in this at all before now but now i need to see the 9 break!!! i also took a look at your channel and saw that u had some videos on osu! mapping, i'll make sure to check those out at some point!! keep up these videos :D

  • @ScrDesh
    @ScrDesh Před 3 měsíci +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!

  • @gabepesco
    @gabepesco Před 3 měsíci

    Thanks YT for serving this up for me, it's great! Always interested in wii TAS!

  • @_sadghost
    @_sadghost Před 3 měsíci

    This is gonna be a wild hunt, good luck!

  • @sammybobjones
    @sammybobjones Před 3 měsíci

    Watched to the end and expected way more likes and subs! Great content my guy!

  • @ptypaolo
    @ptypaolo Před 2 měsíci

    the editing on this is randomly sublime

  • @SqueakyNeb
    @SqueakyNeb Před 3 měsíci +2

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

  • @gingertrash64
    @gingertrash64 Před 3 měsíci

    awesome video and love the Sungazer track in the background

  • @celarts5752
    @celarts5752 Před 3 měsíci

    I haven't thought of Wii Play in years, much less the Billiards game as part of it, but this video was still quite entertaining and interesting to watch. Best of luck with finding the closest to a perfect game you could get!

  • @Aveebvee
    @Aveebvee Před 3 měsíci

    Mario 64 tas went through a similar thing, your discoveries are so cool, and I look forward to what’s gonna be possible soon thanks to it

  • @th3on3c
    @th3on3c Před 3 měsíci +2

    Wii Play billiards science goes so hard

  • @cleb6720
    @cleb6720 Před 3 měsíci

    this vid is fire hope to see more like it

  • @klken
    @klken Před 3 měsíci

    I have played this about ten times already, very good video! i love billiards!