Oatchi with max carry strength (100) and 533234 purple pikmin, how I got that number is I converted the Statue of Liberty weight in pounds to grams the took the weight of a medium shirt button in grams then divide the first number by the second then multiplied by two (because the button needs two carry strength) and finally divided by 10 then subtract 100 (Oatchi’s strength), I got 533233.421301 but I rounded up so I can make a nice round number and you only need purple pikmin and you can use the other two types to protect your getaway, for that I recommend Ice(for freezing the tanks and infantry) and Glow(for planes and helicopters, as well as their undying trait). Hope this helps!
The Statue of Liberty weighs 450,000 pounds, in grams that’s 204,116,567. We know from the Doomsday Apparatus and Golden Vaulting Table that one Pikmin can lift one gram, so you could use 20,411,657 Purple Pikmin. But I would recommend 204,116,567 White Pikmin, since they could carry it faster. Now the question is how many people would you need to feed the Onion to grow this many Pikmin.
@@nathanlamberth7631There is no problem with this, the maximum amount of damage you can currently do in S/V (before overflow) is around 2.7 billion Edit : actually you would need 13,107,200 damage for crits to also work
@@Hey_Vas crits in the equation would make it easier wouldn't it? Like there are multiple moves, abilities and item's that almost guarantees crits which to my knowledge makes the damage roll a lesser problem. Also wouldn't boosting moves be a alternative to choices specs?
You’d be surprised how often this phenomenon occurs in video games. The Computer Science term for it is “integer overflow” and the 16 bit limit is usually chosen because it is exactly 2 bytes of data.
1kg dumbell takes 100 purples, or 1000 regular pikmins meaning that one pikmin can carry 10 grams of weight The statue of liberty is 225tons, or 225000kgs, or 225000000g Dividing, this means tha it would take 22500000 regular pikmins, or 2250000 purple pikmins
The Statue of Liberty is 225 _American_ tons. 1 American ton is 2,000 pounds, or about 907kg. The Statue weighs 204,100kg. Multiply by 1000 pikmin/kg to get 204,100,000 pikmin.
Say, if you want some fun, that last strategy reminded me of something: Coalossal. So, it's Doubles, and you Flip Turn into WP Coalossal. WP activates for +2 Atk/Spa, Steam Engine for +4 Speed. In comes Flamigo, both Strong and Fast at once. You don't need to swap Coalossal either, it's ready to roll. (Note: if you want, you could also Tera Water Coalossal for STAB Scalds, and if you aren't running WP, you still get Steam Engine for the speed boost)
Additionally coalossal gets Iron Defense so you can end up with 12 boosts in one turn, allowing you to flip turn into your favorite psych up + stored power/power trip user for massive damage
@@sambicious4664 remember, the strat only works because of Flamigo's Costar ability. Unless Flamigo has Stored Power/Power Trip, it's not gonna work the way you think.
Interesting. You’ve stumbled upon integer overflow, should not be possible in a modern pokémon game, but it always starts with devs saying “that will never happen”. youtube views were once a victim of integer overflow when views passed a billion turning negative. some other less fortunate events resulted in rocket explosions.
This came up when Captain Kidd played the “Too Many Types” mod. The game allows up to three types and some of them are even 4x weak to others (like Baby is 4x weak to Right). So during an elite four battle he did a super effective move that was so powerful it barely did any damage and this one Pokémon he was trying to beat turned out to be a wall.
Nice and informative. My only suggestion would be the change the thumbnail as I thought it would be a Showdown Salt video instead of a math/mechanics one. Something like "How to take 0 damage with Snover"
@@alejandro_rodriguez_99 What do you mean add the grass type? Terastalyzing doesnt add another weakness, it makes your resistances equivalent to the type you terad into.
Just imagine this happened at the world's finals or some shit it'd be hilarious and absolutely insane as everyone's looking around confused as hell as to why dudes mon is still alive
Many, many years ago, young me was playing a pokemon game and tried telling people the enemy took 0 damage from my super-effective attack, and nobody believed me. Vindication!
Great content, you explained the damage overflow mechanic perfectly for people to easily understand, amazing editing and quality content for a channel under 1k subs, just subbed myself keep up the good work.
It is possible to do the opposite maxing out defence Eternimax eternatus can have its defence or special defence become 0 and only take 1 damage from attacks
Does Red Card trigger even when hit without damage? If so, you could for example hit a lv1 larvesta with a rock move, get red-carded, trigger weakness policy, get flamigo in, use uturn with larvesta to deal like 1 damage to the migo and get a second migo in. could get a double weakness policy boost on your mons in one turn without using any items on those mons
It’s an interesting idea but it has 1 major flaw. For what you are describing to occur, the Larvesta would need to be holding two items (a red card and a weakness policy) making it impossible. There is a way to make this scenario work though. Instead of using weakness policy Larvesta, you use a Mon that is both 4x weak to fire and knows a switching move. The best candidate I have found is Sewaddle. You have a Pokémon holding an eject pack hit Sewaddle with overheat. The stat drop from overheat would trigger the eject pack, switching the attacker out while also activating the Sewaddle’s weakness policy. You use the eject pack trigger to bring in your flamigo and give it boosted atk and spark. Then, Sewaddle uses baton pass to bring in another Mon with +2 +2.
So, a quick addendum from a programmer about 0:55: "It's theorized that it was to prevent the number from ticking over into other data" Not... exactly. That's not how computers work. Let me explain :D If any of the following explanation needs more info, let me know and I'll go deeper on it. This is meant as a surface-level overview for people with little-to-no knowledge of computer engineering, so I'm trying to keep it as simple as I can while still providing accurate information. Q: Why would it not go into other data? A: Simply put, because computers know how much data to allocate to a number -- or, rather, programmers tell the computer how much data to allocate. If it's about to go over that amount of space, it'll do the number-circle thing. Q: Why is the number-line a number-circle? A: To answer that, first we're going to have to talk about -parallel universes- how computers count. So, when you, as a (presumably) human-being, count, you have 10 symbols to work with. Those being 0 through 9. Well, a computer just has 2. It gets 0, and 1. No more, no less. The way humans count is called Decimal (Dec- means 10) where computers count in Binary (Bi- means 2) When a computer wants to count using 8 bits, it looks something like this: 00000000 = 0 00000001 = 1 00000010 = 2 00000011 = 3 00000100 = 4 00000101 = 5 (and so on) Have you noticed a pattern? It's important! Whenever a computer adds a 1 and a 1, it runs out of symbols to work with, just as if we were trying to add to 9, so it needs another place! It sets the place it was working on to 0, and carries the 1 to the next place just like a human would. So, what would happen if you were trying to add 00000001 = 1 and 11111111 = 255 Well, starting from the right, you'd see "oh, I'm adding 1 and 1" so you'd set that bit to 0, carry the 1, and move to the next bit. Well, that's a 1 as well, but this time we're adding 0... oh, but we have a carry so we're adding 1. Well, set the bit to 0 and carry the 1. See where this is going? But... what happens when you get to the 8th bit? Well, it'd try to carry, and it _would_ succeed - at the silicon level, "carrying" just means sending electricity through the CARRY wire. Of course, at that point we have no more adding to do, so the CARRY wire gets ignored. (Poor guy D:) At the end of all that, we end up with 00000000 = 0. This takes less time than it would take for you to remember that 256 comes after 255. Computers are *REALLY* good at math. So no, we don't know exactly why GF chose 16-bits, other than the fact they may have had plans for a Pokemon with more than 255 health (which I think Snorlax might be able to achieve in Gen 1? Chansey might too...) but, we _do_ know why the number-line is a number-circle, and it's not because of data corruption. Again, if anyone wants a more in-depth explanation of anything here let me know, and I'd be happy to do some more info-dumping :D
Just a minor point (it doesn't really contradict anything you said) - if anyone is wondering why they would've designed integers to work this way, as opposed to for instance just saying that 65535+1 = 65535 (ie. anything above the max value just gets set to the max value) - something like that potentially could be done, but it would also remove some functionality that can often be useful for computers (and probably have some impact on performance too). For instance, if you have something like 50000 + 50000 - 40000 - the way it's actually calculated, you'll end up with 60000 (as you'd normally expect). Even though it would overflow during 50000+50000, it would then have another overflow in the opposite direction when you subtract 40000 which cancels out with the first overflow, whereas if you just set it to the max value after 50000+50000 then it would've ended up at 25535 at the end of the entire calculation. You usually try to avoid overflows altogether, but there are some cases where you can still use the output of an overflow meaningfully.
In the original red version, I had a team of 5 so I brought a lvl 5 Spearow to fly me around. During pokemon league, I needed to use it as a sacrifice in order to revive one of my pokemon. This lvl 5 Spearow took a hydro pump from Lances Gyarados and survived! I'm still not sure how that happened...
Way off topic, but is that one of the Gundam Infinity vinyl's that come with a piece of Zaku? If so, that's awesome. I haven't seen a lot of other people who have those. The listings for them on ebay/amazon are ridiculous too. Charging from $15 and up for each Gundam, with one listing that had all 5 up for $120. I managed to get all 5 of mine from a local dollar store for under $20. Total. Edit: Not meaning that as some kind of brag, sorry. Just meant that the Seller's listings on those sites are ridiculous.
I could be wrong but I think they actually calculate the damage as a 32bit value, but to protect the overflow they truncate it at certain points down to 16bit. Not an expert tho
Excellent channel and video. I can’t wait to see what you do going forward. Is this your first RUclips channel or did you learn how to edit through other channels first?
That's not how integer overflows work; Nintendo would not have had to implement this mechanic to prevent unsafe memory access. What you described is indeed what happens when using arrays in memory unsafe languages, but an integer has a predefined length and address, so going over its maximum value will just naturally lead to this behaviour. This is defined behaviour in C for unsigned integers, though rollover for signed integers is technically not defined in the spec as far as I can recall. I am puzzled why the integer used for damage calculations is only 16 bits though. That seems unreasonable in a modern game.
Okay, so I skimmed the decompilations in an attempt to clear some things up. In the Pokemon Emerald decompilation, there's a variable called "maxPossibleDmgValue" in "battle_script_commands.c" set to 10 000, with a comment that reads "ensures that huge damage values don't change sign". (Like I mentioned, this is a bit different from what you explain at 1:00.) Bulbapedia confirms this, but it also states the following (i.e. the thesis of your video): "In Generation V onward, the amount of damage that can be dealt in a single attack is capped at 65535. In addition, an overflow can occur during the calculation of very high damage amounts, causing the actual damage dealt to be much lower than expected." What's weird to me is that the damage is capped, but an overflow is still possible; this is even weirder when you consider how rare 16 bit integers are nowadays. Luckily, Bulbapedia links to a post on Smogon: This post postulates that the rollover does not happen in the final result, but actually only in an intermediate calculation. Before finalising the calculation, it is possible to rollover a 32 bit integer, which is thereafter used in subsequent calculations. This makes a lot of sense. The cap does indeed work as intended, but your final value never even gets close to 65535 because you roll over to 0 beforehand. That being said, your calculations work out very neatly based on the assumption that the rollover happens in a 16 bit integer, and I am not doubting your results, so I am still not quite sure what is causing this behaviour.
This was a great video, and I really enjoyed it! I actually almost didn't click on it because the extremely clickbait thumbnail made me think it'd be like those fake staged Showdown salt videos, but for some reason I still clicked it, and I'm very glad that I didn't get what I expected
I never understood why the heck they added a damage variable into the damage equations, so much for that Base 100 damage move on Earthquake, now it's more like 85 to 115........I think.....plus random crits to make it worse.
Pokemon was an old school RPG so it was done to spice up the rolls. Like adding in dice. Keep in mind the OG games came from a few tabletop loving nerds that also liked a few RPG ideas. It's like you are playing with dice to add or remove damage. While annoying this is why so the logic is sound.
You're close, consider it 85 to 100. The game's damage calculation spits out the highest roll possible, and then at the end, it randomly deducts a percent value from 0% to 15%. This is why there are 16 possible rolls. The lowest roll possible is 85% of the highest.
Without the RNG, it becomes a solved game far more quickly. You can calculate exact breakpoints for pokemon, in the same way you can predict pokemon's speed. Everything becomes far more formulaic and potentially boring.
Actually, exactly this happened in one special important scenario, not in normal Pokemon, but in Pokemon too many types from Alpharad, where it's possible to get a Pokemon who is, for example, 8 times weak to a specific type in the game
Tbh what happend if you use LV1 scissors (since it also 4x weak to fire) but give it forest curse so it will have bug,steel,and grass (or 8x weak to fire) instead of snover?
The main question is, how did you know that I was trying to calculate the number of pikmen to steal the statue of liberty
It's a question as old as time
I'm dead 💀
Oatchi with max carry strength (100) and 533234 purple pikmin, how I got that number is I converted the Statue of Liberty weight in pounds to grams the took the weight of a medium shirt button in grams then divide the first number by the second then multiplied by two (because the button needs two carry strength) and finally divided by 10 then subtract 100 (Oatchi’s strength), I got 533233.421301 but I rounded up so I can make a nice round number and you only need purple pikmin and you can use the other two types to protect your getaway, for that I recommend Ice(for freezing the tanks and infantry) and Glow(for planes and helicopters, as well as their undying trait). Hope this helps!
The Statue of Liberty weighs 450,000 pounds, in grams that’s 204,116,567. We know from the Doomsday Apparatus and Golden Vaulting Table that one Pikmin can lift one gram, so you could use 20,411,657 Purple Pikmin. But I would recommend 204,116,567 White Pikmin, since they could carry it faster. Now the question is how many people would you need to feed the Onion to grow this many Pikmin.
@@jackwilliams8399Thank you funny math man.
Just create a scenario where the max damage is 6,553,600 so that every damage roll is exactly 65536 damage away and they all come out to zero
Perfection
It took me a while to see a problem with this
@@nathanlamberth7631There is no problem with this, the maximum amount of damage you can currently do in S/V (before overflow) is around 2.7 billion
Edit : actually you would need 13,107,200 damage for crits to also work
Crit every time >:)
@@Hey_Vas crits in the equation would make it easier wouldn't it? Like there are multiple moves, abilities and item's that almost guarantees crits which to my knowledge makes the damage roll a lesser problem.
Also wouldn't boosting moves be a alternative to choices specs?
The lore implications of a Snover taking no damage from that attack because of random numbers is... head scratching to say the least.
Ash is going to return to the anime, send out snover, survive every attack and leave without saying anything
Fred has plot armor.
@@Hey_Vashis Pikachu secretly doing this and being the luckiest pokemon ever, except if you are a snivy
"... but if you pulled it off you'd be a God gamer"
And that, ladies and gentlemen, is why we even attempt shenanigans of this magnitude.
Exacttllllyyyyy
You’d be surprised how often this phenomenon occurs in video games. The Computer Science term for it is “integer overflow” and the 16 bit limit is usually chosen because it is exactly 2 bytes of data.
Huh, cool
1kg dumbell takes 100 purples, or 1000 regular pikmins meaning that one pikmin can carry 10 grams of weight
The statue of liberty is 225tons, or 225000kgs, or 225000000g
Dividing, this means tha it would take 22500000 regular pikmins, or 2250000 purple pikmins
No, each non-purple pikmin can carry 1 gram. It will take 225000000 pikmin w/o purples, or 22500000 purples
@@mr.sniffly5297 close enough
Shigeru Miyamoto Entered the Chat.
The Statue of Liberty is 225 _American_ tons. 1 American ton is 2,000 pounds, or about 907kg.
The Statue weighs 204,100kg. Multiply by 1000 pikmin/kg to get 204,100,000 pikmin.
@@WilliametcCook’MERICA *bald eagle sounds*
Fred really looked death straight in the eyes and said "no thank you"
Fred can't be stopped
And he didn't attack afterwards...he just gave it a leer. Fred is just built different.
Say, if you want some fun, that last strategy reminded me of something: Coalossal.
So, it's Doubles, and you Flip Turn into WP Coalossal. WP activates for +2 Atk/Spa, Steam Engine for +4 Speed. In comes Flamigo, both Strong and Fast at once. You don't need to swap Coalossal either, it's ready to roll. (Note: if you want, you could also Tera Water Coalossal for STAB Scalds, and if you aren't running WP, you still get Steam Engine for the speed boost)
This sounds like a sick idea! love it
Additionally coalossal gets Iron Defense so you can end up with 12 boosts in one turn, allowing you to flip turn into your favorite psych up + stored power/power trip user for massive damage
@@sambicious4664 remember, the strat only works because of Flamigo's Costar ability. Unless Flamigo has Stored Power/Power Trip, it's not gonna work the way you think.
@@Rot8erConeXdo me a favor n look up what psych up does
@@Rot8erConeX that’s why you need psych up, as the guy said. It IS Flamigo’s ability, but in your move slot.
Videos like this always interest me. It's odd just how complex Pokemon battles are beneath the surface.
Those poor Snover :`(
Same, always cool learning about the little details
Edits - phenomenal
Theory - phenomenal
Execution - not snover
Great work! Please keep going!
Execution not snover - LOL, thanks dude
Interesting. You’ve stumbled upon integer overflow, should not be possible in a modern pokémon game, but it always starts with devs saying “that will never happen”. youtube views were once a victim of integer overflow when views passed a billion turning negative. some other less fortunate events resulted in rocket explosions.
Pretty funny they just kind of swept it under the rug since Gen 5
Terastalyzing ur computer was the best thing ever
I couldn't do it on my own
This came up when Captain Kidd played the “Too Many Types” mod. The game allows up to three types and some of them are even 4x weak to others (like Baby is 4x weak to Right). So during an elite four battle he did a super effective move that was so powerful it barely did any damage and this one Pokémon he was trying to beat turned out to be a wall.
I think someone mentioned that, I will definitely have to check it out!
Nice and informative. My only suggestion would be the change the thumbnail as I thought it would be a Showdown Salt video instead of a math/mechanics one. Something like "How to take 0 damage with Snover"
Appreciate the constructive feedback!! 👊🏻
I remember accidently doing this in a online raid vs a -4 defense Tera steel blissey with a belly drum Ursaluna at +6 guts boosted headlong rush. 😂
Lmao leave it to Ursaluna to show how broken it is with damage rollover
The Unaware bit made me sub immediately. I need more of this
Omg I'm glad, I was worried no one would find that funny lmao
I'll be concerned.
Could have Chi-Yu's Beads of Ruin ability activate for even more damages too!
There's also another x4 weak to fire like Snom.
Thats an interesting idea, could be fun to see how many times we can wrap around the damage cap lol
When he was talking about powerful fire types my mind immediately went to chi-yu
@@Hey_VasAlso with snow unlike Snover you can add him grass type for a x8 weakness, then give the pokemon Fluffy and enjoy
@@alejandro_rodriguez_99
What do you mean add the grass type?
Terastalyzing doesnt add another weakness, it makes your resistances equivalent to the type you terad into.
@@seDrakonkill forest's curse
Top tier editing! Really enjoyed it
Haha thanks ✌🏻
39k views in 1 day holy F
The people were STARVED for this kind of showdown content again lol.....
Good job hitting that algorithm
Apparently lol, some pretty niche stuff
Underrated channel, definitely gonna be commanding my level 1 mon’s to steal the Declaration of Independence with this
I support this endeavor
This is useless information we all secretly needed. Earned my sub
Im glad I could be the one to provide it
Just imagine this happened at the world's finals or some shit it'd be hilarious and absolutely insane as everyone's looking around confused as hell as to why dudes mon is still alive
It would be pretty wild if someone managed to use it to their advantage at an official event lmao
I love how snover justs leers after tanking that. Amazing video bro! Suprised you were a small channel. You have IT!
Lmao dude is so ominous with that twinkle in his eye
Comes out of nowhere, creates banger video, gets thousands of views day one of upload and refuses to elaborate
I'm a man of the people
W for providing the rental teams
Its way more fun when you see it happen for yourself
Geez this is my first time seeing you and I was not expecting this high quality content not have 1000 subs
I wanna be the very best
I'm surprised the damage calculator actually accounted for this
Im not sure if its a good or a bad thing lol
damn you need a TON more subs, great video
Be the change you want to see in the world
Very high quality video for a newish channel, I can see ya going places!
Means a lot :)
fun fact, eternamax eternatus is banned in balanced hackmons because it can attain a defence or special defence stat of 0 making it take no damage.
I've heard of this, so wild lmao
This happens for a different reason, and it technically takes 1 damage.
@@dragonslayerz2220 they both happen because of overflow
Many, many years ago, young me was playing a pokemon game and tried telling people the enemy took 0 damage from my super-effective attack, and nobody believed me. Vindication!
Tell em!
DRIFTVEIL CITY as background music! Let’s goooooooooooo
Driftveil city slaps
After watching this video i checked your subscribers and i was shocked that they were only a thousand. Great quality vid man
Appreciate you!
Man this video was really great. Your humor and editing are incredible, and the video itself is really interesting as well.
Keep it up dude!
Made my day 👊🏻
1:55 lol black and white 3
Lol
4:14 Yess! I cannot believe you picked out this Epic theme! That's over 9000 thousand damage! 😅😁
😁
Great content, you explained the damage overflow mechanic perfectly for people to easily understand, amazing editing and quality content for a channel under 1k subs, just subbed myself keep up the good work.
Did you know about this already?
Omg Weedle is here!! This is actually so sweet
Means a lot, especially from someone with quality content themselves 👊🏻
Ariana! What are you doing here haha
I didn't expect to see it play out in-game, hilarious!
I was a little nervous at first cause it wasn't happening lol, but it worked!
Awesome video! Remember I was one of the first 1k subscribers when u make it big on youtube broski!
You were here before it happened, I'll remember the name Shieldon530 👊🏻
could you imagine that was a real battle and you were the guy with the dragon
Snover too strong
“Gamefreak i think you’re dealing too much damage”
Tar shot: nonsense
(Makes it 16x weak to fire)
Junichi Masuda had to quit working at Pokemon for this
Black and White 3?
thats a new one
Just released not long ago
It is possible to do the opposite maxing out defence
Eternimax eternatus can have its defence or special defence become 0 and only take 1 damage from attacks
I remember reading about this, so goofy
I saw this in Captian Kid's video of Pokemon with too many types. He used a move that was 8x super effective and it didn't deal much damage.
I'll have to check it out!
Does Red Card trigger even when hit without damage? If so, you could for example hit a lv1 larvesta with a rock move, get red-carded, trigger weakness policy, get flamigo in, use uturn with larvesta to deal like 1 damage to the migo and get a second migo in. could get a double weakness policy boost on your mons in one turn without using any items on those mons
Shit this is big brain, I might need to test this
in vgc there is species clause
It’s an interesting idea but it has 1 major flaw. For what you are describing to occur, the Larvesta would need to be holding two items (a red card and a weakness policy) making it impossible. There is a way to make this scenario work though. Instead of using weakness policy Larvesta, you use a Mon that is both 4x weak to fire and knows a switching move. The best candidate I have found is Sewaddle. You have a Pokémon holding an eject pack hit Sewaddle with overheat. The stat drop from overheat would trigger the eject pack, switching the attacker out while also activating the Sewaddle’s weakness policy. You use the eject pack trigger to bring in your flamigo and give it boosted atk and spark. Then, Sewaddle uses baton pass to bring in another Mon with +2 +2.
everybody gangsta until Snover survives a Blue Flare
He coming for ya
You're joking, but you're spitting facts bro
I try
So, a quick addendum from a programmer about 0:55:
"It's theorized that it was to prevent the number from ticking over into other data"
Not... exactly. That's not how computers work. Let me explain :D
If any of the following explanation needs more info, let me know and I'll go deeper on it. This is meant as a surface-level overview for people with little-to-no knowledge of computer engineering, so I'm trying to keep it as simple as I can while still providing accurate information.
Q: Why would it not go into other data?
A: Simply put, because computers know how much data to allocate to a number -- or, rather, programmers tell the computer how much data to allocate. If it's about to go over that amount of space, it'll do the number-circle thing.
Q: Why is the number-line a number-circle?
A: To answer that, first we're going to have to talk about -parallel universes- how computers count.
So, when you, as a (presumably) human-being, count, you have 10 symbols to work with. Those being 0 through 9. Well, a computer just has 2. It gets 0, and 1. No more, no less. The way humans count is called Decimal (Dec- means 10) where computers count in Binary (Bi- means 2)
When a computer wants to count using 8 bits, it looks something like this:
00000000 = 0
00000001 = 1
00000010 = 2
00000011 = 3
00000100 = 4
00000101 = 5
(and so on)
Have you noticed a pattern? It's important! Whenever a computer adds a 1 and a 1, it runs out of symbols to work with, just as if we were trying to add to 9, so it needs another place! It sets the place it was working on to 0, and carries the 1 to the next place just like a human would.
So, what would happen if you were trying to add
00000001 = 1
and
11111111 = 255
Well, starting from the right, you'd see "oh, I'm adding 1 and 1" so you'd set that bit to 0, carry the 1, and move to the next bit. Well, that's a 1 as well, but this time we're adding 0... oh, but we have a carry so we're adding 1. Well, set the bit to 0 and carry the 1. See where this is going?
But... what happens when you get to the 8th bit? Well, it'd try to carry, and it _would_ succeed - at the silicon level, "carrying" just means sending electricity through the CARRY wire. Of course, at that point we have no more adding to do, so the CARRY wire gets ignored. (Poor guy D:)
At the end of all that, we end up with 00000000 = 0. This takes less time than it would take for you to remember that 256 comes after 255. Computers are *REALLY* good at math.
So no, we don't know exactly why GF chose 16-bits, other than the fact they may have had plans for a Pokemon with more than 255 health (which I think Snorlax might be able to achieve in Gen 1? Chansey might too...) but, we _do_ know why the number-line is a number-circle, and it's not because of data corruption.
Again, if anyone wants a more in-depth explanation of anything here let me know, and I'd be happy to do some more info-dumping :D
Just a minor point (it doesn't really contradict anything you said) - if anyone is wondering why they would've designed integers to work this way, as opposed to for instance just saying that 65535+1 = 65535 (ie. anything above the max value just gets set to the max value) - something like that potentially could be done, but it would also remove some functionality that can often be useful for computers (and probably have some impact on performance too).
For instance, if you have something like 50000 + 50000 - 40000 - the way it's actually calculated, you'll end up with 60000 (as you'd normally expect). Even though it would overflow during 50000+50000, it would then have another overflow in the opposite direction when you subtract 40000 which cancels out with the first overflow, whereas if you just set it to the max value after 50000+50000 then it would've ended up at 25535 at the end of the entire calculation. You usually try to avoid overflows altogether, but there are some cases where you can still use the output of an overflow meaningfully.
Homie out here providing the EDUCATION 💙
Parasyte might have been a better testing dummy, since it has the dry skin ability that basically gives it a 5x weakness.
I don't think Parasect is in Scarlet and Violet
5:01 useful........and then you hear the cry of god
weouuuweou - snover probably
I’m wondering if there’s a way to set up a double battle like this where you attack your level 1 teammate and watch your opponent freak
I think it's possible but with a different setup?
legendary channel in the making!
You're making me blush..
In the original red version, I had a team of 5 so I brought a lvl 5 Spearow to fly me around. During pokemon league, I needed to use it as a sacrifice in order to revive one of my pokemon. This lvl 5 Spearow took a hydro pump from Lances Gyarados and survived! I'm still not sure how that happened...
Wild!!
Incoming 100k subscribers your editing, style, and humor is so good! Excited for more :)
damn bro went out of his way to make my night
how do you not have more subs :0 awesome video
We will get there together!
Fred the Super Snover
Super Snover lmaooo
someone needs to try this at a tourney
Would be cool to see
Neat analysis video! Thanks for uploading!
You are very welcome!
Your editing is great!
Aye thanks!
Ah yes black and white 3 was a treat
Had some solid lore
Happy 700 subs!!
Holy crap thank you!!
great video! u have a lot of potential, coming from an old youtuber lol, good luck on ur next vids!
Appreciate that!!
Way off topic, but is that one of the Gundam Infinity vinyl's that come with a piece of Zaku? If so, that's awesome. I haven't seen a lot of other people who have those. The listings for them on ebay/amazon are ridiculous too. Charging from $15 and up for each Gundam, with one listing that had all 5 up for $120. I managed to get all 5 of mine from a local dollar store for under $20. Total.
Edit: Not meaning that as some kind of brag, sorry. Just meant that the Seller's listings on those sites are ridiculous.
No I don't think so (not a massive Gundam guy but), I picked this one at the Gunpla store in Odaiba last year. Just a regular high grade kit I think?
@@Hey_Vas Ah, that's still pretty awesome. Loved seeing the Snover live the Reshiram as well. Will definitely be trying it.
Is the music at 3:30 from Dragon Ball Z: Attack of the Saiyans on the DS??
Driftveil City - Pokemon Black/White
It's crazy how a game from 2022 still uses 16 bit numbers.
I could be wrong but I think they actually calculate the damage as a 32bit value, but to protect the overflow they truncate it at certain points down to 16bit. Not an expert tho
Damn , I didn't know that this channel would make Pokemon vids lol
I love talking about Pokemon tbh
Excellent channel and video. I can’t wait to see what you do going forward. Is this your first RUclips channel or did you learn how to edit through other channels first?
Appreciate that ✌🏻 I used to stream almost 10 years ago now, so some experience came from there, but first time on RUclips
Incredible video and editing. Subscriber number 351 here!
Thanks for your support!! ✌🏻
very entertaining and informative video! loved it :)
Thanks dood :)
3:27 was my favorite part of the video.
😁
Invincible Eternamax moment
Lmao truu
Good video, really informative
Thanks dude!
1:00 this part should've had the 1s ticking out of the infographic
Ou that's clever I like that
Great editing man, keep up the work! 👍
Glad you like it, I want to keep things high quality for yall
3:28 Dancing Zekrom
Lol
If we only had paras in gen 9, i think dry skin + bug + grass typing would make the game inplode
Poor paras, he doesn't deserve the abuse :(
Everyone move over and make way for Snover
He do be kinda wide
good video man keep it up
Will do!
I just use protect to avoid damage but this is also a viable method
Lmao also viable
Great video!
Glad you enjoyed!
@@Hey_Vas Yeah, I thought this was a really good video! Do you have any plans to make more Pokémon content?
@@GreyManForever Definitely! I really love taking about anime and my favorite games, and Pokemon is one of my all time faves
@@Hey_Vas Awesome! I can't wait :D
That's not how integer overflows work; Nintendo would not have had to implement this mechanic to prevent unsafe memory access. What you described is indeed what happens when using arrays in memory unsafe languages, but an integer has a predefined length and address, so going over its maximum value will just naturally lead to this behaviour. This is defined behaviour in C for unsigned integers, though rollover for signed integers is technically not defined in the spec as far as I can recall.
I am puzzled why the integer used for damage calculations is only 16 bits though. That seems unreasonable in a modern game.
Your guess is as good as mine friend
Okay, so I skimmed the decompilations in an attempt to clear some things up. In the Pokemon Emerald decompilation, there's a variable called "maxPossibleDmgValue" in "battle_script_commands.c" set to 10 000, with a comment that reads "ensures that huge damage values don't change sign".
(Like I mentioned, this is a bit different from what you explain at 1:00.)
Bulbapedia confirms this, but it also states the following (i.e. the thesis of your video):
"In Generation V onward, the amount of damage that can be dealt in a single attack is capped at 65535. In addition, an overflow can occur during the calculation of very high damage amounts, causing the actual damage dealt to be much lower than expected."
What's weird to me is that the damage is capped, but an overflow is still possible; this is even weirder when you consider how rare 16 bit integers are nowadays. Luckily, Bulbapedia links to a post on Smogon:
This post postulates that the rollover does not happen in the final result, but actually only in an intermediate calculation. Before finalising the calculation, it is possible to rollover a 32 bit integer, which is thereafter used in subsequent calculations. This makes a lot of sense. The cap does indeed work as intended, but your final value never even gets close to 65535 because you roll over to 0 beforehand.
That being said, your calculations work out very neatly based on the assumption that the rollover happens in a 16 bit integer, and I am not doubting your results, so I am still not quite sure what is causing this behaviour.
Sub 500 with this high level editing? Keep it up mang! Don't give up!
Appreciate the sub!!!
This was a great video, and I really enjoyed it! I actually almost didn't click on it because the extremely clickbait thumbnail made me think it'd be like those fake staged Showdown salt videos, but for some reason I still clicked it, and I'm very glad that I didn't get what I expected
Lmao yea I was a little on the fence with the design, appreciate you clicking
I never understood why the heck they added a damage variable into the damage equations, so much for that Base 100 damage move on Earthquake, now it's more like 85 to 115........I think.....plus random crits to make it worse.
Yea im kinda torn on it, especially since crits are already a thing
Pokemon was an old school RPG so it was done to spice up the rolls. Like adding in dice. Keep in mind the OG games came from a few tabletop loving nerds that also liked a few RPG ideas. It's like you are playing with dice to add or remove damage. While annoying this is why so the logic is sound.
You're close, consider it 85 to 100. The game's damage calculation spits out the highest roll possible, and then at the end, it randomly deducts a percent value from 0% to 15%. This is why there are 16 possible rolls. The lowest roll possible is 85% of the highest.
Without the RNG, it becomes a solved game far more quickly. You can calculate exact breakpoints for pokemon, in the same way you can predict pokemon's speed. Everything becomes far more formulaic and potentially boring.
Now use mirror coat
Trueeeeee
Fred dying at 4:04
Fred must live on forever
You are my new favorite youtuber
Y'all gonna make me cry
@@Hey_Vas Keep making good content 😡
MEOWSARADA AND BARBOACH CAN USE THAT STRAT!
True! This would probably work!
@@Hey_Vas consistently too, if you use flower trick. that and using endure lol
Cool vid!
Cool viewer!
Pls keep making videos ur doing great👍
Thanks!
I always believed in Fred ✊
Fred is the real one
Doesn't shuckle do a lot more than that? Its in the millions I believe
Yes shuckle can do theoretically millions of damage, however those millions continually wrap around the number circle, staying between 0 and 65535!
@@Hey_Vas huh, neat
Actually, exactly this happened in one special important scenario, not in normal Pokemon, but in Pokemon too many types from Alpharad, where it's possible to get a Pokemon who is, for example, 8 times weak to a specific type in the game
Ah interesting I might have to check this out!
Folks... it's SnOver
It's all snOver
Amazing video, please make more
Roger that
Tbh what happend if you use LV1 scissors (since it also 4x weak to fire) but give it forest curse so it will have bug,steel,and grass (or 8x weak to fire) instead of snover?
You could definitely do this! I bet the Scizor wouldnt even need to be level 1
You can just use paras
That dude has a natural X5 weakness to fire because of dry skin
How does this even happen?
if (damage > maxDamage) { damage = maxDamage }
There, I fixed it.
GameFreak hire this man
Integer overflow?😂
GameFreak sweating
But how many pikmen would it take? I need answers
🤔🤔🤔
Bros braining