Angles

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 มิ.ย. 2016
  • I explain all about how angles work in SM64. Angles are stored as shorts, and so they have 65536 possible values, from 0 to 65535. Specifically, angle 0 is along the +Z axis, and angles increase in the counterclockwise direction. Thus, there are 65536 angle units in a complete circle. The four cardinal angles are:
    - angle 0 for the +Z axis
    - angle 16384 for the +X axis
    - angle 32768 for the -Z axis
    - angle 49152 for the -X axis
    Furthermore, although Mario can have any of the 65536 possible angle values, the game truncates an angle to the nearest multiple of 16 before applying trig functions to it. Consequently, in practice there are only 65536 / 16 = 4096 unique angles to work with. I also explain how this coarse-grained granularity of the angles makes it difficult to perform PU movement. Finally, I go over angular velocity, and how fast various objects are able to turn.
    Here's a list of the associated trig value for every possible angle: docs.google.com/spreadsheets/.... Thanks to Peter Fedak for collecting that data from the trig table in memory and giving it to me.
    Thanks to Kaze for making the ROM hack that shows Mario's angle. If you want that ROM hack (or any other ROM hack I've shown), you can download them from here:
    drive.google.com/open?id=0B3J...
    Additional Notes
    (1) The game actually considers angles as signed shorts instead of unsigned shorts. Consequently, angles would actually be in the range -32768 to 32767 inclusive, rather than 0 to 65535 inclusive. However, whether the shorts are signed or unsigned doesn't affect how angles are handled at all. Additionally, several other TASers and I prefer the unsigned notation, as it's easier to work with and conceptualize. So feel free to treat angles whichever way you like. To convert between notations, the values -32768 to -1 correspond to the values 32768 to 65535, respectively.
    (2) For some objects (namely rotating platforms), their angles use 4 bytes instead of just 2 bytes. However, the upper 2 bytes have no effect in practice, and so one can still think of their angle as just the lower two bytes (i.e. a short).
    (3) Objects in SM64 actually have 3 angles: yaw, pitch, and roll. Diagram for reference: i.imgur.com/E05roYE.png. All three of these rotations ascribe 65536 angle units to one full rotation. This video mainly only considered objects' yaw, with the exception of the TTC spinners, in which case it considered their pitch.
    (4) I mentioned the terms "granularity", "fine-grained", and "coarse-grained". If you are unfamiliar with these terms, you can read more about them here: en.wikipedia.org/wiki/Granula.... To summarize from that article:
    - granularity refers to the extent to which an entity can be subdivided into smaller, discrete parts
    - fine-grained means it can be subdivided into a relatively high number of discrete parts (thereby seeming continuous)
    - coarse-grained means it can only be subdivided into a relatively low number of discrete parts (thereby breaking the illusion of being continuous)
  • เกม

