Live data from Hacker News

Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

reddit.com

161–170 of 267 posts

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#161

Earlier quoted context omitted.

It's actually worse, they pulled the legacy version from the users and forced the (effectively) downgraded version to everyone. Even the owners of the legacy version were shafted as they forced a update which removed much of the functionality of the legacy version. To this date still the best version was the pre-patch one for everyone who has the original installers and the latest pre-upgrade patch

And the AoE2 DE has way higher system requirements while only looking marginally better in some aspects, but looks worse than 2 decades old 2d art in some other aspects. Just because it "has to be 3D" these days, while there is nothing truly requiring any 3D in the game. This is subjective, but I liked some of the old unit designs more than the new ones. For example Teutonic Knights and Cataphracts looked better in m…

> I don't need 360° all-around rendering of unit

But you don't have it anyway? I assumed the game is still actually isometric and not 3d but even if it is the camera is still fixed.

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#162
post #71

It’s great that Microsoft are still actively maintaining a ~24 year old game! Blizzard ought to take note. A few years back they announced “Warcraft 3 reforged” with great fanfare: a remastered version of the classic Warcraft 3, updated for modern systems with improved graphics etc. It looked/sounded fantastic! But despite it being a paid upgrade, what they released was a buggy mess that did little justice to the cla…

Yeah it appears my Diablo 2 has been pulled from my Blizzard account when the D2 Remastered was launched, at least I can't find it anymore. And now I either have to dig up the CD and key and hope those still work or pay $60 or something to play D2. My desire isn't really that big.

I see this link on the Blizzard support site that provides downloads to classic D2 and LoD but I haven't tested them out to see if they ask for a CD key or not.

https://us.battle.net/support/en/article/13867

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#163
post #144

Earlier quoted context omitted.

> It's 2023: I'm still surprised that so many new languages/platforms […] still lack built-in, runtime-provided, nor even standard-library-provided rational types Because numerators and denominators can blow up easily, rational types effectively require storing them as bigints. That makes them bad from a performance viewpoint. Assuming your application will work fine with fixed-size rationals (which, IMO, is highly u…

I'm (vaguely) surprised there hasn't been a hardware type for rationals. Then the GCD operation could be done in hardware and everything would be fast (at least as fast as floats). Not surprising, because adding new hardware data types is hard, but the financial institutions would benefit from something like that. A rat64 could be: - 1 sign bit - 3 format bits. Determines where the decimal is located, e.g. 30.30 vs 5…

> 60 bits of numerator and denominator.

The trouble is this isn't enough, even for ordinary usage. The numerator and denominator grow in proportion to the total number of operations you have performed. For example, if you start with `1` and then multiply by `80/81` a thousand times, you get a number that's around 1e-6, but when expressed as a rational the numerator and denominator have hundreds of digits:

https://www.wolframalpha.com/input?i=%2880%2F81%29%5E1000

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#164
post #68

Earlier quoted context omitted.

Did this exponential blowup ever prove troublesome in practice? I think it can be easily solved by strategically placed rounding steps. But explicit rounding is advisable in many cases anyway.

But strategically placed rounding was in fact the solution to the original problem that in this thread Rationals were proposed as solving... Rational types are not super popular and don't get used that much, most (not all) people that end up using them do it very intentionally and consciously and know what they're dealing with -- if they were more ubiquitious, I suspect more trouble would be seen "in practice". While…

Fun fact many processors actually support decimal types in hardware. I believe you can use them in c with _Decimal. Worked on my Ryzen 3700x and (if memory serves) my M1 mac

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#165
post #157
post #142

Earlier quoted context omitted.

If you’ve changed HP to a percentage, why wouldn’t you also change the damage and other related numbers (such as damage reduction and so on) to percentages as well? Nobody would be dumb enough to store them in different units and then convert every time they manipulate them.

> why wouldn’t you also change the damage and other related numbers (such as damage reduction and so on) to percentages as well? Because a sword might do 5HP of damage, not 10% of anyone's damage (whether they've got 50 or 5000HP). Otherwise, hit points are meaningless: 10 attacks with a 10%-damage weapon kills a lowly serf or a mighty dragon. And because damage reduction might reduce a fixed amount of damage from an…

