Melee's Stupid Advantages

Поділитися
Вставка
  • Опубліковано 22 гру 2021
  • This was supposed to be a short video.
    Subscribe for more!
    • Consider becoming a PATRON if you really like my content!
    / asumsaus
    • Twitter
    / asumsaus
    Songs in order of appearance:
    • Waltz of the Flowers
    • Tárrega: Gran jota (Ar...
    • Dragon Quest V (PS2) -...
    • Mario Strikers Charged...
    • Video
    • Video
    • Video
    • Skullgirls OST #03 - P...
    • Video
    • Video
    • Toejam & Earl - Toejam...
    • Video
  • Ігри

КОМЕНТАРІ • 2,6 тис.

  • @squidge477
    @squidge477 2 роки тому +13719

    I love how the more Melee is analyzed, the more apparent it becomes that it's code is held together by duct tape.

    • @TheRationalPi
      @TheRationalPi 2 роки тому +1652

      That's true of so much software. Melee just has the disadvantage of being obsessed over for two decades with no way to get updated.

    • @rigistroni
      @rigistroni 2 роки тому +1032

      @@TheRationalPi also being made in roughly a year for entirely new hardware. It definitely needs more duct tape than your average game

    • @zachsteiner
      @zachsteiner 2 роки тому +67

      That it is code

    • @whoisanarnb
      @whoisanarnb 2 роки тому +107

      Same with tf2

    • @nathanaelwaters2509
      @nathanaelwaters2509 2 роки тому +191

      Duct tape is generous to be honest

  • @JayconianArts
    @JayconianArts 2 роки тому +4983

    No wonder Luigi isn't used by high-level players. To use him to his maximum potential, you need to memorize every combination of skin, character, and stage.

    • @TestSubject06
      @TestSubject06 2 роки тому +655

      and port.

    • @panzalinopanzultimate4796
      @panzalinopanzultimate4796 2 роки тому +680

      20XX Luigi just you wait

    • @CSDragon
      @CSDragon 2 роки тому +80

      or just make sure to charge your down b

    • @illford6921
      @illford6921 2 роки тому +178

      @@CSDragon yeah but that's punishable I'd you do it porly

    • @AlexFBauer
      @AlexFBauer 2 роки тому +284

      These are the kind of things that make me honestly believe we should create a community patch for melee. Just the one, fixing the most glaring issues in the game (luigi cyclone always charged, g&w shield, roy’s dash attack, bowser’s jumpsquat, the kirby suicide throws) and maybe even fixes that were introduced in later smash games (like falcon side-b snap to ledge, or luigi’s dash attack having that final hitbox). I honestly see no downside to standardizing these changes, maybe even throw in a few more viable stages!

  • @HopCatSmash
    @HopCatSmash 2 роки тому +4868

    My man really spent 3 and a half minutes to expose Plup's Johns

    • @HopCatSmash
      @HopCatSmash 2 роки тому +809

      Hold up I kept watching and he kept going for another 2 minutes 🤣

    • @secretjazz93
      @secretjazz93 2 роки тому +236

      and it probably took him several days to analyze those throws....

    • @inaneinacheve
      @inaneinacheve 2 роки тому +24

      It would be nice to have more moments like that

    • @matteojames2312
      @matteojames2312 2 роки тому +158

      We don't allow Johns in the Smash community

    • @ZoroPTD
      @ZoroPTD 2 роки тому +100

      Please, no Johns

  • @keksidy
    @keksidy 2 роки тому +3218

    What if Luigi Cyclone wasn't actually nerfed in Ultimate and we just haven't found the right combination for it to fly yet?

    • @Qobp
      @Qobp 2 роки тому +450

      i've found that if training mode is set to slowest speed you can get a very tiny amount of vertical gain from mashing the fuck out of it

    • @sythrus
      @sythrus 2 роки тому +264

      @@Qobp a lead

    • @Cibershadow2
      @Cibershadow2 2 роки тому +169

      Several gamecube controllers will be sacrificed for this forbidden knowledge

    • @UmbraVivens94
      @UmbraVivens94 2 роки тому +54

      if there was, CPUs would do it

    • @DarkkirbyKRPG
      @DarkkirbyKRPG Рік тому +105

      @@UmbraVivens94 What if the CPU was programmed to not know how to? Doc in Smash 4 didn't know how to use DocTornado.

  • @Subjectively
    @Subjectively 2 роки тому +3685

    It’s amazing that I have absolutely no intention of playing Melee at the level of involvement discussed in these videos, and yet I still find them so goddamn interesting

    • @Tarro57
      @Tarro57 2 роки тому +10

      Whoa didn't know you watched AsumSaus. You both are some of my favorite channels!

    • @kwkylewilliams462
      @kwkylewilliams462 2 роки тому +4

      I tried playing melee for the first time a month ago and it is so fucking hard. Gave me a new respect for all the tech and little nuances asumsaus says in his videos

    • @sunny0042
      @sunny0042 2 роки тому +19

      i have never played a single game of smash in my life

    • @osooso6027
      @osooso6027 2 роки тому +1

      @@sunny0042 😂 nice

    • @anthonystone9897
      @anthonystone9897 2 роки тому +14

      I thought about downloading and playing melee but it pretty much gave me anxiety because of the skill ceiling lol.

  • @ODISeth
    @ODISeth 2 роки тому +1168

    Bruh the Luigi cyclone charge broke me more than anything else in this

    • @goofygoober7183
      @goofygoober7183 2 роки тому +40

      Oh fuck a furry fucking run

    • @ODISeth
      @ODISeth 2 роки тому +87

      @@goofygoober7183 ikr, horrifying

    • @oofles5514
      @oofles5514 2 роки тому +73

      @@goofygoober7183 Way out of pocket for that one. Imagine walking up to someone (in private) and _actually_ saying this to their face. Yeah, gtfo, nobody thinks you're funny. And stop liking your own comments before you grow so lonely you start feeling the need to reply to your own comments, too.

    • @kaiden7063
      @kaiden7063 2 роки тому +36

      @@oofles5514 malding

    • @firstnamelastname5596
      @firstnamelastname5596 2 роки тому +21

      @@oofles5514 cry harder

  • @thisisacallforhelp3484
    @thisisacallforhelp3484 2 роки тому +671

    Feels like port priority has become more of a psychological advantage than an actual one. Under the pressure of knowing your opponent has a slight unfair advantage it make sense to crack a little more than usual, especially when there’s something to blame it on. It’s like a handful of bad stories have lead to it being seen as a bigger advantage than it actually is.

    • @Fridgemasters
      @Fridgemasters 8 місяців тому +50

      it’s like a manual breathing sort of scenario. once you know about it, it’s difficult for it to leave your head

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

      If I was any good at smash I would go out of my way to give port priority in favor to my opponent just to mess with them.

    • @humbleguy1533
      @humbleguy1533 19 днів тому +1

      It’s a smaller effect than stage but it exists

  • @CircleToonsHD
    @CircleToonsHD 2 роки тому +7809

    Seriously a masterclass in editing.

    • @darkspike7543
      @darkspike7543 2 роки тому +41

      Didn't expect to find you here
      Love the videos man
      Merry Christmas btw :D

    • @gumbo64
      @gumbo64 2 роки тому +11

      MELEE

    • @xdsmile5359
      @xdsmile5359 2 роки тому +3

      Merry Christmas and happy new year!

    • @spaciesthalo9050
      @spaciesthalo9050 2 роки тому +2

      Hello

    • @TurkeyFaceX
      @TurkeyFaceX 2 роки тому +4

      True legend of the memes. Glad to see you like advanced Melee stuff!

  • @ethanvilla4682
    @ethanvilla4682 2 роки тому +3047

    Every time i think he’s made the best video possible, then he somehow makes an even better one

  • @TheGreatRio
    @TheGreatRio 2 роки тому +1078

    Personally, my cyclone gets charged whenever AsumSaus uploads a new video.

    • @anankos795
      @anankos795 2 роки тому +14

      You might want to have that checked.

    • @dougr8646
      @dougr8646 Рік тому +4

      Sounds gay! Yasser quenn!!!queen!!!!

  • @deathblowringo4168
    @deathblowringo4168 2 роки тому +741

    There some Port Priority oddities you missed:
    When a Sudden Death is initiated, if both players are KOd at the same time, the lowest port wins there. (that doesn't work on any of the 1P modes because it still results a Game Over in Regular Match or Failure in Event Match or Multi-man Melee).
    And when two characters attempt to pick the same item at the same time, the lowest port will grab it first.
    If two (or more) airborne characters attempt to land in the exact same place on the ground, the lowest port always get pushed to the left.

  • @OreoTheWolf
    @OreoTheWolf 2 роки тому +1767

    Port priority is almost certainly never designed with intent, as the start of the video suggests. It's a consequence in the order of operations of game states, so it usually manifests as a side-effect

    • @turmspitzewerk
      @turmspitzewerk 2 роки тому +169

      day 1 of development: "we have to make them do *something* when they attack at the same time. lets just make half the situations have player 1 win, half the situations make player 2 win, and then we'll figure out actual solutions when we have time later."
      *they did not have time later.

    • @xorel0001
      @xorel0001 2 роки тому +7

      So that's why it seemed so random

    • @jane5886
      @jane5886 Рік тому +59

      Tbh I doubt they expected a game for kids to become such a sweaty competitive thing, like most of the design is good enough for casual play

    • @Anon.G
      @Anon.G Рік тому +32

      @@turmspitzewerk highly likely this is not what happened. It's simply that the input from the first port is evaluated firdt

    • @turmspitzewerk
      @turmspitzewerk Рік тому +21

      @@Anon.G well, yes, exactly. instructions have to be read in a certain order one at a time. thats why they chose higher ports to win some times, and lower ports to win other times. they *have* to pick one player at minimum, so they chose to make port priority go half and half both ways in hopes that it would balance itself out.
      the vast majority of multiplayer games have port priority in some form of another, for all the same reasons. but in fighting games its a lot more pronounced, as you can often hit on the same frame.
      they can create a way to detect inputs at the same time, and come up with a proper outcome later down the line. port priority is simple a placeholder solution until then; because it is impossible for them to normally hit each other at the same time. and of course every developer hopes to squash every bug, polish every feature, and replace any placeholders; but when the deadline closes in you have to drop those ambitions.

  • @Huggbees
    @Huggbees 2 роки тому +4922

    I have heard of port priority for years and now finally understand it. Thank you

    • @scrapinator8898
      @scrapinator8898 2 роки тому +9

      Sup dude

    • @bjaurus6375
      @bjaurus6375 2 роки тому +124

      Does a filling machine have port priority over a rinsing machine?

    • @zfump2132
      @zfump2132 2 роки тому +25

      Learning that huggbees like melee is so awesome

    • @pheonixfire4544
      @pheonixfire4544 2 роки тому +1

      YOOO love ur vids man also me too lmao

    • @Tootdaddy17
      @Tootdaddy17 2 роки тому +3

      Holy shit I wasn't expecting you here

  • @KirbCakesEvie
    @KirbCakesEvie 2 роки тому +630

    That luigi cyclone fact is one of the most obscure things I've ever heard about this game. And that's saying a lot

    • @Alienrun
      @Alienrun 2 роки тому +3

      Same, and I've heard A LOT of weird stuff about this game! lol :P

    • @keeganapsey9238
      @keeganapsey9238 2 роки тому +7

      Yeah, this is why it's recommended that variables get initialized in some way, otherwise they'll end up as garbage (which is the technical name for the bunch of junk that gets slapped into the variable when no initialization is done). Most likely they just forgot to initialize it at some stage and it never got noticed after that.

    • @sybilcuthd
      @sybilcuthd 2 роки тому

      @@keeganapsey9238 by extension, isn't it actually RNG whether Luigi gets his charge? He makes it sound like the initial value is some sort of function of the stage+skins+characters like doing some sort of sum mod 2 but goes on to say it's junk data. so which is it? is the junk data seeded based on the stages/skins/chars?

    • @swirl6996
      @swirl6996 2 роки тому +2

      @@sybilcuthd When the variable is created, it is assigned an address in memory.
      In this case, it's likely initialized around the same time as the character, stage, port, and skin data. The order these are initialized is not set, so it might go later or earlier.
      Basically, it reads the address of where the variable is supposed to be. This address can contain any of that data. So you end up with pseudo-random but "predictable" junk when the variable is read, which the game may interpret in different ways

    • @philphil1843
      @philphil1843 2 роки тому

      @@sybilcuthd the initial value of an uninitialized variable is basically "whatever value that region of the system memory was set to by whatever used it last". Which is often essentially random from the perspective of the observer, but also kinda technically not. The following is guesswork based on my assumption that the Gamecube has heavy re-use of memory addresses.
      I imagine the byte of memory used for the luigi cyclone variable is the same address every time, just depending on the player port - for talking sake say it's byte number 8,000 for P1, number 8,200 for P2. The previous program state was the character and stage selection screens, and let's say the character selection for player 1 writes to bytes 7,996 to 8004 - the value set by this choice would thus impact the initial value of the variable when the match starts. It would technically be deterministic and not random, because the same sequence of port/character/stage selections would always result in the same 'uninitialized' value for the variable.
      The exact reason likely a lot more complex and boring than this.

  • @Joseponypants
    @Joseponypants 2 роки тому +645

    I'm surprised, I never actually knew that about the Luigi cyclone. That's crazy. It's honestly impressive to me that reading the cyclone charge doesn't cause more issues somehow since it's not reading an intended variable but random garbage data.

    • @Kori-ko
      @Kori-ko 2 роки тому +28

      I think missfire works similarly but I don't remember exactly what garbage data it's reading or what the context for it is.

    • @godlyBlade
      @godlyBlade 2 роки тому +108

      Some programming languages have weak typing, like C for example, so you can set boolean flag variable to basically anything and any value that isn't 0 will just be interpreted as "true" by the code.

    • @seronymus
      @seronymus 2 роки тому +6

      @@godlyBlade do you think that's what happened here?

    • @user-yo7hz8gw4t
      @user-yo7hz8gw4t 2 роки тому +46

      @@seronymus I can't be certain, but it looks like that's the case. Older games usually were written in assembly or, later, some languages like C, because optimization was crucial, both for space and performance. Today the requirements are not as strict and other languages are more used than before, but in the end, data is still data and this could still happen.
      Trying to keep this non-programmer-friendly, my guess is that it uses one bit (the most basic "1 or 0" unit) as a flag to determine the charge. As they forgot to set the variable, it used the garbage data of whatever was there before, but whatever that is, the only part it will look at is either a 1 or a 0, so that shouldn’t cause unexpected behaviors beyond the initial charge state.
      What _could_ cause issues is changing its value during the match. Because, if external factors can change its value, we should also assume that the same memory address of the flag is being used elsewhere in the code. However, I think that part may be intentional behavior, maybe that data is only important before the match starts and can be freely changed during it. As I said before, older games relied a lot on optimization, so using the same address for different things at different times may be a minor optimization to not go over the RAM limit.

    • @seronymus
      @seronymus 2 роки тому +17

      @@user-yo7hz8gw4t That's extremely interesting, thank you. How funny is that paradigm shift from creative optimization to now, where AAA games take up WAY WAY too much space than they need for several reasons. Every byte certainly not being put to use haha. I also want to learn C

  • @Topunito
    @Topunito Рік тому +229

    Luigi doing the "Luigi ladder" into grabbing the back of the T in the word "Weirdest" shown on screen is fucking insane, I love how above and beyond the editing goes for these videos

  • @taylorallred6208
    @taylorallred6208 2 роки тому +1856

    As a programmer, I get the sense that port priority is more of an artifact of how machines work. For example, the CPU probably updates the state of each character one at a time and might not finish before rendering the next frame.

    • @somerandombub
      @somerandombub 2 роки тому +340

      I was thinking this too. I doubt they sat around and said "hmm we will make grab ties win based on port", it was just how it worked by default. They would have had to spend extra time to resolve it in a fair way, and that was time that they didn't have.

    • @Izandaia
      @Izandaia 2 роки тому +167

      @@somerandombub Assuming they even noticed the weird behavior.

    • @irok1
      @irok1 2 роки тому +29

      This seems like the simplest explanation

    • @asianjackass237
      @asianjackass237 2 роки тому +115

      @@Izandaia They do AND they fixed them in PAL version. The US just collectively ignore that cause PAL fixes the broken shit they called "meta" like Marth waveshine not possible due to nerf on his weight

    • @jojivlogs_4255
      @jojivlogs_4255 2 роки тому +80

      @@asianjackass237 pal has plenty of it's own issues which is the reason it's not used competitively. if it was truly less broken enough to warrant using it, then we would

  • @arJunebugSmash
    @arJunebugSmash 2 роки тому +1761

    you can consistently make the most technical topics entertaining without dumbing it down at all
    well played sir, amazing vid per usual

    • @mattgach1779
      @mattgach1779 2 роки тому +10

      omg it’s the legendary smash world tour commentator WolfeyVGC!! Big fan!!

    • @constantinethe2hpencil409
      @constantinethe2hpencil409 2 роки тому +2

      Bootlicker.

    • @C_cotobuki
      @C_cotobuki 2 роки тому +9

      @@constantinethe2hpencil409 Junebug is more involved in the competitive scene than Asumsaus and has experienced the subject of the video countless times. His opinion of the video is clearly something substantial.

  • @pelotaz0
    @pelotaz0 2 роки тому +419

    There's another thing you didn't menction: higher ports spawns in the air while port 1 spawns grounded. That means you can't waveland or double jump at the begining of a match with port 1, but you can do it with certain characters in the other ports. Nice video!

    • @k-leb4671
      @k-leb4671 2 роки тому +24

      Man, these port differences give me aneurysms. Who decides on this crap?

    • @pelotaz0
      @pelotaz0 2 роки тому +49

      ​@@k-leb4671 idk, i suppose they didn't think we would exploit this game so much that we would notice every little random shit they added

    • @walter4180
      @walter4180 2 роки тому +43

      @@k-leb4671 most likely not a decision but an oversight. Possibly not even that. Might be something that naturally occurred due to the design process and computers back then and they didn't have the time (or they just didn't notice) to come up with a workaround.
      Saw a guy further up the comments talking about CPUs who's probably more educated on the matter then me lol

    • @strange4107
      @strange4107 2 роки тому +9

      @@k-leb4671 it's more a problem of the machine doing everything 1 at a time and not able to affect all 4 ports in 1 frame

    • @TheEviltaco666
      @TheEviltaco666 2 роки тому +6

      @@k-leb4671 is what happens when a game is rushed and there isn’t enough time to properly debug it
      Also keep in mind this code was written over 20 years ago lmao

  • @Nekathe
    @Nekathe 2 роки тому +273

    I think that theres also a mental factor to this, since plup knows that the combo is true because of port priority, he's probably trying slightly less to avoid it because he knows he'll get hit by it either way

    • @mofire5674
      @mofire5674 2 роки тому +54

      As with most obscure jank, it's so rare for it to matter that mental ends up being the only real contributor. Sure, theoretically port priority matters, but it actually doesn't because mental accounts for 99.9% of everything else.

    • @MaximumImpactGames
      @MaximumImpactGames Рік тому +9

      @@mofire5674 untrue, it's an issue of opportunity cost. There is no downside to attempt it because you get a very real tangible benefit roughly one in 20 times.
      The mental aspect is part of it, but even ignoring that, it means in some matchups you have the equivalent of your throws having a Luigi misfire tacked onto it, with no additional cost to do what you already want to do in the matchup.
      In the cases where the opponent gets a frame perfect escape is actually irrelevant because there is no negative outcome for the attempt when you have priority thanks to the port.
      That's why it's free, you already are attempting the same thing otherwise, but 1 in 20 times the game gives you a huge benefit for it, and that's just using his own numbers.

    • @everythingpony
      @everythingpony Рік тому

      @@mofire5674 untrue, it's an expoilt and he knows it

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

      @@everythingpony yeah man, plugging your controller into the console is kind of a crazy exploit

  • @Ludvix
    @Ludvix 2 роки тому +5571

    Bro your editing just gets better and better!

    • @DocJackJo
      @DocJackJo 2 роки тому +8

      Yeah, and hi btw

    • @s3b874
      @s3b874 2 роки тому +32

      And your upload schedule is getting worse and worse lol

    • @zachsteiner
      @zachsteiner 2 роки тому +6

      Yeah his editing is incredible

    • @matthewbob_moostachepants5563
      @matthewbob_moostachepants5563 2 роки тому +4

      Yeah no kidding I definitely agree especially looking at all the different circumstances of DI’ing out of a grab a frame earlier as that was really interesting

    • @matthewbob_moostachepants5563
      @matthewbob_moostachepants5563 2 роки тому +8

      @@s3b874 I hate to say it but yeah his upload schedule is all over the place even but he’s probably pretty busy and these videos do take a long time to edit and perfect so I do understand why he goes many months without uploading although I’m sure you could look up all the jank he mentions as it is pretty well documented

  • @ABronyNamedBurnie
    @ABronyNamedBurnie 2 роки тому +417

    8:00 wait can we talk about how Zain is apparently frame perfect out of grab basically half the time? The precision of top players is astounding.

    • @pranavjulakanti7027
      @pranavjulakanti7027 2 роки тому +63

      Not to mention all of the frame perfect pivot tippers/regrabs. Top players make it look so easy.

    • @danielchristensen3657
      @danielchristensen3657 2 роки тому +14

      Thank toy. That’s the most awesome take away of this video for me. Need to step my game up

    • @orionwebster8727
      @orionwebster8727 2 роки тому +11

      Yeah that's kinda the point that Plup is making. Sheik can literally like nair out of marth's upthrow significantly more "easily" at low percent. That doesn't make Zain not amazing. IIRC vanilla dashback for instance is 1 frame to hit and UCF buffs it to 2, literally 1 frame different with way more consistency.

  • @ertert4tetert
    @ertert4tetert 2 роки тому +175

    Having them do rock paper scissors right before the game gives a pretty big psychological advantage in that regard, would almost be better not to know.

    • @chanley3141
      @chanley3141 2 роки тому +44

      ??? it would tell them in game with the “P1” and “P2”

  • @andrewporter1868
    @andrewporter1868 2 роки тому +85

    The "cyclonecharged" thing specifically is uninitialized and would be referred to as undefined behavior in the context of C (and I believe C++ as well, but that has a different standard). It's uninitialized meaning the value was not set to zero. This is literally a single character difference: malloc (allocate only), and calloc (allocate, set zero). These are heap state management functions, so if the data is uninitialized, it is set to whatever the current value is after the memory was freed. Using uninitialized variables is not a good source of randomness assuming that was the intended design decision; however, a more reasonable explanation is that the programmer forgot to initialize the variable which is easy to do if the GameCube standard library doesn't have calloc, in which case you have to write "variable = 0;" at some point before it's use, and if it's an array of memory, you have to now iterate over all of that memory and set that to zero manually as well. It could also be due to a compiler bug.

    • @seronymus
      @seronymus 2 роки тому +3

      How does the uninitialized variable get filled with junk data?

    • @lyingriotman2220
      @lyingriotman2220 2 роки тому +22

      @@seronymus When assets are unloaded from memory, the system only "unallocates" that data. It still exists, but it's considered free memory because no one is actively using it now.
      When Luigi is allocated memory, he's given a portion of this free memory filled with junk data. Because his variables are defined but are not initialized (not given an initial state) the junk data is left alone. Therefore, Luigi's charged state is actually determined by whatever variable/data existed in that block of memory before it was allocated to him. Stages, characters, costumes, and controller order all affect when and how data is loaded into memory, as well as which blocks are allocated to Luigi's charged state.

    • @alexstewart9592
      @alexstewart9592 Рік тому +4

      It should also be noted that memory allocation is a very low-level function, and while some early consoes (e.g. the GameBoy Colour and the SNES, as well as all older consoles) required programmers to manually allocate memory for variables, most consoles handle it automatically using code included in the operating system.
      Also note that because memory allocation is an OS-level function, the junk data can originate from outside the game on consoles that are allowed to run code unrelated to the game you are playing (for example, to display the Home menu or to download updates automatically).
      As a final note, the previous point doesn't apply to anything from a console that doesn't have such features being run via emulation (including VC and NSO retro games), because the emulator makes a single bulk memory reservation for enough memory to run itself, and then simulates the console it is emulating within that allocation, including having that console's simulated OS allocate memory to the game being emulated.

    • @andrewporter1868
      @andrewporter1868 Рік тому +4

      @@alexstewart9592 Dude... all consoles did not adopt Java as the primary programming language... I guarantee you... garbage collection is extremely undesirable...

  • @TacoSnipezZ
    @TacoSnipezZ 2 роки тому +414

    That Luigi cyclone shit is insane. Please tell me that every iteration for legal stages has been gone thru and figured out.

    • @papersonic9941
      @papersonic9941 2 роки тому +174

      what you wanna bet M2K knows all of them.

    • @kusharya8006
      @kusharya8006 2 роки тому +11

      yeah it isnt too bad. and honestly port usually doesnt matter and so you just remember the exceptions

    • @RagnellAvalon
      @RagnellAvalon 2 роки тому +12

      Given the arbitrary nature of the numbers involved it's pretty much 50/50 on whether you can find some sort of rule or if it's just effectively random

    • @LARAUJO_0
      @LARAUJO_0 2 роки тому +2

      @@papersonic9941 He probably does

    • @Cera_01
      @Cera_01 2 роки тому +5

      @@papersonic9941 that's hardly a bet more than it is a guarantee

  • @irithylldragon
    @irithylldragon 2 роки тому +157

    i want to believe that there is a luigi player who has memorised *every* match-up possible to always land himself a charged cyclone no matter the scenario

    • @rabidtangerine
      @rabidtangerine 2 роки тому +45

      I also want to believe that there are scenarios like "ah fuck, red falco on yoshi's island, none of my skins let me start with cyclone"

    • @irithylldragon
      @irithylldragon 2 роки тому +25

      @@rabidtangerine truly, the life of the luigi player is an arduous one

  • @terrarianender
    @terrarianender Рік тому +7

    Schrödinger's Charge:
    I don't know if Luigi's cyclone is charged or uncharged until I use his down B.

  • @darienwhite6223
    @darienwhite6223 2 роки тому +17

    I was not prepared for 3:13 when I came back from doing something else lmao

  • @nousername191
    @nousername191 2 роки тому +402

    Luigi's cyclone variable is straight up unassigned? That's crazy. Earliest mistake new coders are warned about, can't imagine what kind of mess the development crunch was and the suffering involved for the developers.

    • @CntRational
      @CntRational 2 роки тому +77

      It's pretty believable, it's not something testers would catch unless they were really paying attention. And we've got tools to check for memory errors nowdays, while early Gamecube games were coded during the horror that was 90s era C and C++.

    • @Rediblackdragon
      @Rediblackdragon 2 роки тому +32

      Nah man just read a semi-random point in ram it'll be cool

    • @shukterhousejive
      @shukterhousejive 2 роки тому +57

      I think someone developing a machine learning bot for Melee gave a talk about making the Dolphin interface and they mentioned (among other things) that some boolean values in Melee are stored as floats. I don't wanna know what kind of crunch leads to that

    • @DigiEggz
      @DigiEggz 2 роки тому +20

      @@shukterhousejive Best guess is rapid changes to the intended use of the variable. With a crunch, those variables are less likely to be refactored or cleaned up.

    • @SeisoYabai
      @SeisoYabai 2 роки тому +11

      @@DigiEggz As someone in the early stages of learning to code, I've definitely experienced exactly that. Sometimes you think it's best handled by a number assignment only to realize later you just need a true/false, and it's definitely quicker to just leave it as it is than try to make it "proper"

  • @victortamez7316
    @victortamez7316 2 роки тому +66

    "this SOB skipped a frame" had me rolling lmfao

  • @scraub8913
    @scraub8913 Рік тому +41

    The sheer level of jank in Melee is insane, I love how this broken mess of toothpicks and duct tape became a competitive smash hit

  • @NiagaraErie
    @NiagaraErie 2 роки тому +36

    Your visualizations are so wonderful. You do a great job of conveying complex/confusing things clearly.

  • @smloader
    @smloader 2 роки тому +77

    Luigi cyclone also looks at what stage you were hovering over when you started. If you picked battlefield, it may be charged, but if you *randomed* to battlefield, it may not be, with every other circumstance being exactly the same.

  • @DarkonFullPower
    @DarkonFullPower 2 роки тому +186

    That Luigi one hurt my soul.
    Declaring a variable without even a temporary ANYTHING assigned to it is just asking for trouble. They're lucky it didn't crash the game, though if it did, then they might have noticed it.

    • @GT-Rev
      @GT-Rev 2 роки тому +38

      I was think about that too, as a programmer. They're lucky as hell that it not only didn't crash, but also worked without issue. It should have crashed or returned an error as soon as Luigi loaded in or tried to use the move. I don't know how this got passed them in testing or at all.

    • @seronymus
      @seronymus 2 роки тому +5

      @@GT-Rev how does the game instead interpret random data as a binary input?

    • @nankinink
      @nankinink 2 роки тому +26

      @@seronymus It depends. If Melee was written in C#, the unassigned variable would be assigned as false, 0, basically uncharged. Only to be assigned as true if explicit so.
      If was written in C++, the variable would be assigned with the value as the last assign, so if Luigi's last move from the game before set it as charged, the variable would be assigned as true for the next game and vice-versa. Not sure if this is applicable when the console turns off tho.
      Not only this, the code might be doing something else with this variable that we dont know. It's impossible to debug it without checking the code.
      edit: This is if Melee was wrriten in these language. Each code language has its fail-safe and each one behaves differently in this unassigned case.

    • @seronymus
      @seronymus 2 роки тому +3

      @@nankinink thank you and bless you for the informed answer, I'm just starting to try coding in C

    • @swank8508
      @swank8508 2 роки тому +6

      @@seronymus most boolean types either read the first digit to see if it is true or false, or more likely they return true if any of the digits are 1. if that is the case though, then a very small fraction of the time would luigi start uncharged

  • @acerbusthedarkenvtuber5684
    @acerbusthedarkenvtuber5684 Рік тому +4

    Just the calm "This son of a bitch skipped a frame" still lives in my head to this day

  • @Guacamole1000
    @Guacamole1000 2 роки тому +83

    the duck part for luigi's cylcone made me literally crack up this was an extremely well created video

    • @noone-xs8om
      @noone-xs8om 2 роки тому +6

      You mean *quack* up? Haha I hate my life

  • @TheBlakeGG
    @TheBlakeGG 2 роки тому +475

    AsumSaus has by far the greatest thumbnails and content on youtube

    • @Dorriedude
      @Dorriedude 2 роки тому

      lol true

    • @fhuckgoogle4171
      @fhuckgoogle4171 2 роки тому +3

      I don't know about thumbnails but he has some of the very best editing on the platform.

    • @crisismoon880
      @crisismoon880 2 роки тому +1

      Verified user = free likes

  • @icarusmarioFAN
    @icarusmarioFAN 2 роки тому +57

    He managed to make a 15 minute video feel like a 25 minute video in the best way. It's always good when he uploads.

  • @dorcasmutton6335
    @dorcasmutton6335 2 роки тому +12

    0:22 Dark Souls 2 hitboxes

  • @PhilosophicallyAmerican
    @PhilosophicallyAmerican Рік тому +7

    I'm a programmer. The Luigi cyclone bit did mental damage.

  • @sirreginaldfishingtonxvii6149
    @sirreginaldfishingtonxvii6149 2 роки тому +143

    Jank and quirks like this are dumb, incredibly specific, and very much melee. Love it.
    Merry Christmas, AsumSaus! And thanks for the video!

    • @AsumSaus
      @AsumSaus  2 роки тому +10

      merry christmas!

  • @Froggo-up4wu
    @Froggo-up4wu 2 роки тому +94

    Finally, for so long, he has uploaded once more.

    • @mixelman8324
      @mixelman8324 2 роки тому +2

      Its his Christmas present to us

    • @linguiniskipped3168
      @linguiniskipped3168 2 роки тому +1

      Finally, for so long????? Please English.

    • @BalrogQuote
      @BalrogQuote 2 роки тому +1

      Ah yes, he has uploaded again for so long.
      Technically not incorrect, been uploading videos for a while.

  • @vulduv
    @vulduv 2 роки тому +27

    The skipped frame on throws and the ledge grab priority are almost certainly caused by the exact same thing. (And ledge grab priority is certainly not intentional.)
    Which is that the game doesn't process all of the character's actions at the same time. Instead running all of the code for port 1 first, then port 2, then 3, and finally 4. And things that are done on an earlier port, can effect what later ports can do.
    Lets take two characters grabbing ledge at the same time as an example.
    The character on an earlier port will check if it can grab the ledge, it can, so it grabs the ledge and marks the ledge as "already being grabbed."
    Then when the next character also checks if it can grab the same ledge on the same frame. It cannot because the ledge has "already" been grabbed by the character on the earlier port. Even though the two characters should have grabbed the ledge on the same frame.
    Same thing with characters grabbing each other on the same frame. The character on a port that is processed earlier will grab the other character, before that other character gets to process that it grabbed the first character.
    This "port order" as one could call it, is also responsible for the skipped frame on throws.
    If a character on a later port throws a character on an earlier port. Then on that frame, the earlier port will *not* update its stun timer as they haven't been thrown *yet*. And it is only once the later port gets to process the throw, that the earlier port's character actually is considered "thrown"
    But if the roles are reversed, with the earlier port character throwing the character on the later port. Then the throw will be processed BEFORE the thrown character gets processed. And so once the thrown character does get processed, they will read that they are being thrown and will update their stun timer *on the same frame that they got thrown on.*

    • @bransonS
      @bransonS 8 місяців тому +1

      Thanks for a great explanation

  • @diggoran
    @diggoran 2 роки тому +50

    Sounds like the real effect that port priority had on Plup was the mind game. If he’s still complaining about it after the match, you know he was wasting brain space on it during the match.

  • @FransenYT
    @FransenYT 2 роки тому +231

    When you think his editing can’t be better, he surpasses himself

  • @hi-i-am-atan
    @hi-i-am-atan 2 роки тому +63

    y'know, it's subtle, but the players spawning in at different times isn't stupid in and of itself; that's exactly how it works in other smash games, after all, albeit far more noticeable thanks to those games calling attention to it with the greater delay between players, camera zooms, and unique intro animations
    what really makes it stupid is that players become actionable at _different times and apparently before the timer counts down why_

  • @ThePikaPlayer
    @ThePikaPlayer 2 роки тому +19

    This channel is partly why I know so much about melee and why I was excited to try it on slippi, and i finally installed it and started playing it yesterday. Has been extremely hard to put down since. Thanks Asum!

  • @remis8623
    @remis8623 2 роки тому +8

    Never before has a game been more precise in it's actions and inputs while also being fundamentally broken and I love it

  • @67254215415413
    @67254215415413 2 роки тому +324

    For the example on Plup to be more accurate, I don’t think you can argue that port priority only mattered 4 times and that Plup probably could not have acted in time anyway. If both are true, you should also consider cases where he had 1 actionable frame but got combo’d anyway. In those cases he might have escaped if he had 2 frames instead

    • @thirstyfajita4115
      @thirstyfajita4115 2 роки тому +30

      Very true, good thought

    • @thirstyfajita4115
      @thirstyfajita4115 2 роки тому +8

      Would be cool for someone to make a supplemental video

    • @FlameUser64
      @FlameUser64 2 роки тому +68

      This is a good point, and the same occurred to me. A lot of "fake" combos are effectively "true" if the defender exits hitstun but has no defensive options that would be effective in time, so what matters isn't whether that extra frame of hitstun keeps you in hitstun until the combo connects; it's whether that frame of hitstun prevents your defensive options from coming out in time. Plus, what if the combo isn't frame perfect? What if the attacker fails to act out of the throw frame-perfectly, but gets a combo anyway because of that extra 1 frame of leniency? In a game without any sort of input buffer, this can make a huge difference!

    • @67254215415413
      @67254215415413 2 роки тому +11

      @@FlameUser64 very true, you could essentially not be punished for being a frame late due to port priority

    • @AutumnReel4444
      @AutumnReel4444 2 роки тому +31

      This. The analysis was flawed at best in the video.

  • @_Majunior
    @_Majunior 2 роки тому +20

    I really love the way you portrayed the frame count in this

    • @AsumSaus
      @AsumSaus  2 роки тому +12

      it took me a long time to come up with a way of visualizing it i thought people would best understand, so i really appreciate this!

    • @secretjazz93
      @secretjazz93 2 роки тому

      AsumSaus is the G.O.A.T. in video editing, and this was (again) explained in a way that even non-players would understand perfectly. well done 👏

  • @BlizzyP039
    @BlizzyP039 2 роки тому +7

    3:08 Berdley when Noelle uses a spell she doesn’t know

  • @EvilMike349
    @EvilMike349 2 роки тому +2

    I heard a Paper Mario sound effect in there, a true sign taste if I've ever heard one. Seriously though, your editing is top tier and all of UA-cam should take fucking notes.

  • @Metroyeti17
    @Metroyeti17 2 роки тому +60

    I had no idea Luigi's cyclone charge was such a mess lmao

  • @ayoitscat
    @ayoitscat 2 роки тому +63

    "frame-perfect" is very hard to improvise despite being possible to practice. Melee is so complicated because of the decision making in short amounts of time, and 1/60th of a second is rarely enough to decide between a ton of moves, only a few of which will even do anything

    • @AutumnSage98
      @AutumnSage98 2 роки тому +8

      What makes Zaine so crazy was in his throws, he was frame perfect for HALF of them.

  • @writinggoose6059
    @writinggoose6059 Рік тому +4

    Cyclone charge being an intentional game mechanic with a dedicated variable and not some weird physics glitch is the most surprising revelation in this video

  • @djephalpha
    @djephalpha 2 роки тому +12

    the animations are very well done and make it extremely easy to follow along. A+ video all around

  • @Calicrab
    @Calicrab 2 роки тому +34

    Port priority is a huge personal gripe of mine on melee, so thanks for the extensive coverage!
    Little less significant but ledge grabs, and team combos are also affected by port priority, it can also come up for landing on Randall at the same time.
    Crazy stuff, great job on the video!

  • @darkn04
    @darkn04 2 роки тому +101

    The content king is back! Merry Christmas AsumSaus :)

  • @ianprivett9210
    @ianprivett9210 2 роки тому +6

    Cheers to another amazingly edited and visually educational video! I can only imagine how easily understood the world would be if more people had your editing style and explanation!

  • @ahschornjesus
    @ahschornjesus 2 роки тому +7

    Just found this channel, gotta say I'm impressed with the editing. It's very helpful in explaining a pretty complex topic.

  • @Party-Rocker007
    @Party-Rocker007 2 роки тому +13

    If fighting games were dogs melee would be an old pug with several health complications and no teeth but with very loving owners

  • @miguelaguilar5115
    @miguelaguilar5115 2 роки тому +17

    16 minutes of actually dense video, contentwise, based on a really specific aspect of the game and discussing all the possible implications of said aspect. I love this channel

  • @Chaklun96
    @Chaklun96 2 роки тому +5

    Your level of writing and editing has reached absotulety insane heights! It has been a pleasure to watch you improve. Congrats and thank you for the insightful entertainment 😁

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

    This editing style is absolutely bonkers.

  • @hjflame
    @hjflame 2 роки тому +82

    When the world needed him most...
    He Returned.

  • @equinox3861
    @equinox3861 2 роки тому +49

    Same frame grab can be fixed by causing a recoil and same frame ledge grab can be fixed with ECB position comparison and denying both players the ledge if both players have identical ECB x positions. These mods exist on SmashBoards and I haven't heard a good reason why they shouldn't be implemented into the game since they are 100% neutral.

    • @jugohayashi2389
      @jugohayashi2389 2 роки тому +1

      THAT'S SO SMART, the ledgegrab buff
      Do you have the link for Smashboards thread with it?

    • @equinox3861
      @equinox3861 2 роки тому +3

      @@jugohayashi2389 Wow this is my 4th reply. Why is youtube deleting it. Guess I can't link to anything :(

  • @Saavykaas
    @Saavykaas 2 місяці тому +1

    “Let’s examine, frame-by-frame…”
    *immediately pauses video* I do not have time right now

  • @charliecharliewhiskey9403
    @charliecharliewhiskey9403 2 роки тому +27

    8:25 I think it's worth noting the power of the mind in this whole section. If you *believe* port priority is unjustly impacting play, then you may start "seeing" it on all instances even when it isn't.
    As an example, imagine if I'm a ref and tell you before a snooker match that "someone spilled beer on this corner last week and it's slowing the ball down and messing shots up", and then you have *just one* bad shot in that corner, you may believe the fabric in that corner is bad. Even though it wasn't true. How do you respond? You try to avoid letting balls go to that corner. Now you're diverting attention from the game and your opponent into a meta problem.
    Confirmation bias is a bitch. If you believe port priority is a real big problem and it does occasionally bite you, you'll play differently. At that point you're already compromising your own abilities, making the match up harder for yourself and likely reinforcing the importance you're giving port priority.

  • @prizm9515
    @prizm9515 2 роки тому +29

    Luigi's cyclone charge= 🦆
    Lol
    I actually think it perfectly fits Luigi's character design. He's supposed to be wacky, and unpredictable.

  • @RTDelete
    @RTDelete 2 роки тому +11

    Rejoice, mortals, for your one true saviour known as Melee has arrived to free you from your shackles of such things as 'sensible programming'

  • @QuartzGolem
    @QuartzGolem Рік тому +3

    I think the fact that so many of them were that close to the line for being true combos, the one frame difference impacted it in terms of how it feels when playing & other mental factors and can't be quantified in the way shown here.

  • @danytalksmusic
    @danytalksmusic 2 роки тому +18

    Besides the extensive research, great writing, and excellent game capture- your animations are just super lively, creative, and entertaining! They fit so perfectly alongside melee's art style that I could picture these videos as some bonus trivia mode within the game itself! It's what keeps me coming back to this channel with every new upload.

  • @PomadaGaming
    @PomadaGaming 2 роки тому +19

    2:44 these simple details really just make my day,good one asum,bird’s funny.

  • @Imstillhangintherethankgod
    @Imstillhangintherethankgod 2 роки тому +6

    1:27
    "Mom said it's my turn to win the interaction"

  • @sirpikapika1129
    @sirpikapika1129 2 роки тому +5

    One thing I'd like to mention about the +1 frame port priority throws; even if that extra frame doesn't make a combo true, it requires whatever option the victim can use to be one frame faster than otherwise, which limits options
    Of course that doesn't matter for Fox and Falco because of funny shine move

  • @jupitersky
    @jupitersky 2 роки тому +2

    "I'm done talking about it now."
    Yeah right...
    "... You know what, I'm not done talking about it."
    Yusss, more tasty editing to consume with my eyes!

  • @MegAmi24
    @MegAmi24 2 роки тому +21

    This game never ceases to amaze me with how broken it is

  • @Fizzi36
    @Fizzi36 2 роки тому +13

    Incredible video. Great narrative, oration, editing, calling-out human bias, information, everything. Loved it.

  • @catthem
    @catthem Рік тому +4

    This is why you gotta initialize your variables

  • @schismatron7770
    @schismatron7770 2 роки тому +7

    With your explanation of port priority it seems to me it's even more important than I previously thought. With zain being frame perfect actionable out of grab about half the time, then very likely hitting the opponent frame perfectly reduced by another half so say 25% or let's be liberal, 12.5%. Adding a whole new frame takes another half away, and should (on average) matter for at least 12.5% of the cases (on the low end) - and that's actually a lot.
    A 1-frame window becoming a 2-frame window is so strong, it's more or less made into a feature on the UCF (Universal Controller Fix) - fixing backdashing from being a 1-frame window to a 2-frame window to activate a backdash. All of a sudden, mostly everyone could do it consistently, instead of previously where it was hard to do. (That was also because of frame polling, which is another really weird issue). It's essentially twice as easy, and because of the frame polling issue, a lot of time it increases the time you have available by several hundred percent.

  • @holyknightthatpwns
    @holyknightthatpwns 2 роки тому +15

    For the Zain-Plup analysis I think it's worth analyzing every time Zain throws, regardless of if he's frame perfect with his follow-up. Sure, that's not answering a question of "is the combo true," but it does more accurately answer the question of "did port priority influence the match," which is the more interesting question.

  • @m.s.e.advanced2842
    @m.s.e.advanced2842 2 роки тому +11

    Melee has the advantage of getting us AsumSaus videos

  • @reinegade
    @reinegade Рік тому +2

    2:43 "well, let's take a look at the bird *caw*" lol

  • @Threewisejavi
    @Threewisejavi 2 роки тому

    Great video editing and story telling. This subject could easily be very confusing but you made it crystal clear.

  • @SSB_Seal
    @SSB_Seal 2 роки тому +24

    Your editing and thumbnail game has got to be the best in the whole community, I'm always just blown away. Also, super glad to see more people learning about port oddities. I find the reaction hilarious every time I tell non-Melee players that I play rock paper scissors before every single set so that I can use port 4.

    • @SSB_Seal
      @SSB_Seal 2 роки тому +3

      Oh, and I had actually just memorized the Luigi cyclone charge starts vs Sheik 2 weeks ago LOL what a coincidence

  • @artanaillazentujin3449
    @artanaillazentujin3449 2 роки тому +8

    when he metioned luigi's cyclone and all the factors determining charged or not, I went " WHAT " outloud.
    followed directly by WHAT on screen.
    it was perfect

    • @GT-Rev
      @GT-Rev 2 роки тому

      I said "bro WHAT" only for the screen to agree.

  • @Leap623
    @Leap623 2 роки тому +1

    I feel like most murder investigations don't get this level of in-depth research and analysis, I'm honestly blown away

  • @VivisDoomsday
    @VivisDoomsday 2 роки тому +1

    Amazing video man! I do not have the quick reflexes to play smash at a good level but I still found this so fascinating. Editing/visuals were superb!

  • @justfrog2859
    @justfrog2859 2 роки тому +5

    You must storyboard your video with that level of coherent editing. Props! Great vid!

  • @PomadaGaming
    @PomadaGaming 2 роки тому +6

    14:41 this is a literal bruh moment

  • @nigelbellairs8361
    @nigelbellairs8361 2 роки тому

    Love the hard work put into this video! Love the in-depth analysis! Go go go!

  • @TheFatHyena
    @TheFatHyena Рік тому +1

    "port priority makes certain combos free"
    AsumSaus: *"and I took that personally"*

  • @givecamichips
    @givecamichips 2 роки тому +17

    10:03 Can you imagine how salty the community would be if Hbox regularly hit rests out of up throw up air attempts?

    • @Party-Rocker007
      @Party-Rocker007 2 роки тому +4

      I think they would throw another crab at him

    • @syweb2
      @syweb2 2 роки тому

      @@Party-Rocker007 They _threw a crab_ at him?

    • @swank8508
      @swank8508 2 роки тому +1

      @@syweb2 one idiot did, nobody supports them obviously because it was attempted assault

    • @DoofXMachina
      @DoofXMachina 3 місяці тому

      ​@syweb2 yes lmao. Look up "hungry box gets a crab thrown at him

  • @NinjaLobsterStudios
    @NinjaLobsterStudios 2 роки тому +11

    Finally someone mentioned the spawn timing difference! Again the reward varies extremely based on the positions and matchup, but a character like Falco could start a laser and any rush down character could start running (also note that the "Go!" is on the screen at this time which can be used to hide your character)

  • @Whit_Siever
    @Whit_Siever 2 роки тому +2

    The year was 2006. I pitted my buddy 1v1 against a lvl 9 Marth.
    Down to the wire, he throws a mine, sets down his controllers and says "NPCs always walk into the mines"
    Right on cue, Marth walks right over the mine and GAME
    (For 2008 Brawl, this NPC/mine exploit was sealed off)

  • @MatthewBakke
    @MatthewBakke Рік тому

    I’ve been going back and watching all these.
    The humor is incredible

  • @camharkness
    @camharkness 2 роки тому +7

    The return of the king!!!
    Man this is gonna be great

  • @acemack2
    @acemack2 2 роки тому +4

    The quality on this was amazing! You were able to make all the concepts easy to understand and visually interesting at the same time. Great work!

  • @cueshq789
    @cueshq789 Рік тому +1

    Holy shit this editing is beyond god-tier

  • @jeffreyjeffrey007
    @jeffreyjeffrey007 2 роки тому

    Hoping the vids aren't short; this was illuminating. Appreciate ya!