ความคิดเห็น • 214

  • @Lugmillord
    @Lugmillord 8 ปีที่แล้ว +188

    Seriously, nobody else could upload a video with the title "Angles" and instantly get me excited. It's crazy xD

    • @Dionicio3
      @Dionicio3 8 ปีที่แล้ว +2

      Ikr

    • @MrBorderlands123
      @MrBorderlands123 8 ปีที่แล้ว +1

      xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

    • @ahumanperson3649
      @ahumanperson3649 4 ปีที่แล้ว +1

      Luigi 2262 Uhh...Vsauce?

    • @xaqt1
      @xaqt1 3 ปีที่แล้ว +2

      @@ahumanperson3649 honestly, talking about video game angles is better than talking about real life angles imo

    • @sameman6884
      @sameman6884 3 ปีที่แล้ว

      Other than vsauce (at least to me)

  • @brum1784
    @brum1784 8 ปีที่แล้ว +118

    "And how do you represent a full rotation?"
    -"It's 360°, miss."-
    "THERE ARE 65536 POSSIBLE VALUES FOR A FULL ROTATION, MISS!"

    • @axylorionfredrick
      @axylorionfredrick 7 ปีที่แล้ว +14

      "IN MARIO 64, MISS!"
      "A+ to you! D- for everyone else on the rotation exam!"

    • @exterminator9676
      @exterminator9676 7 ปีที่แล้ว +6

      I swear, these SM64 memes...

    • @ivy_47
      @ivy_47 7 ปีที่แล้ว +10

      Actually, you'd have to divide that by 16, which gives merely 4096 angles

    • @SuperNintendawg
      @SuperNintendawg 6 ปีที่แล้ว +6

      then she belittles you in front of the class for assuming there's a finite amount of divisions between any two non-identical numbers.

    • @tcoren1
      @tcoren1 5 ปีที่แล้ว

      Brumaticalpie 2 pi

  • @paulwebb2078
    @paulwebb2078 8 ปีที่แล้ว +110

    Can you be my math teacher lol. Just explain everything using SM64.

  • @Joselle_Astrid
    @Joselle_Astrid 8 ปีที่แล้ว +55

    Things could be worse. When setting up long jumps in Mario Galaxy, sometimes it feels like I can only move in 16 possible angles...

    • @groszak1
      @groszak1 6 ปีที่แล้ว +6

      keyboard of course only allows 8 angles because there are 4 arrow keys and pressing two will give you direction in between. so you can't get all angles

    • @kellamyoshikage286
      @kellamyoshikage286 5 ปีที่แล้ว +2

      Are you doing this in TAS? Most of the angles he accesses, are through extremely precise joystick placements close to the center, not on the edge. It's very tough both to differentiate between and to attain more than 16 angles at human levels when there are 8 notches. I've personally noticed much more than 16 when just walking around, but I've never tried checking the same with long jumping.

    • @cmyk8964
      @cmyk8964 ปีที่แล้ว

      16 is a great compromise between too few angles to be practical vs. too many angles to lay out levels precisely.

  • @RarefoilB
    @RarefoilB 8 ปีที่แล้ว +82

    Note how Mario is faster than everyone, game developers. That is how you make it fair, fun, and simple. For the player, that is.

    • @HeardTheSound
      @HeardTheSound 7 ปีที่แล้ว +4

      how is that fair

    • @dmas7749
      @dmas7749 7 ปีที่แล้ว +2

      He still takes more than a second to spin one circle.

    • @groszak1
      @groszak1 6 ปีที่แล้ว +1

      how large circle?

  • @chaochap6390
    @chaochap6390 7 ปีที่แล้ว +32

    My Algebra 2 teacher was right! We will use trig in real life! Miracles.

  • @Typhlosion4President
    @Typhlosion4President 8 ปีที่แล้ว +21

    Are you going to do a video on devils next?

  • @eduardolarrymarinsilva76
    @eduardolarrymarinsilva76 8 ปีที่แล้ว +55

    What bout mario spinning after hitting Shy guy?

    • @Moire9
      @Moire9 3 ปีที่แล้ว +1

      That's an animation I think, and hud angle is determined by how you are moving the stick, and he'll move in that direction, but the direction he's "facing" is not shown to the player due to the spin animation.

    • @ianmathwiz7
      @ianmathwiz7 13 วันที่ผ่านมา +1

      That uses Mario's yaw velocity.

  • @dootdoodle569
    @dootdoodle569 4 ปีที่แล้ว +4

    I learned more from Pannen in 1 year than I ever did in school

  • @Z10ZeeTen
    @Z10ZeeTen 8 ปีที่แล้ว +46

    I can be your angle...or yuor devil.

  • @jewel_
    @jewel_ 8 ปีที่แล้ว +33

    Do you think it would be a neat experiment to remap the angle table call to a bigger chunk of custom memory with /every/ angle in it, and get rid of the 16 truncation? If people know where the functions are it should be easy, otherwise I say don't worry about it. I'm just curious to see if mario would feel like he moves more fluidly.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +31

      I would have no clue how to do that

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว +17

      Technically, it's possible, but it would take a pretty considerable amount of effort and would require some knowledge of MIPS assembly.
      You could patch the game to use the 8mb extended memory pack (I believe someone has actually already created a patch like this,) modify the bit of code that loads the table from ROM->RAM to place it in the extended RAM (im not sure if there's a large enough gap in the usual RAMspace to fit a table 16x the size of the current one,) then change the table pointer to its new location. You would also need to calculate every possible value yourself and organize it into a list (though that's easily automated) and then find a place in ROM to stick the new table (which is easy enough with some fancy romhacking tools that decompress and extend the ROM to 64 MB.)
      Lastly, if you want your new fancy angles to work for every object, you would need to find every function that calculates angles in this way and modify them to remove the bitshift operation that rounds the angle index down to the nearest multiple of 16.

    • @jewel_
      @jewel_ 8 ปีที่แล้ว +4

      +TehCheat3 yeah, that's what I'm thinking. I'm looking at a memory map, i haven't done any n64 hacks so I'm not sure I'd be able to work with extended ram and such, but the concept is fairly easy for anyone who can. Also I'd hope the 16 truncation is done in the trig angle to cardinal distance call, but even if not, you can just find every instance of the call and do it there

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว +8

      In the function starting at 802E4E90, there are two arithmetic right bitshift operations located at 802E4EE8 and 802E4F14 that I believe handle the truncation. From my notes this does look like the function that handles movement of objects, so I believe you are correct. If so It's as simple as just changing both instructions to 00000000 to NOP them out. Though knowing this game and its messy code I wouldn't be surprised to find another extremely similar but separate function used by specific objects.
      Thinking about it though it might be easier to just write the function to calculate displacement with the trig functions (or find out if it already exists) and replace those sections entirely with a function call to see how it performs. Might be worth a shot.

    • @Thisisforvortex
      @Thisisforvortex 8 ปีที่แล้ว +5

      Putting a message in this comment thread in the off chance it's ever done. Curious to see it.

  • @TheOneSevenNine
    @TheOneSevenNine 8 ปีที่แล้ว +19

    oh, thank god. i needed to see this pop into my submissions box at 2 am.

  • @tbtb66
    @tbtb66 8 ปีที่แล้ว +4

    Hey pannen, I don't know if anyone has ever gone into this, but there seems to be some type of weird reverse Pedro spot by using the moon jump code into certain places where walls and ceiling meet.
    The weird thing about it is that once Mario's speed passes about 50-80 he doesn't need to be jumping into ceiling anymore but only hold the same direction.

  • @andreabotti99
    @andreabotti99 8 ปีที่แล้ว +3

    These videos are awesome. You explain things very professionally and your knowledge of the game is incredible. Some videos like the PU one absolutely blow my mind. Keep up the good work!

  • @dan_loup
    @dan_loup 8 ปีที่แล้ว +9

    Nothing spins as fast as mario!

  • @Pokehero
    @Pokehero 8 ปีที่แล้ว +18

    The amount of angles you can have being 1/16 of its potential is pretty sad but its still better than many Mario games today with like less than 20 angles you can go

    • @keithbellic2629
      @keithbellic2629 8 ปีที่แล้ว +1

      "less then 20"? Are you sure you understand how angles work. Because other then the 2d ones I can't think of any Mario game that has less then twenty. Baring in mind the four cardinal directions make 4 angles. Having the half-way diagonals bumps this up to 8 angles, having their hallways already bumps this up to 16. I'm sure you can see where this is heading.

    • @Doci007
      @Doci007 8 ปีที่แล้ว +10

      +Keith Bellic In Super Mario 3D world, the game rounds up the angles given by the joystick to ease the movement in the isometric-like point of view the camera gives.
      So you're the one that didn't do his research....

    • @MonsterUpTheStairs
      @MonsterUpTheStairs 8 ปีที่แล้ว +1

      rounding up is not a very precise statement. Does it round up after the first decimal? does it round up every thousand angle units?

    • @Doci007
      @Doci007 8 ปีที่แล้ว +4

      I'm not here to be all that technical, but let's just say it's not possible to go in almost every direction like in Mario 64.
      From a gameplay perspective it almost looks like you can only go in 8 directions...

    • @renakunisaki
      @renakunisaki 8 ปีที่แล้ว

      +Doci007 maybe you just have a crummy controller.

  • @cardthief7149
    @cardthief7149 8 ปีที่แล้ว +6

    Man, it never ceases to amaze me how much you can learn about the programming in a game, its honestly really neat learning this stuff, as SM64 was a huge part of my childhood.
    Also, you have real dedication to this, and its honestly inspiring in a way, im not sure if you see it that way or not, but its really cool how much you are willing to learn and teach others about the technical stuff about this game, I wish I had something that I could put a lot of work into, but I haven't found what is right for me, anywho, sorry for the rambling, love seeing when new vids are posted, love learning about this stuff.
    Hope you have a good day!

  • @brianpso
    @brianpso 8 ปีที่แล้ว +1

    Loving these informational videos you've been uploading lately.

  • @SkicoNow
    @SkicoNow 8 ปีที่แล้ว +1

    Once again, my mind is blown. I never expected trig functions to make it into one of your videos!

  • @Gzalzi
    @Gzalzi 8 ปีที่แล้ว +2

    Hey, I just wanna say I appreciate your videos. They're very informative and you can't find information like this anywhere else.

    • @SkicoNow
      @SkicoNow 8 ปีที่แล้ว +1

      I agree. These videos are awesome.

  • @Hextator
    @Hextator 7 ปีที่แล้ว +4

    Welp, this answers pretty much all the questions I had in the other video. I don't even want to see the disassembly anymore. A 1/16th precision table? *Absolutely disgusting.*

    • @TOASTEngineer
      @TOASTEngineer 6 ปีที่แล้ว

      It was 1996, it was the best they could do. :P

  • @Jadimation
    @Jadimation 8 ปีที่แล้ว +2

    This is the shit ya' gotta go through to make one of the first 3D game engines.

  • @GasparLewis
    @GasparLewis 8 ปีที่แล้ว +61

    But HOW MANY FRAMES IS A MR. I ROTATION?!

    • @romajimamulo
      @romajimamulo 8 ปีที่แล้ว +7

      huh. odd that wasn't gone into

    • @GasparLewis
      @GasparLewis 8 ปีที่แล้ว +8

      Of all the enemies to not list the rotation speed of!

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +40

      I didn't go into several enemies, including Mr. I, bullet bills, pokeys, the mad piano, bullies, klepto, piranha plants, skeeters, bub, bubba, sushi, the manta, moneybags, ukiki, or the baby penguin. I'm not required to be 100% thorough for keok videos, which is one of the reasons I can make so many of these videos

    • @GasparLewis
      @GasparLewis 8 ปีที่แล้ว +15

      But Mr. I is the only enemy whose primary means of being defeated involve circling it faster than its rotation; I'd just have thought he would warrant inclusion.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +30

      That scene was not meant to be a glossary of every enemy's rotational speed. It was just meant to give a sense of scale as to how fast different things rotate, so that if I ever mention a rotational speed in the future, you can compare it to other things on that chart

  • @stevegamer68
    @stevegamer68 6 ปีที่แล้ว +1

    I use a debug mode to check my Angle but it keeps returning 0. After a while i finally realized that the ANG was the angle of the floor Mario's standing on.

  • @quinn7894
    @quinn7894 ปีที่แล้ว +2

    I suggest dividing a full turn into 256, since 65536 = 256 × 256. Let's call these units Bradians. This can be useful when talking about powers of 2 angles.
    Let's list some of the maximum turn examples you gave in bradians.
    Mario can turn up to 8 bradians per frame.
    King Bob-omb can turn up to 1 bradian per frame.
    King Whomp can turn up to 2 bradians per frame.
    Chuckya can turn up to 4 bradians per frame.
    Fly guy can turn up to 3 bradians per frame.
    But fly guy spins at 4 bradians per frame.

  • @ShinyHunterHunter
    @ShinyHunterHunter 8 ปีที่แล้ว +4

    B U T D O E S IT S A V E A N A P R E S S ?!

    • @joefortescue9096
      @joefortescue9096 8 ปีที่แล้ว +1

      He probably has plans....

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว

      No plans involving this. Keok videos aren't required to have practical applications

  • @ronskuu4840
    @ronskuu4840 8 ปีที่แล้ว +12

    Am I the only one who allways reads the subtitles in pannenkoeks voice?

  • @Br0ckHall
    @Br0ckHall 8 ปีที่แล้ว +2

    we don't need you to commentate these because its so easy to read it in your voice

  • @DophsArt
    @DophsArt 8 ปีที่แล้ว +15

    Where do I sign up to take my test to become a certified SM64 expert?

    • @leon2550
      @leon2550 7 ปีที่แล้ว +4

      if you can beat the game in 2.5 a presses, than maybe

    • @gottendesert069
      @gottendesert069 5 ปีที่แล้ว +2

      Destroy tick tok clock using 0 a presses

    • @HeyKevinYT
      @HeyKevinYT 4 ปีที่แล้ว

      Just solve for the TTC upward assuming it’s not a fluke

  • @WusterWasti
    @WusterWasti 8 ปีที่แล้ว +6

    And next time kids, i will show you how gravity works in Super Mario 64!

    • @tetenric
      @tetenric 8 ปีที่แล้ว +7

      that was explained in another video (sense of movement and scale). Everything will gain an extra 4 units/frame of downwards vertical speed every frame, which means an acceleration of -4units/frame^2. And the maximum (or mininum) vertical speed is -75units/frame

    • @WusterWasti
      @WusterWasti 8 ปีที่แล้ว +8

      Damn, who needs physics in class anyway when you have pannenkoek teaching it.

    • @vistaman1
      @vistaman1 3 ปีที่แล้ว

      @@tetenric r/itsawooshwith4os

  • @TARINunit9
    @TARINunit9 7 ปีที่แล้ว +1

    This helps explain how you were able to pick out PUs and QPUs so precisely after building up speed for 25 hours
    EDIT: I typed that at about 40 seconds in, so I didn't even know this was another PU lesson xD

  • @Kaztalek
    @Kaztalek 8 ปีที่แล้ว +3

    I'd be interested to play a rom hack that allows for all angles. Wonder how different the game would feel

    • @leftysheppey
      @leftysheppey 3 ปีที่แล้ว

      Unnoticably different...

    • @Kaztalek
      @Kaztalek 3 ปีที่แล้ว

      @@leftysheppey I'm built unnoticeably different

    • @leftysheppey
      @leftysheppey 3 ปีที่แล้ว

      @@Kaztalek arent we all?

  • @Mushroom378
    @Mushroom378 7 ปีที่แล้ว +3

    -7 coin clones
    -big boo's haunt
    -you can only clone one coin
    -?
    -profit

    • @groszak1
      @groszak1 6 ปีที่แล้ว +2

      hacks

  • @morth1
    @morth1 8 ปีที่แล้ว +1

    PU movements don't have to be along cardinal angles, right? With √2 * QPU speed you could stick to a diagonal QPU grid, where you travel 1 QPU in two cardinal directions. That would allow for some more relative positions. And there'd be more for every diagonal PU movement. If that's possible, then relative displacements aren't really so restricted.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +2

      Yes, you could get between the coins by taking a more roudabout PU route. But the point of that shot was to illustrate the lack of precision during a single PU movement. And when you want to go from one floor triangle to another floor triangle, taking a roundabout route isn't always easy or possible

  • @MrCheeze
    @MrCheeze 8 ปีที่แล้ว +2

    Nitpick: if they're being truncated, it's not the *closest* multiple of 16, since 15 rounds down to 0 instead of up to 16.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +3

      It depends on how you interpret the sentence.
      Incorrect way: For the multiple of 16 closest to the angle, it's truncated to that.
      Correct way: Out of all the multiples of 16 that the angle could be truncated to, it's truncated to the closest one.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว

      35 has three multiples of 16 below it: 0, 16. and 32. Which one does it get truncated to? The closest one

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว

      Well, I knew the table was about to pop up, so I didn't think it was all that important anyway to say it as unambiguously as possible

    • @Mailbread
      @Mailbread 8 ปีที่แล้ว +1

      it's being truncated, not rounded. 16 would be outside of the range for such a function with a given input of 15

  • @Jelster64
    @Jelster64 8 ปีที่แล้ว

    Does the angle system work the same way in Ocarina of Time? I know for a fact that the angle value in OoT also goes from 0 to 65535, but does it only use every 16th angle like SM64?

  • @random832
    @random832 3 ปีที่แล้ว

    How does Whomp's actual rotation line up to his visual? I noticed the shadow appeared to be rotating smoothly.

  • @2230400180252469452
    @2230400180252469452 8 ปีที่แล้ว

    What about turning Mario after jumping onto lava, i.e. the lavafall in LLL?

  • @MrCubFan415
    @MrCubFan415 3 ปีที่แล้ว

    1:41 I wonder which tricks would be possible (or impossible) had the angles been more precise. For instance, maybe there’d be an easier method of doing moat skip

  • @HeyKevinYT
    @HeyKevinYT 4 ปีที่แล้ว

    Im curious, but whats the angular velocity when Mario spins Bowser? Acceleration? Terminal velocity??

  • @1LPMx1
    @1LPMx1 8 ปีที่แล้ว

    There's a thing i wonder. I've always thought that there are two angles: A facing angle and a movement angle that depends on the facing angle, the position of the stick and Mario's speed. And I thought that a certain speed is calculated also using these three parameters. And that it's this angle and speed that are used to calculate Mario's displacement. I thought only like so moving sideways makes sense. Or am I on the wrong track there?

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว

      The angle it uses to displace mario depends on the action.
      For example, if mario is flying with a wing cap, walking on the ground, or crawling it moves him along the facing angle axis. If mario is jumping, falling, or kicking it moves him along the movement angle axis.
      Mario's movement angle is calculated based off the position of the control stick, and the facing angle will always increment/decrement towards the value of the movement angle. While walking/running, the amount the facing angle can change by is limited a little bit. This gives turning while running that "momentum" that keeps you from turning on a dime.
      It's a pretty simplified explanation, but I hope that clears some things up.

    • @1LPMx1
      @1LPMx1 8 ปีที่แล้ว

      Thanks, now I have a better sight of what's going on.

  • @geirtwo
    @geirtwo 7 ปีที่แล้ว

    Have two bytes always been the standard for possible angles in video games?
    And has it increased in new games?

    • @asp-uwu
      @asp-uwu 7 ปีที่แล้ว +2

      Nowadays it's actually 4 bytes.
      However, it is not the same kind of number -- the kind used in more recent games is known as a "Floating Point Number."
      This data type is capable of keeping track of decimals, in a style very similar to scientific notation.
      These numbers range from 0 to about 6.28, with ~6.28 being one rotation (known as a radian angle)
      Panen has a video about floats if you want to learn more! The video is simply titled "Floats" :D

  • @K2JMan
    @K2JMan 6 ปีที่แล้ว

    So maybe a ROM hack could uncompress the lookup table, but there wouldn't be any practical difference in regular gameplay (unless, like, the ROM hack was built around PU movement).

  • @user-be3dw4bh6p
    @user-be3dw4bh6p 6 ปีที่แล้ว

    What, they don't use the periodic property to cut down the size of the lookup table?

  • @arimago
    @arimago 7 ปีที่แล้ว

    What's advantageous about using a lookup table of trig functions over actually calculating them precisely? Doesn't that just take up enormous amounts of memory all the time?

    • @Toadbert101
      @Toadbert101 7 ปีที่แล้ว +4

      Trig functions take a lot of computation to come up with a number with enough accurate digits. If you apply 8 or so consecutive trig functions onto any value in a calculator, that can make it take up to a second or so to figure out.
      If you're calculating sin and cos every frame Mario's running, I'd assume it'll start slowing down the game.

  • @Cirphlyx
    @Cirphlyx 8 ปีที่แล้ว +1

    is there a way to arbitrarily change Mario's angle, for example, when entering or exiting a door or entering a stage?

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +1

      Your starting angle is predetermined for how you enter a course/door

  • @9600bauds
    @9600bauds 8 ปีที่แล้ว +1

    Couldn't you get a little bit around the granularity limitations for PU travel by going many many PUs away? There's bound to be a PU far away enough that it happens to line up with the spot you need. Though of course it may mean building up ludicrous speed...

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +1

      Sure you could get between the coins by taking a more roudabout PU route. But the point of that shot was to illustrate the lack of precision during a single PU movement. And when you want to go from one floor triangle to another floor triangle, taking a roundabout route isn't always easy or possible

  • @doctorvortex7767
    @doctorvortex7767 8 ปีที่แล้ว

    pannenkoek, will you ever stream something on Twitch? I already follow you there and everything...

  • @utsuhoreiuji9850
    @utsuhoreiuji9850 7 ปีที่แล้ว +2

    I wanna know what glitches work on ds

  • @Reilly444
    @Reilly444 8 ปีที่แล้ว

    So if k is large enough there's really only one spot you can move to in a PU, right? (relative to your starting position I mean)

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +2

      Keep in mind that the positions I showed were for a single horizontal speed (i.e. 1 QPU). If you allowed horizontal speed to vary, then each of those positions would change into a line of positions, nearly parallel in direction. As you followed those lines further out, their separation distances would increase, until only the cardinal line remained inside course bounds.

  • @titanlordkadaevr1771
    @titanlordkadaevr1771 3 ปีที่แล้ว

    surely the angular velocity of bowser varies between his fights, right?

  • @charliekempf
    @charliekempf 4 ปีที่แล้ว +1

    Ok but moment of silence for the ds players with 8 possible angles

  • @cmyk8964
    @cmyk8964 ปีที่แล้ว

    182/65536 of a turn is almost exactly 1 degree; 360 × 182 = 65520, only 16 units off from true 360°.

  • @lakitu6422
    @lakitu6422 5 ปีที่แล้ว

    Is it possible to modify the game to have the full angular percussion?

  • @authentic6825
    @authentic6825 8 ปีที่แล้ว +3

    Just how much of the executable code have you reverse-engineered, percentage-wise? Because I'm not sure there's a whole lot left to find!

    • @nathanisbored
      @nathanisbored 8 ปีที่แล้ว +6

      I'm curious if all of these findings will be documented anywhere... Having a RAM map for sm64 would be really useful (although I'm aware he uses MHS which uses computer addresses rather than internal addresses, so everything is offset in weird ways)

    • @authentic6825
      @authentic6825 8 ปีที่แล้ว +2

      Might be some legal issues with posting stuff like that online, but who knows if Nintendo would care

    • @nathanisbored
      @nathanisbored 8 ปีที่แล้ว +9

      Authentic Nah, that's never been an issue for documentation projects and disassemblies in the past, and there's already a very incomplete RAM map of sm64 on smwc www.smwcentral.net/?p=nmap&m=sm64ram

    • @Dionicio3
      @Dionicio3 8 ปีที่แล้ว +1

      +nathanisbored woah, you watch pannekoek? Cool! (Btw I was your death counter)

    • @woot000
      @woot000 8 ปีที่แล้ว

      +nathanisbored can u pl0xzxzx mkake more es em double-u glith videos, okay tanks

  • @smoggie878
    @smoggie878 8 ปีที่แล้ว

    fuck yes. i need my fix.

  • @pendalink
    @pendalink 8 ปีที่แล้ว +6

    Pannen, couldn't you go a ton of QPUs out at a small angle until Mario goes back within bounds of a diagonal QPU? And couldn't that let you start to fall into spaces in between the coin spots? (Idk if there's a PU limit so please enlighten me)

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +12

      Sure you could get between the coins by taking a more roudabout PU route. But the point of that shot was to illustrate the lack of precision during a single PU movement. And when you want to go from one floor triangle to another floor triangle, taking a roundabout route isn't always easy or possible

    • @pendalink
      @pendalink 8 ปีที่แล้ว +1

      Ah ok thanks, that helps a lot

  • @titanlordkadaevr1771
    @titanlordkadaevr1771 3 ปีที่แล้ว

    i wonder what pannenkoek majored in in college

  • @TheWritersMind
    @TheWritersMind 8 ปีที่แล้ว

    If you really think about it, cant you use PU to make up for the missing positions? sure the angles are off for the PU you may want, but if you use another PU that is farther off in the distance by using one of the angles that throws him off of the PU and theoretically eventually you will get the right spot in a PU to the right or left. since PU's go on forever and angles at which Mario travel are constant If i am thinking about this correctly this should allow you to get to positions previously unavailable. for example say i wanted to get between coin 3 and 4 on the right side if you do a PU normally you are unable to do this, but if you extend the PU that you would normally use for coin 2 eventually in another PU you would be in between coins 3 and 4 albeit offset from the track by some amount.

    • @radixtoken1058
      @radixtoken1058 8 ปีที่แล้ว

      Get a piece of graph paper. Only create lines by connecting diagonals. Can you achieve a path the puts you in between corners?

    • @TheWritersMind
      @TheWritersMind 8 ปีที่แล้ว

      the problem is more complex then you simplify it to be. you can draw lines to corners, or to edges. by drawing the lines as if they were PU lines you can make several directions from a singular point (mario) intersect different parts of lines in different boxes.

    • @TheWritersMind
      @TheWritersMind 8 ปีที่แล้ว

      you know what a better way to think about this would be a line where y= 1/16 X (y=mx+b) consider traveling a distance on any line. if you move sideways on that line you are bound to that line. now consider a grid of PU's as a background of that line. as the line goes 16 units x (which is mario) travels to a PU with in the same spot. now consider marios position between those states. it will always go through any PU at the angle of 1/16. if the position of the stage is off center by any amount over time this will create a displacement in marios position such that mario will eventually cover the areas previously unavailiable.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +1

      Sure you could get between the coins by taking a more roudabout PU route. But the point of that shot was to illustrate the lack of precision during a single PU movement. And when you want to go from one floor triangle to another floor triangle, taking a roundabout route isn't always easy or possible

    • @TheWritersMind
      @TheWritersMind 8 ปีที่แล้ว

      thats basically what i figured. just thought it was an interesting concept.

  • @rageman2247
    @rageman2247 2 ปีที่แล้ว

    I wonder if this is different in other N64 games or if this is something that all N64 games have

  • @Cosmalano
    @Cosmalano 5 หลายเดือนก่อน

    But what about camera rotation?

  • @nothingbutaman823
    @nothingbutaman823 7 ปีที่แล้ว

    In emulators there is an angle function, but only shows how steep is the floor below Mario.. is it different from this :/

    • @Eddio0141
      @Eddio0141 7 ปีที่แล้ว

      really what is the ram address?

  • @CC-hx8gj
    @CC-hx8gj 4 ปีที่แล้ว

    Don't let this distract you from the fact that Mr. Krabs sold Spongebob's soul for 62 cents

  • @TimeTravelPenguinTAS
    @TimeTravelPenguinTAS 8 ปีที่แล้ว

    I don't understand. You need more differential calculus. What is dθ/dt? ;)

  • @Dronkhrrrrng
    @Dronkhrrrrng 8 ปีที่แล้ว +2

    have you ever stopped to wonder what NPCs see mario as when he's doing all this tricky dicky shit? like, creating clones and using them for his own gain, or grinding his ass against a wall collecting enough speed to put light to shame

  • @pedro1492
    @pedro1492 7 ปีที่แล้ว

    how exactly does that lookup thing work?

    • @tux1468
      @tux1468 4 ปีที่แล้ว +1

      Normally, when you do a computation on a computer, it performs mathematical operations to get the intended result. But with a lookup table, it store all possible results in one table, so that they can be looked up instead of calculated. This makes it faster, but it take up more space.

  • @mudkiptm1951
    @mudkiptm1951 7 ปีที่แล้ว +5

    I seriously want to talk to this guy over skype or something, I just wanna ask him what his life is like, and why he does all this Mario 64 stuff.

    • @Private27281
      @Private27281 6 ปีที่แล้ว

      Legendary Custer go to his main channel pannenkoek2011 for info

  • @cattomeow5639
    @cattomeow5639 6 ปีที่แล้ว

    What emulator do you use?

  • @GaudyGabriev02
    @GaudyGabriev02 8 ปีที่แล้ว

    What is the QPU?

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +19

      watch the rolling rocks video on my main channel

    • @HeyKevinYT
      @HeyKevinYT 4 ปีที่แล้ว

      -Watch for Rolling Rocks video- Watch *the* Rolling Rocks video

  • @l9m241
    @l9m241 8 ปีที่แล้ว

    *brain explodes
    AHH! MATH!!! HISS!
    In all seriousness,What about angle in the downward direction? (Or upward?)

  • @Mattpoppybros
    @Mattpoppybros 8 ปีที่แล้ว +2

    How about eyes?

    • @isyanmkw181
      @isyanmkw181 7 ปีที่แล้ว +1

      256 and 2048

    • @Mattpoppybros
      @Mattpoppybros 7 ปีที่แล้ว

      I've completely forgotten all context here, what was I asking?

    • @dmas7749
      @dmas7749 7 ปีที่แล้ว

      Lmao another delay for this comment
      Mr. I's rotational speed, he meant 256 when not focused on Mario and 2048 when focused on Mario

  • @akvt0107
    @akvt0107 5 ปีที่แล้ว

    *Ang*

  • @ikagura
    @ikagura 8 ปีที่แล้ว

    Whats trigonometry?

  • @groszak1
    @groszak1 6 ปีที่แล้ว +1

    It's not truncated to the closest 16, it's truncated to the next highest angle.

  • @alexbv475
    @alexbv475 8 ปีที่แล้ว

    The joystick on a console controller probably isnt sensitive enough to register even 4000 different angles, let alone 65000. If you see TAS as a representation of what could be done by a superhumanely perfect player on the stock, unaltered game (this is my view, but maybe yours differs) then the controller would be the bottleneck and you'd need a custom one. Or maybe I'm just being way overpedantic here.

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว +1

      The n64 controller uses a digital IRE for its control stick, which can get pretty damn granular, and the memory mapped inputs for each axis of the control stick are stored as a float ranging from 0xc2800000 (-64.0) to 0x42800000 (64.0.) I don't believe the controller would be a bottleneck as you describe.

    • @alexbv475
      @alexbv475 8 ปีที่แล้ว

      Interesting. I guess i was underestimating what the joystick used in a "cheap", 20 years old console could do. I actually find it easy to believe that there's enough granularity (as in: If given enough time and with feedback you can adjust the stick to get any value you want) I wonder about the repeatability of the stick tho (if you push the stick twice with the same, exactly perfect movement will the input be the same each time?) But I'm getting super nitpicky so i'll stop now :)
      IRE as in infrared rotary encoder, right?

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว +1

      Incremental Rotary Encoder, actually, specifically an Optical Incremental Rotary Encoder.

  • @ImSquiggs
    @ImSquiggs 8 ปีที่แล้ว

    65535 different angles are why I prefer 2D games to 3D. They are so much easier to manipulate and master, and they have a level of precision you just can't get in anything 3D. At least with Mario you get amazingly fluid controls, but that is certainly not the case for all games on the N64, haha.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +1

      Yeah, you have a lot more freedom to move around, but that makes optimizing (i.e. finding the perfect angle) that much more difficult to TAS

  • @potatoonastick2239
    @potatoonastick2239 8 ปีที่แล้ว

    You really need an outro

    • @dargos
      @dargos 8 ปีที่แล้ว +2

      To make the video unnecessarily longer?

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +2

      Keok videos don't require an intro, outro, voice commentary, practical applications, being 100% complete, thorough explanations on the glitches used, or even being interesting to watch. This deliberate lack of requirements is what keeps them easy to make and frequently uploaded

    • @potatoonastick2239
      @potatoonastick2239 8 ปีที่แล้ว

      pannenkeok2012 I understand.

  • @alisiaale565
    @alisiaale565 4 ปีที่แล้ว

    200th comment! Yay!

  • @SneakySneasel
    @SneakySneasel 8 ปีที่แล้ว

    It's not supposed to go at an angle!

  • @renakunisaki
    @renakunisaki 8 ปีที่แล้ว

    Doesn't the N64 FPU have trig functions built in? Nintendo pls.
    Perhaps it'd be more accurate to say the angles are fixed-point numbers (precision 12.4).

    • @TehCheat3
      @TehCheat3 8 ปีที่แล้ว +3

      The trig functions are compiled in game and are not native operations available to the coprocessor. This means that the CPU has to spend a lot of time telling the coprocessor what to do.
      It only takes about 10 CPU operations to get an objects angle, round it to a multiple of 16, then use it as an index to look the proper floating point value up in a table whereas the cosine function alone is 48 operations long.
      Now that's not to say the n64 wouldn't be able to handle the work if it were done using the trig functions, that I don't know, but I would wager that the developers either ran into performance problems when doing it that way or they just wanted to save CPU cycles in places they could afford to.

  • @Cla0016
    @Cla0016 8 ปีที่แล้ว

    Please narrate more videos.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +1

      If you want voice commentary, stick to my main channel. There will never under any circumstance be voice commentary on this channel, so you should not expect it. For more info, see question #6 of bit.ly/pannenkeok2012FAQ

  • @ZsnesWIN
    @ZsnesWIN 8 ปีที่แล้ว

    I will pay you ONE HUNDRED DOLLARS to do another commentated video

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว

      Please defer all discussion about commentated videos to my main channel. It has no place on this channel.

  • @AndrewRyanNoGodsOrKings
    @AndrewRyanNoGodsOrKings 8 ปีที่แล้ว

    THIRD BABY

  • @samuelthecamel
    @samuelthecamel 4 ปีที่แล้ว

    How do you expect to get to Mars if we can't even calculate trig without lookup tables?

  • @ddnava96
    @ddnava96 7 ปีที่แล้ว

    3:56 angle: 9999

  • @JNJNRobin1337
    @JNJNRobin1337 ปีที่แล้ว

    why are angles like this on sm64
    you dont need. 5 digits (65536] that feels overly precise

  • @EthVortexShield
    @EthVortexShield 8 ปีที่แล้ว +1

    Losing rapid interest in the videos because I know they don't have vocal narration. Bring back the voice.

    • @UncommentatedPannen
      @UncommentatedPannen  8 ปีที่แล้ว +3

      I can't bring it back to a channel that's never had it and never will. If you want voice commentary, I know a place where all new videos are required to be voice commentated: it's called my main channel.