hey, I'm one of his friends who encouraged him to post it to the sub, could you elaborate on that? I'm not an isaac player, but trying to get into it, and I'd like to know what this means.
Basically it's just a really fucking big number. You use letters as substitutes for letters sometimes so that you don't have this massive string of numbers. How they got that much damage (especially in negative) I don't know
This situation is unrelated to some kind of purposeful number notation. The game reserves only so many symbols to store the damage display, but never checks if the damage stat would overflow that. It results in the game corrupting memory and printing garbage; rarely you can even get animated garbage characters in there, changing every frame, as the \*actual\* owner of the overflowing memory keeps using it. And of course since it's corrupting memory, it could mess something else up in the game or even crash.
That's not what really happens if you overflow an integer/double in C++, it just wraps back around. Signed numeric values end up being massive negative numbers, and unsigned ones wrap back to 0.
My best guess is that the numbers drawn on screen are actually kept in a string, which has traversed beyond the range of the array it's contained in, and so it's now reading adjacent memory and implicitly converting it to a char.
It's possible they used C-Style strings, which are kinda infamous for this because they can be flooded by anything with more than 254 elements, overriding the null at the end of the string array, and since they are traversed using pointer arithmetic with no end point argument (They just increment the pointer until it hits a null), a missing null means you end up with a pointer running off into whatever memory is adjacent to the string.
The good news is that the only consequence of this is printing garbage.
I wasn't talking about integer overflow, no: it's specifically about the printed number as you said. It has a very meager string buffer it writes into, so if there's no room for the terminating null it'll happily print things from beyond the buffer, and if something important was allocated right after the buffer it'll get clobbered.
Sometimes seeing the garbage string change every frame is evidence of that, it overflowed into memory being actively used by something else
He is talking about the scientific way of writing numbers, which it doesnt really look like is happening in this post.
1E3 = 1,000
1E6 = 1,000,000
1E9 = 1,000,000,000
I think E stands for exponent, which is like the exponent of the base 10 you are multiplying your original number by.
So 1E6 is 1 times 10^6
another thing, if I may add, he also got two more strange occurrences, where he got two decimals in one number and a strange symbol that looked like the top right quarter of a circle.Â
never buy isaac from a gas station 😔
Me you gas station
What are we getting for dinner??
Sushi of course!
Oh oh! There was a rupee inside of our gas station sushi!
We black out and wake up in a sewer.
We're surrounded by fish
Horny fish
You know what that means!
Fish!
tainted cain why are you a femboy now
Isaac finally came to accepting terms with gender dysphoria
Ive been one for a while
Never buy no Dataminer from Basement II ![img](emote|t5_2sxpk|17741)
Better question is WHAT THE FUCK DID YOU DO TO YOUR GAME
I dont see anything wrong, just an average tboi run.
Most common TBOI run
Only if you had rock bottom....
\-0.32 shot speed ![img](emote|t5_2sxpk|30106)
.74 shotspeed ![img](emote|t5_2sxpk|2357)![img](emote|t5_2sxpk|2357)
![img](emote|t5_2sxpk|2357)
Ah yes, my favorite number -11509509324RT6VQ
Letters in power meanings are not a bug. They just show how many zeros they hide. It is more convenient to write a letter instead of a bunch of zeros
hey, I'm one of his friends who encouraged him to post it to the sub, could you elaborate on that? I'm not an isaac player, but trying to get into it, and I'd like to know what this means.
Basically it's just a really fucking big number. You use letters as substitutes for letters sometimes so that you don't have this massive string of numbers. How they got that much damage (especially in negative) I don't know
This situation is unrelated to some kind of purposeful number notation. The game reserves only so many symbols to store the damage display, but never checks if the damage stat would overflow that. It results in the game corrupting memory and printing garbage; rarely you can even get animated garbage characters in there, changing every frame, as the \*actual\* owner of the overflowing memory keeps using it. And of course since it's corrupting memory, it could mess something else up in the game or even crash.
That's not what really happens if you overflow an integer/double in C++, it just wraps back around. Signed numeric values end up being massive negative numbers, and unsigned ones wrap back to 0. My best guess is that the numbers drawn on screen are actually kept in a string, which has traversed beyond the range of the array it's contained in, and so it's now reading adjacent memory and implicitly converting it to a char. It's possible they used C-Style strings, which are kinda infamous for this because they can be flooded by anything with more than 254 elements, overriding the null at the end of the string array, and since they are traversed using pointer arithmetic with no end point argument (They just increment the pointer until it hits a null), a missing null means you end up with a pointer running off into whatever memory is adjacent to the string. The good news is that the only consequence of this is printing garbage.
I wasn't talking about integer overflow, no: it's specifically about the printed number as you said. It has a very meager string buffer it writes into, so if there's no room for the terminating null it'll happily print things from beyond the buffer, and if something important was allocated right after the buffer it'll get clobbered. Sometimes seeing the garbage string change every frame is evidence of that, it overflowed into memory being actively used by something else
Ah right we are on the same page then. Sorry for the misunderstanding.
He is talking about the scientific way of writing numbers, which it doesnt really look like is happening in this post. 1E3 = 1,000 1E6 = 1,000,000 1E9 = 1,000,000,000 I think E stands for exponent, which is like the exponent of the base 10 you are multiplying your original number by. So 1E6 is 1 times 10^6
I'm sorry sir but this is not the Balatro sub, I think you might be confused
My bad, the jokers have invaded my brains
another thing, if I may add, he also got two more strange occurrences, where he got two decimals in one number and a strange symbol that looked like the top right quarter of a circle.Â
The fuck did you do
Took Libra, prolly
this happened to my pal eric irl
…did you drop rock bottom or something?
That’s actually my WiFi password
Shot speed down ![img](emote|t5_2sxpk|4359)
Average stat change I get from libra
so true
Well are you even an Isaac player if you don’t break the game
More likely than you think
You lost so much damage the game ran out of numbers
That's how you KNOW you were cooking.
Looks like the string has been traversed out of range of the array it's contained in, maybe?
What people say Libra does to your stats:
Scientific notation
My mans went hexadecimal
not the first time I've seen that
Libra moment
Most sane Rock Bottom moment
OOOOOOF, RIP DAMAGE
bro got the evil isaac
Da rules moment
Dude's over here casually breaking the hud