Obviously a dragon doesn’t get damaged at all by a puny little sword. You can’t just say that hitting a dragon with a sword a thousand times would kill it, when none of the attacks can get through the dragon’s armored hide. On the other hand, it will die immediately if pierced by an arrow provided that arrow hits the one spot where the hide is missing a scale. The dragon has 100% DR, except in that one spot.

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#166
post #156
post #149

Earlier quoted context omitted.

So what? The players already know that attacks deal fractional HP damage.

> The players already know that attacks deal fractional HP damage. Top-end players who analyze the engine enough do. Otherwise, they shrug and say "sometimes 1, sometimes 2 HP" And even so, we're used to seeing 0/50HP and it meaning "dead" across many games. Seeing 0/50HP and it meaning "just a small amount of HP left" isn't ideal. Not to mention that weird situations with 5.551115123125783e-17 HP remaining aren't gr…

Again I say “so what?”. The unit is one hit away from death either way, and the player will know it.

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#167
post #166
post #156

Earlier quoted context omitted.

> The players already know that attacks deal fractional HP damage. Top-end players who analyze the engine enough do. Otherwise, they shrug and say "sometimes 1, sometimes 2 HP" And even so, we're used to seeing 0/50HP and it meaning "dead" across many games. Seeing 0/50HP and it meaning "just a small amount of HP left" isn't ideal. Not to mention that weird situations with 5.551115123125783e-17 HP remaining aren't gr…

Again I say “so what?”. The unit is one hit away from death either way, and the player will know it.

At this point, with your Smaug-related comment, etc-- I've become convinced you're trolling.

But just to humor you: the desire is to have a system where floating point neither surprisingly kills nor gives characters extra hit points. There's a lot of subtlety in this. Schemes where all damage are percents don't preserve the essential pieces of RPG combat systems. Moving the threshold from 1 to 0 HP violates the conventions of the art and doesn't eliminate the problems (you can still end up with hit points epsilon away from 0, instead of 1).

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#168

It’s great that Microsoft are still actively maintaining a ~24 year old game! Blizzard ought to take note. A few years back they announced “Warcraft 3 reforged” with great fanfare: a remastered version of the classic Warcraft 3, updated for modern systems with improved graphics etc. It looked/sounded fantastic! But despite it being a paid upgrade, what they released was a buggy mess that did little justice to the cla…

Even more amazing still is that it still has a large active player base and YouTube streamers make money playing it and casting videos of their play through. I'm routinely shocked by how easily I can join online multiplayer matches.

For a 24 year old game!

A bunch of guys in my company play it. Most of them were 3 or 4 years when the game was released. A couple of them weren't even born.

Real kudos to the team maintaining it. They constantly listen to player feedback and keep updating the various unit stats and bonuses to keep the game balanced.

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#169
post #2

From the comments: "This was caused by a floating point rounding error. A unit switching jobs internally becomes a different unit (i.e. a monk with a relic becomes a monk without a relic), and when doing that, HP is scaled proportionally based on the old and new max HP using 32-bit floating point maths." And there are YouTube videos about this https://www.youtube.com/watch?v=MytWNbpnAVY

> The formula was probably `return new_maxhp * (old_hp / old_maxhp);` ... > Due to floating point rounding errors, convert_hp(1, 55, 55) equals 0.999999940395355224609375, which is less than 1, which means the unit dies. Ahh. The old "Multiplying and dividing is associative... for the set of reals, not for the subset that you can actually afford to compute with." So it should have been `(new_maxhp * old_hp) / old_max…

None of these would be a problem if people would round instead of truncate by default.

Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic

#170

Earlier quoted context omitted.

Update: In fairness to Blizzard, I did just check this again and it seems like they have started maintaining Warcraft 3 Reforged again, releasing some small patches last year and a significant update in January 2023: https://news.blizzard.com/en-gb/warcraft3/23896791/warcraft-... I'll have to take another look now that this has been released. But still, there was a 2 year stretch between 2020 and 2022 when the game w…

Blizzard also pulled the original W3 downloads and switched everyone to a non-hd version of Reforged. I'm still mad about that because I paid for both and I'm no longer able to get one of them.

But isn’t Reforged using the same engine as the original, with higher res assets (mostly textures)? At least, I thought so, as that was part of the criticism of Reforged.
Post reply on HN