The unsolved Wii game you've probably played before

2024 ж. 12 Ақп.
538 935 Рет қаралды

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"

Пікірлер
  • 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

    @kataryn@kataryn3 ай бұрын
    • 9-ball ftw!!

      @Carpythesharky@Carpythesharky3 ай бұрын
    • 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.

      @ManuFortis@ManuFortis3 ай бұрын
    • In normal games of pool, the closer the balls are together in the triangle, the more they will spread out

      @user-rs1iq3kt6l@user-rs1iq3kt6l2 ай бұрын
    • 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.

      @professorhaystacks6606@professorhaystacks66062 ай бұрын
    • Maybe you can get in touch with CodeBullet or another ML KZheadr 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.

      @abusethesun@abusethesun2 ай бұрын
  • 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.

    @matthewbertrand4139@matthewbertrand41393 ай бұрын
    • Yeah I feel like a lot of Nintendo games have little details like that, intentional or coincidental I don't know

      @xaviermcknight1510@xaviermcknight15103 ай бұрын
    • 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

      @WolfWalrus@WolfWalrus3 ай бұрын
    • @@WolfWalrus Love me some good chaos theory in a Wii game.

      @disappointedcucumber@disappointedcucumber3 ай бұрын
    • 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.

      @Xbob42@Xbob423 ай бұрын
    • Wii play was made with lots of care the video on the tanks mini game music really showed that

      @fastertthanyou8805@fastertthanyou88053 ай бұрын
  • I enjoyed this a lot, good job

    @SummoningSalt@SummoningSalt3 ай бұрын
    • Hello Mr. Salt

      @tweer64@tweer643 ай бұрын
    • Hmmmmm

      @kr1v@kr1v3 ай бұрын
    • Would you look who it is. The man who got me into Wii sports speedrunning

      @JBLilPaper@JBLilPaper3 ай бұрын
    • History of Wii Play Speedrun world records?

      @Sam_Hue@Sam_Hue3 ай бұрын
    • Hello summoning man

      @tomdiamonds100@tomdiamonds1003 ай бұрын
  • Hold up, that one guy's Mii was just reference points for where to hit the ball. Thats next level! 0:45

    @no-replies@no-replies3 ай бұрын
    • yeah that's my own footage, i made the mii for that exact purpose :)

      @kataryn@kataryn3 ай бұрын
    • i tend to use my mii's nose as a centerpoint to aim the cue on

      @HarvoSpoon@HarvoSpoon2 ай бұрын
    • billiardo 💪💪

      @dragonz3630@dragonz36302 ай бұрын
    • thanks, totally needed to see the eldritch horror that is that mii today

      @5omebody@5omebody2 ай бұрын
    • @@5omebodycould just be going for a Mii of Rorschach from Watchmen

      @MrSkerpentine@MrSkerpentine2 ай бұрын
  • 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

    @JM-qd6ot@JM-qd6ot3 ай бұрын
    • 5:49 for those looking

      @1unar_eclipse@1unar_eclipse3 ай бұрын
    • That's obese!

      @hahasamian8010@hahasamian80102 ай бұрын
    • @@1unar_eclipse Thanks, saved me some time

      @SpammingY-pp2ru@SpammingY-pp2ru2 ай бұрын
    • only fatties recognize this noise

      @rprskalo1@rprskalo12 ай бұрын
  • 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

    @Budgiebrain994@Budgiebrain9943 ай бұрын
    • 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

      @evwbb@evwbb2 ай бұрын
    • ​@@evwbbeven irl thats virtually impossible ive watched enough to confirm that

      @speedhunter7156@speedhunter71562 ай бұрын
    • @@evwbb i feel like this is an intrinsic mechanic to billiards that would be found in any decent videogame version.

      @TheJacklikesvideos@TheJacklikesvideos2 ай бұрын
    • ⁠@@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?

      @TheAmazingCowpig@TheAmazingCowpig2 ай бұрын
    • @@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

      @ShankerJN@ShankerJN2 ай бұрын
  • 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

    @coolmanjack1995@coolmanjack19953 ай бұрын
    • But billiard balls are racked in a very repeatable and accurate way irl

      @the.bog.@the.bog.3 ай бұрын
    • @@the.bog.there is still some small difference that occurs in the position of the balls irl

      @ultraeon@ultraeon3 ай бұрын
    • @@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.

      @NeatNit@NeatNit3 ай бұрын
    • @@the.bog. 🤦🤦🤦🤦🤦🤦🤦🤦

      @Hotobu@Hotobu3 ай бұрын
    • 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.

      @nathanbentley1939@nathanbentley19393 ай бұрын
  • 7 BALLS

    @nicroveda@nicroveda3 ай бұрын
    • WHAT THE FU-

      @hu5ky755@hu5ky7553 ай бұрын
    • 9 BALLS

      @arcticdino1650@arcticdino16503 ай бұрын
    • Please return to speedrunning All Golds that was peak content

      @UniqueHandles@UniqueHandles3 ай бұрын
    • That moment made Nicro a household name

      @NF30@NF303 ай бұрын
    • NINE-BREAK TWENTY-FOUR HOUR CHALLENGE

      @Chrnan6710@Chrnan67103 ай бұрын
  • im glad the physics are deterministic and that the RNG only comes from initial position. i need to see the 9 break

    @slouch186@slouch1863 ай бұрын
    • My first thought was that maybe the physics is non-deterministic, which is pretty easy to do if you use a variable time step.

      @Dremth@Dremth3 ай бұрын
    • 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.

      @MarioMastar@MarioMastar2 ай бұрын
  • 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.

    @PendragonDaGreat@PendragonDaGreat3 ай бұрын
    • 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).

      @MarioMastar@MarioMastar2 ай бұрын
  • 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.

    @ArkanoidZero@ArkanoidZero3 ай бұрын
    • 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

      @kataryn@kataryn3 ай бұрын
    • Knowing how to read a rack is definitely something higher level players do. You almost never see lower to mid level players (Fargo

      @exscalliber@exscalliber2 ай бұрын
    • @@exscalliber that's super interesting

      @kataryn@kataryn2 ай бұрын
    • @@exscalliberNeeding to learn the rules and nuances of pool? In MY pool game!? It's more likely than you think!

      @GiraffeFlavoredCondoms@GiraffeFlavoredCondoms2 ай бұрын
  • 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.

    @SharpForceTrauma@SharpForceTrauma2 ай бұрын
  • 10 break will happen… even the cue ball goin in 🔥

    @ruinerryan@ruinerryan3 ай бұрын
    • true

      @Joshua_From_Wii_Sports@Joshua_From_Wii_Sports28 күн бұрын
  • 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!

    @Veltrosstho@Veltrosstho3 ай бұрын
    • "almost"😎

      @xvgm24@xvgm243 ай бұрын
    • 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

      @TemmiePlays@TemmiePlays2 ай бұрын
    • ​@@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)

      @lukeahandsa@lukeahandsa2 ай бұрын
    • The 9 gets potted pretty often in real life 9-ball pool, but it's being caromed by other balls into a pocket.

      @kolaas2006@kolaas20062 ай бұрын
    • @@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)

      @MarioMastar@MarioMastar2 ай бұрын
  • 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.

    @thomaswalters7117@thomaswalters71172 ай бұрын
  • @ 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”

    @_fudgepop01@_fudgepop013 ай бұрын
    • yeah, I learned that in the process of decompiling the piece of code mentioned in the video and it helped a lot

      @kataryn@kataryn3 ай бұрын
    • WHAT

      @kiwidev_@kiwidev_3 ай бұрын
    • ​@@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 ^^

      @_fudgepop01@_fudgepop013 ай бұрын
    • @@_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

      @kataryn@kataryn3 ай бұрын
    • @@kataryn OH HECK YEA I’m glad it helps!! It really was a game changer ^^

      @_fudgepop01@_fudgepop013 ай бұрын
  • the fact that Wii Sports billiards has probably the most realistic depiction of a break diamond between each round is amazing

    @steeliest@steeliest3 ай бұрын
    • Reminds me of how Pokemon Heart Gold/Soul Silver's Pokewalker was the most accurate step counter for a time.

      @MarioMastar@MarioMastar2 ай бұрын
  • 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.

    @Xeare204@Xeare2043 ай бұрын
    • I really hope that just randomly pops up in my recommendations 7 years from now

      @MrKo1233@MrKo12332 ай бұрын
    • 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

      @ToaderTheToad@ToaderTheToad2 ай бұрын
  • 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.

    @Trelior@Trelior3 ай бұрын
    • and not for "fake balance" reasons but to actually simulate IRL variance.

      @MarioMastar@MarioMastar2 ай бұрын
    • @@MarioMastar Who said _anything_ about "fake balance?"

      @Trelior@Trelior10 күн бұрын
  • 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.

    @EnderCrome@EnderCrome3 ай бұрын
    • 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.

      @TyroRNG@TyroRNG3 ай бұрын
  • I absolutely love how on a video about a 9 break, its exactly 9:00 long

    @darx2823@darx28232 ай бұрын
  • 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

    @SMMidi@SMMidi3 ай бұрын
    • I personally prefer it to 8 ball irl for sure

      @eins2001@eins20012 ай бұрын
    • In my country everyone plays nine balls

      @bruceyuchuanyu@bruceyuchuanyu21 күн бұрын
  • 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.

    @thomasharris9059@thomasharris90593 ай бұрын
  • 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!

    @Jademalo@Jademalo3 ай бұрын
    • 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

      @Ghi102@Ghi1023 ай бұрын
    • 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.

      @StartTheDayWithKeele@StartTheDayWithKeele3 ай бұрын
  • Adam Neely enjoyer spotted, always nice to see Sungazer's music in random videos lol. Awesome video, also!

    @Simoran@Simoran3 ай бұрын
    • I was hyped right when I heard it

      @calvinwright1605@calvinwright16052 ай бұрын
    • Agreed. I heard the into fill and went :o

      @jBun12@jBun122 ай бұрын
    • that shit always puts me in a good mood, came to see if anyone else recognized lol

      @ikosahelix9342@ikosahelix93422 ай бұрын
  • 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.

    @Stereomoo@Stereomoo3 ай бұрын
  • 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.

    @benruniko@benruniko2 ай бұрын
  • I genuinely admire the fact that you can make a 10 minute video about Wii play 9 ball billiards. Great video

    @Duckable@Duckable3 ай бұрын
    • It's exactly 9 minutes long, which just makes it that much better!

      @LiliumOrientalis@LiliumOrientalis3 ай бұрын
  • This video until 1:21: "Hey, what aboutTAS?" This video after 1:21: "Now this is getting interesting!"

    @The_Peter_Channel@The_Peter_Channel3 ай бұрын
  • This is fascinating! May the algorithm smile upon you.

    @Nintendrew@Nintendrew3 ай бұрын
  • This SLAPS I LOVED wii play as a kid, I will be waiting patiently for the 9 break

    @AstralSpiff@AstralSpiff3 ай бұрын
  • 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

    @thatguyw8908@thatguyw89083 ай бұрын
  • An incredible video. Smooth, well-edited, well spoken, informative. I was glued to the screen the entire time.

    @shocker1410@shocker14103 ай бұрын
  • i love the editing on this video: the font especially. good luck on the nine ball sink!

    @galaxsci@galaxsci3 ай бұрын
  • 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!

    @DanTheStripe@DanTheStripe3 ай бұрын
  • Great video and incredible discovery. Also you are so crazy awesome for the Sungazer music

    @piguyn@piguyn3 ай бұрын
  • Gotta love the sungazer banger, didn't expect that on a wii play video of all things

    @Audio_noodle@Audio_noodle3 ай бұрын
  • 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.

    @therealdia@therealdia3 ай бұрын
    • 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

      @kataryn@kataryn3 ай бұрын
    • @@katarynOh jeez, that would certainly be a task and a half.

      @TheArtikae@TheArtikae3 ай бұрын
  • great video!!! so high quality, keep up the good work

    @shmovinnn@shmovinnn3 ай бұрын
  • 10/10 video but it must be pointed out that your Wii Play Billiards journey began in like 2009

    @AbbyMMusic@AbbyMMusic3 ай бұрын
    • the first obstacle was figuring out how to hit the ball

      @kataryn@kataryn3 ай бұрын
  • I am suddenly emotionally invested in the Wii Play Billiards challenge community

    @Niosai@Niosai3 ай бұрын
  • 0:06 Actually, 9 ball pool is the game of choice in national World of Pool championships.

    @saintsheepy6682@saintsheepy66822 ай бұрын
    • Makes sense. It's far more focused on consistency, accuracy, and layup prediction.

      @eins2001@eins20012 ай бұрын
    • @@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.

      @saintsheepy6682@saintsheepy66822 ай бұрын
  • 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

    @EjayB@EjayBАй бұрын
  • 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.

    @HmmmmmLemmeThinkNo@HmmmmmLemmeThinkNo2 ай бұрын
  • 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!

    @Tydusis1@Tydusis13 ай бұрын
  • 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.

    @mattymattffs@mattymattffs2 ай бұрын
  • Absolutely looking forward to the update here! Been a long time wii play speedrunning fan & would love to see this effort succeed

    @rhythmlessroxby@rhythmlessroxby3 ай бұрын
  • Sungazer as background music? Excellent taste!

    @j.r.williamson5475@j.r.williamson54753 ай бұрын
  • 9 minutes ago I had never even heard of Wii Billiards, now i'm excited and anxious to see a potential 9 break. Subbed

    @IwasFRAMEDiTELLyou@IwasFRAMEDiTELLyou3 ай бұрын
  • 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.

    @HoboJR4@HoboJR42 ай бұрын
  • really good video + choice of music! makes me want to get into REing wii play :3

    @tetraxile@tetraxile3 ай бұрын
  • That was such a good video!!! I'm actually excited about any future updates!

    @stdlfr3418@stdlfr34183 ай бұрын
  • 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)

    @avgact@avgact3 ай бұрын
    • Yeah 9 ball is pretty much the game at an elite level

      @Scotty97@Scotty973 ай бұрын
    • I was getting ready to say the same thing... 9-ball is all I play 😅

      @scottl.1568@scottl.15682 ай бұрын
  • 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.

    @firefox1965@firefox19653 ай бұрын
    • 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

      @kataryn@kataryn3 ай бұрын
    • @@kataryn Yeah I guess!

      @firefox1965@firefox19653 ай бұрын
    • 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.

      @ripstick4591@ripstick45913 ай бұрын
  • Randomly happened across this video, but love hearing about oddly specific niche wii stuff. Fascinating video :)

    @RubyRoks@RubyRoks2 ай бұрын
  • This is one of the best video essays I've seen in awhile, just kept getting better and better. keep it up bro

    @jeffthealienband@jeffthealienband2 ай бұрын
  • 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

    @64supermarioreturns@64supermarioreturns3 ай бұрын
  • Awesome video explaining the journey to a potential 9 break

    @MrJimmysteel25@MrJimmysteel253 ай бұрын
  • Amazing video! I love the use of Sungazer in the background. Saw them in December, amazing show.

    @polyduckwanaland@polyduckwanaland2 ай бұрын
  • 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.

    @Sniperwolfgang@Sniperwolfgang3 ай бұрын
  • the wii fit BMI sound at 5:50 got me

    @cubesandpi@cubesandpi3 ай бұрын
  • 0:47 I like the mii with the face to help aim

    @Aidanryry@Aidanryry3 ай бұрын
  • stumbled upon this video. all i can say is good luck with your(and the community's) endeavours!

    @Rukushin@Rukushin3 ай бұрын
  • 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 🔥

    @TheRealVenusian@TheRealVenusian3 ай бұрын
  • FYI, the guy you emailed is one of the best mobile indie game developers in the world. 🙂

    @EmDanNel-ol9oz@EmDanNel-ol9oz3 ай бұрын
  • It's not 'rigged'. It's just a good simulator lol. Real billiard has those Tiny differnces, which makes all breaks unique

    @maxmustermann5590@maxmustermann55902 ай бұрын
  • love the sungazer track you used! brings a great energy to discussing stuff like this

    @ExperimentIV@ExperimentIV3 ай бұрын
  • Awesome video! I subbed to see what is next on this journey!

    @jammesdean@jammesdean3 ай бұрын
  • 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.

    @heroclix0rz@heroclix0rz3 ай бұрын
    • Several Heat Deaths of the Universe later we're still looking.

      @jamesknapp64@jamesknapp643 ай бұрын
    • it'll involve luck but that's all of speedrun. keep good track of which runs you've tried and focus on parallelizing.

      @DrewryPope@DrewryPope2 ай бұрын
  • if this gets a million views, just know i predicted it.

    @Mr.ShyGuyYT@Mr.ShyGuyYT3 ай бұрын
  • 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!

    @CDVermilion@CDVermilion2 ай бұрын
  • 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

    @Aveebvee@Aveebvee3 ай бұрын
  • 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!

    @ODISeth@ODISeth3 ай бұрын
    • This is a stupid comment and totally misses the purpose of machine learning.

      @teliots@teliots3 ай бұрын
  • 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.

    @c.d.x34@c.d.x343 ай бұрын
  • 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

    @octavgg@octavgg3 ай бұрын
  • 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

    @moooooomoooooo@moooooomoooooo2 ай бұрын
  • Sometimes the algorithm just gives me a mind-blowing video about a game or topic I never cared about until now.

    @lifeiswonderful22@lifeiswonderful223 ай бұрын
  • This was interesting. I'll be looking forward to potentially hearing you recreating that 7 ball sink in the hopefully near future. Then months or years later hearing about the famous 8 ball dunk. Only on my deathbed in 50 some years hear that a perfect break was finally made.

    @mrzeloswilder@mrzeloswilder2 ай бұрын
  • That was shockingly engaging, awesome video! Good luck with the research.

    @Leander_@Leander_2 ай бұрын
  • Good luck on your research! Excited to see the tas 9 break!

    @prizm9515@prizm95152 ай бұрын
  • Well presented & interesting, good job man

    @Killysunt@Killysunt3 ай бұрын
  • im glad i watched this video, i used to watch nicro all the time but i've completely forgotten about him until now

    @actkasual@actkasual2 ай бұрын
  • 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!

    @ScrDesh@ScrDesh2 ай бұрын
  • I love this kind of game-detective work, I need to know how this story ends! Subscription earned.

    @grahamwilson8843@grahamwilson88433 ай бұрын
  • i need more of this, excellent video!

    @Wookis@Wookis3 ай бұрын
  • Thanks YT for serving this up for me, it's great! Always interested in wii TAS!

    @gabepesco@gabepesco3 ай бұрын
  • Phillip is an absolute G for admitting the video is fake. Proper gentleman.

    @SqueakyNeb@SqueakyNeb2 ай бұрын
  • 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.

    @jamesknapp64@jamesknapp643 ай бұрын
  • I really want to see a 9 break become a real thing (even if it's only in a tas)

    @ChickenScratch@ChickenScratch3 ай бұрын
  • This is glorious i look forward to further updates in the future. I believe

    @dustandcobwebs@dustandcobwebs2 ай бұрын
  • 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!

    @celarts5752@celarts57522 ай бұрын
  • Never heard of the game but the way u explained this mad eme wanna watch. Great video

    @dadeadlypanda2310@dadeadlypanda23103 ай бұрын
  • super interesting vid on a topic i didn't know i wanted to know about lol. thank you! :)

    @lowtierhuman69@lowtierhuman692 ай бұрын
  • awesome video and love the Sungazer track in the background

    @gingertrash64@gingertrash642 ай бұрын
  • I've done this kind of research into games before but it makes me happy to see there’s such dedication to this niche, simple minigame. :) I look forward to seeing if anything comes of it.

    @Chubby_Bub@Chubby_Bub2 ай бұрын
  • this is getting me so damn exited! congratz for solving the rng puzzle! now its time for the "easy" work, i love bruteforcing rare events! its like finding the higgs boson in particle physics, just keep on trying guys!

    @TiloDroid@TiloDroid3 ай бұрын
  • This is gonna blow up big. This is so well done. Yeah!

    @peterdafox@peterdafox3 ай бұрын
  • 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.

    @SeanOBrienK@SeanOBrienK2 ай бұрын
  • the fact this vid is exactly 9 minutes long is not lost on me, well played

    @sorchara9119@sorchara91192 ай бұрын
    • definitely not a coincidence

      @kataryn@kataryn2 ай бұрын
  • Loving the Sungazer music you included!! Absolute jazz fusion goats.

    @wescador@wescador2 ай бұрын
    • Fr

      @niloc5533@niloc55332 ай бұрын
KZhead