Это видео недоступно.
Сожалеем об этом.
I broke this game to its limits - EVEN MORE | Dungeon Clawler
HTML-код
- Опубликовано: 7 июл 2024
- ✵Playlist: • Dungeon Clawler
Today we play as Dolly in Dungeon Clawler with the goal of taking Poison to the extreme. You'd expect poison weapons for a poison build, but since the goal is endless, we will have a huge amount of bonus poison perks. Meaning if we could find a way to attack twice with 1 weapon, we could stack up to ridiculous levels in no time.
✵Support me and my channel with a tip: streamlabs.com...
✵Playlist: • Bounty Of One
✵Watch live at / hereisdex
✵Dex' Discord: / discord
✵Game on Steam: store.steampow...
#dungeonclawler #roguelike #DexTag #gaming
We can now officially say it's broken. How many heart attacks did you have while watching this? Sorry for the "Like" begging, with daily uploads long videos like these are really tough to make. For reference, I started recording at 17:26 (5:26 PM) and now I'll go to sleep at 9 AM (6+ hour recording + editing + thumbnail + revision). So any help for the algo is appreciated :)
I noticed that if you hover mouse over poison stacks, their number freezes and don't update, but if you don't hover, they continue to rise up
Dex do magnets and gold. Gold daggers for damage
So what's happened is your number for poison was so large it hit the limit of the integer they allocated memory for so it flips back down
It could even be modifying memory outside that and may see other weird behavior if you kept doing it if it wasn't coded to protect against that.
those are insanely large numbers
I love daily uploads but don't burn yourself out
@@drakien3214 he already did that
I feel like being defeated by overflow is a valid way of proving that you've maxed out the capability of a particular tactic. Nicely played!
though there should be safeguards in place for this.. usually you are supposed to do checks for this. One Way would be to check the Number, compare it to the maximum and just check if the next operation would make it overflow (just by logic, e.g. if number >= (maximum/modifier) then make number = maximum) and then just set it to the maximum. (of course you would check first if it's a multiplier or something that get's added)
Likely something that got overlooked. Unexpected overflows happen, and BoFs also tend to be Null/NaN, which is neither greater or less than any number
@@mongmanmarkyt2897 this is what is wrong with software development today. "I'll just fix it in an upgrade" - "Unexpected Overflows happen"
This is what's happening when you rush your development. Oftentimes you can do it in the same time but way better if you just think carefully about those problems and make something like a damage, poison or character value overflow protected by using a class or something else. It's pretty easy and if you do it at one step of the programm you should be able to implement it in a way it's also accesible at another location where it would be needed.
@@Ehregottwell, this is an early free demo so cant expect perfection
@@SomeCowguy Yeah.. my Point stands but sure, I give it that. Full Release should not have those Problems.
When the bitoverflow is your worst enemy
"great" code
I never though I'd still see a game with the integer overflow bug that then gets solved by rolling back to zero in this day and age. That's a breath of fresh air... and by fresh I mean moist, mouldy and meningiting.
It seems the game has some protections in place, since most of the time the value just doesn't change, but once in a while the numbers align and he is able to push it through...
I mean it's still only in beta, so no wonder it would have such errors
@@Beregorn88I wonder if it’s not protections, but fun quirks of modulo arithmetic
(max-1)*2
= (max-1)+(max-1)
= (max-1)+(max-1)+(2-2)
= (max-1)+(max-1+2)-2
= (max-1)+(max+1)-2
= (max-1)+0-2
= (max-3)
So it looks like there are protections, because the most significant digits aren’t changing.
But in reality, it’s just modulo arithmetic meaning the numbers don’t change much
yeah, in different games I saw negative numbers, because it wasn't unsigned data type, but normal
hearthstone did that, if you had a 2 billion hp minion and doubled it again it died.
its not "can we brake the game"
its "how fast can we break it"
enemy this time: integer overflow
So true.
At least it didnt go into the negatives :*D
Time for the devs to switch to using longs or doubles,
Basicaly, you reached the 32 bit intiger limit. That is a bit more than 2.147 billion and if your poision goes over that then itt will become -2.147 billion and it will start counting up, so that’s why the enemies survived sometimes
It's MoP garrosh all over again
the poison value has a max value of about 2.14Billion
unlike HP or money which can go infinite. poison has a integer limit
Had this a few times myself, where it hits the limit, then overflows back to 0
Well, nothing is exactly infinite. It's just way more.
I was thinking about how you could do this type of run with recycling bins. the bins only remove themselves when you use them and refresh into the pile when taken from another bin so you can stack bins on top of bins indefinitely with increasing damage on every skipped turn
He did a similar vid before this one but he dint do endless
@@Killaqueenjj I did see that but my point on endless still stands and was my thought after that video
Looks like they used signed 32 bit integers for the poison stacks. And it checks if the poison value is larger than some certain number to prevent the overflow, but they probably counted the poison flask to only ever double the value so in some cases you can get rollover to a negative value. It then resets that negative value to 0 or 1 stacks before processing the next item.
Could probably just solve it by using a 128 bit unsigned and pretend there's no such thing as integer overflow, if someone manages to hit 3.4 * 10³⁸ poison stacks then they probably need to take a break from the game anyway.
yeah that's the issue w games with infinite exponential scaling, i don't think adding more numbers fixes it, rather adding a hard cap for poison damage seems like a better option imo
I think this build absolutely could hit that lmao
Setting a cap is kind of what they tried to do, they just did it wrong and used a rather small integer. Keep in mind that you only have up to 3 enemies at once so it's not like using larger integers would be noticeable.
@@sage5296 You'd have to grab over a 100 poison doubling flasks with 2 hooks to reach those number of stacks, so it would be a bit of a challenge.
uint128 though is 2^128 max and still just 81 flasks will break it
@@00001Htheprogrammer Certainly, but you have to collect all 81 flasks (plus an initial poison stack) with 2 hooks. And they aren't magnetic.
(If it's over more than 2 hooks the poison is going to kill the enemy.)
Fluff is only considered an item if it is burning fluff or poison fluff but that doesn't matter towards hoarder because fluff is only added to machine as regular fluff
RUclipsrs: I do not know, if I can win this.
Dex: If my scientific calculations are correct, I should be able to deal with this.
The idea of damage not doing anything because it overflowed is pretty funny, imagine that in real life: Dies to getting shot with a gun but walks away unscratched from the moon crashing into the earth because its too destructive.
"conveniently rogue-shaped hole in the meteor"
Thanks for all the uploads on this game!
"Double it and give it to the next person" moment
"81,000! That's by far the most...". Meanwhile it says 300,000.
Great video I love it
Leaving one for the algorithm for you
new game... every time dex says "how much?" you take a shot....dont die people may the luck be ever in your favor.
37:17 welp, you hit the integer limit of the game. It physically cannot display a number larger than that with the code literally dissolving as a result.
Great video Dex :)
Finally got an integer overflow stop, nice!
Poison Grenade + Poison Flask only run would be nuts with the poison perks
Vampire Fangs stack really nicely with Dolly. She heals every time she does damage, including to herself, so eventually it gets to where she heals herself for more than she hurts herself, unless you're using the Dark Sword.
2147483647 is a top limit of a Java Numeric variable value. So poison counter can't keep more than that value xD
need expo
Gotta love integer logarithmic sum overflowed poison.
It's maxed out at 2^64-1 so you only need 63 potions starting at 2 poison stacks to max it out and not overflow.
It's 64 because multiplication makes it becomes long integer.
If this game had bignum or pynum, it can have no limit.
I finally got a good run with Bernie using (as of floor 23) 4 vampire-3 poison-6 pincushion-5 hoarder-5 junkjet and also got 7 golden armor (and some others, and i did use reloading for better rewards, but those are the main ones I stacked)
For some extra context, i had more hp than the boss, would heal on my turn due to vampire-hoarder-junk jet, and would heal when i get hit thanks to vampire-pin cushion, and would heal on the enemies' start turn thanks to poison-vampire.
I could even afk a boss fight
gotta love integer overflows
I'm just glad they fixed it for health.
I liked before I watched because game breaking is always good with Dex.
37:23 that’s the max number any game can go to
37:11 I think it hit the 32 bit integer limit, and because of that, any sort of multiplicative elements are nullified since if they were applied, the system could not handle it
I kinda feel like the dev should cap the poison and make any extra poison deal immediate damage, or turn a certain amount of poison into toxic to “compress” the poison.
The maximum value of a 32bit, signed integer is 2,147,483,647.
It is save to say your doubling is running into that limit.
Given you have x3 potions and every x2 is like a whole bitshift, it doesn't even take much to reach it.
bro changed the game from claw mashine to bulldozer without mods
I'm pretty sure that now that overflow is fixed. I was using cheat engine to modify my health shield and stuff like that I never tried poison, but the limit was the 64 bit double for all those values.
I would just remind everyone that since the potions triple the value it's hard to say if the integer is signed or unsigned. Also since it sometimes overflowed and sometimes didn't there are more conditions that are at play. There's obviously some amount of overflow checking going on with the potions but not enough. With the overflow it always seemed to be fine and the count started from zero for all the subsequent stacks then that would point more towards unsigned integer.
Congrats! You’ve hit integer overflow!
Commenting for the algorithm (and for your dedication to content)
Corn flakes.
the slap sound at 3:26 XD
Glad these small edits are enjoyed, they take more time than I'd like to admit xD
I had the exact same idea as you after the strength run. I was like "I should do this but with poison" I made a character and went "eh maybe later" I like the game but not enough to play it
I feel like vampire fang would have been good for undoing damage to your self from double edge sword
I think you needed to swap the ratio of blades and poison, smaller items take longer to fill the board up but easier to grab and deal more poison
Interesting that some player-facing values are floats and some are integers.
Ah the integer limit. How beautiful.
38:30 crazy you hit stack over flow with poison as iv never hit it with the gold dagger strat.
Keep the grind going bro love the video ❤❤
The limit you're hitting here is 2^31, around 2.1 Billion, which is the limit of a 32 bit signed integer. Also if you do run out of save slots, you might just be able to find the save folder on your pc and just copy them somewhere else for safekeeping later
what i also broken is clawcula when you do the health increase by amount of gold , strength boost when ever you take dmg, healing when you take dmg, everything gives poison, poison transfers when creature dies, do damage with every dodge, add a item whenever you take damage, do damage for every item added after the first round and it all just infinitely stacks because my healing when getting damage is higher then the damage that i put out so even reflect does not work unless i get killed in 1 hit somehow
I like the idea of nothing but the poison potions but filling the machine with them would take forever, prob better to get fluff at that point. (fluff is always put in first)
TBH good on the dev I guess, for making it handle integer overflow gracefully, even if it is annoying. Plenty of games just corrupt and then crash lol.
Long time watcher first time commenting on amazing videos! Keep it up! Posion🧪
@dex you should know that the text in the Events are different one stands for the poison potion ("the Air feels moinst and warm") and one for the healing Flask.
I am surprised you never tried to stack vamp fangs for this run, could have totally made the run last longer and reduce the stress in the early game
Cannot wait for the full release of this game.
106222940 poison damage at35:19. Pretty sure you explained it earlier but I wonder what a poison dagger, poison contagion, poison damage, magnet and poison flask run would look like.
@9:40 there is your weapon, the great swARD 10 dmg to all, i think it was 15 or 20 to all after upgrade
I have never played the game and only watched a few videos but I cannot understand why anyone would not want more fluff if they have the hand of midas and magnets. Just more coins with effectively no downsides.
Just because you seemed confused when to get them
Pond water is poisonous potion
Spring water is healing flask
Regarding Bargain, I believe it may actually be possible to go into the negatives and gain money from rerolling. I think the reason it didn't work last time when you got 21 bargains is because the first reroll costs 2 gold, Meaning you will need 30. 20 to make rerolling free, and another 10 (-50%) to overcome 1 gold, and then it will stack from there as the reroll "cost" increases.
I can't imagine it being that useful though, because when you're that late in the game, money becomes pretty worthless. It could be insane for stacking golden armor, though!
Rerolling increases every time you roll, meaning if you want a rare item, you can easily roll 50-100 times until you get it (or even longer). And same for Perks. And keep in mind that reroll cost increase more and more, I think with 10 Bargain in the other Strength run, the start roll cost me 80g. That's 80% of what you earn on a level with 5k gold on hand. It's a really big difference for total things gained, though certain builds just don't need that cause they are already so strong the enemies won't catch up in years
@@DexTag That's reasonable! I didn't catch that as you were playing. I think I vaguely remember you mentioning first rolls costing a lot after a while, but usually it gets skipped over in editing so it eluded me. Thanks!
I don't know if it still works with the new updates, but there was a little bit of a cheat like way to play, if you don't like the enemies you get you could back out, and try again and it'd randomize the enemies. After so many times of doin git though you'd always get the same enemy over and over, so doing it to much could end up hurting you instead.
OK Edit: The following is pretty useless information or request, because you pretty much for sure hit the integer limit. It's at 2,147,483,647 for a classic/typically used int as stated below and at 38:45 you noticed the poison going back to 0 again. You before had 824399010 Poison. That times 3 is 2.473.197.030 so 'just' out of the range of an integer. But I can't quite explain why it sometimes suddenly stop and don't just go to 0. But it has most likely also to do with the integer limit, I guess.
But anyways, maybe you're still interested in what I wrote before :)
What I wrote before:
You should try to reach the integer limit with one number and see what happens. Maybe it's already what you done with the posion not going up, but the limit is
"In a 32-bit system, the integer limit is 2,147,483,647 (2^31-1) for signed integers and 4,294,967,295 (2^32-1) for unsigned integers.
In a 64-bit system, the integer limit is 9,223,372,036,854,775,807 (2^63-1) for signed integers and 18,446,744,073,709,551,615 (2^64-1) for unsigned integers.".
Depending on what they used, you probably hit the limit for 32-bit (signed or not signed), but most likely not for the 64-bit one haha
They could also have used long ints (basically just larger integers), but I don't see a reason in that.
Anyways, another really good video. Enjoyed it very much!
35:19 106.22 Million became 316 Million Dex
36:29 1.14 Billion damage here
37:23 I'm guessing 2 Billion or 3 Billion is the max poison stack possible, as 1.955 would double over it.
2.147.483.648 Probably, as it is the max int 32.
@@gidedin Oh, I see. I didn't think about calculating in bits. Makes sense
To be honest what you created there isn't a poison build at this point... But a damn Bioweapon build
37:14 Looks like the limit is at 1.96 billion.
I don't think it's an exact limit. But there is probably protection from integer overflow
@@half55-qo1tq He actually exceeded that number a few rounds later.
I think you were hitting the string count limit, and that is why you had the issues with poison counters at the end. I am no expert, but I believe that is what was happening.
I can in fact confirm that fluff doesn't count towards the item cap
37:00 i think the game can only calc the poison up to 2,147,483,648 which is common for numbers games that aren't suppose to even reach maybe about 1,000,000
Nice gamebreak 😎
So much poison, they get immune 🤣
35:50 an item likely clipped out of bounds (and so happen to be on the right side / bottom right side so it hit him. I've had all my items with magnets fly up and to the left and just be gone off screen and i was left with nothing to grab with the claw. (restarted the fight to fix it)
overflow the poison number so you go from super high to 1.
Maybe with the saves you could acces them in the files and store then somewere else
You should reach out to the developer and ask him if he can add commas to the damage tooltip or even all numbers so it doesn't look as much like an amalgamation.
37:15 What!!!!!! Poison is capped at two billion!? Outrageous!!!!!!!
Borderline unplayable
him "how much is that"
Me "Death"
Starting this run, I’m eagerly watching hoping you’ll get 21 bargains and see if you’ll get paid.
It doesn't pay, we did this in the last endless run that got to 102
Highest number I saw was 1.9 billion
the problem with the poison is they are not atk or its count as debuff and the dmg done while enemy is attacking, while your other run was attacking, I mean like if the game cannot go beyond 32bit integer limit like 2.14 billion in debuff scenario that means the value on debuff go minus and try to resolve with another integer limit itself so then it go 0, thats maybe why they reset the poison stack back to normal again.
you should try deep rock again, you could probably get some crazier stuff with the new masteries
I mean, how else could you be stopped, right? 🤣
Step 1 : Get 20 Bargains
Step 2 : Do whatever wacky build you want with infinite rerolls of anything.
We love numerical overflow, that means you've won the game, right?
The world if we had Float/Double values:
And thats why you dont use raw (integer) as variables but actuall number objects - with overroll protection etc... -.-
They really need to nerf Mothilda's 10 reflect to only appear on later part of Infinite run...
Maybe just a couple too many items going in too fast? Either way, bravo!!
36:54 Come on it's 1.9 billion
imo that build would've been faster if you had grenades in your tank too
think you went a bit too extreme with this 😭
Integer overflow feelsbadman
I think this means you have to play Balatro.
Push it to the limit~!
S P E E D
I agree
36:29 1.141.825.771 damage
36:56 1.955.320.940 damage (max damage)
When it hits 1,000,000,000 it resets back to 0 i guess it only has the 9 didgets to display so over that rolls back to 0
1 billion damage 😳 36:30
Here's a question: why cant developers that make these kinds of games think that maybe, just maybe, a 64bit integer would be better? or hell, a 128bit integer? or even straight up _string_ integers? you gotta allow for arbitrarily large numbers when you create an endless game man...
Good old overflows.
GG dex!
hey, i comment here for the allgorythm or algorythmihft... (how tf are you speliing that)
And.. hei Dex, How Are You?
hope you're good
24:14 that wasn't 81k it was WAY WAY WORSE, IT WAS 314K XD
3:45 "bargen"
you hit integer overflow with poison