Live data from Hacker News

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

reddit.com

71–80 of 267 posts

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

#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.

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

#72

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…

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 my opinion. The Teutonic Knight looked leaner and taller, while it now looks a bit like a walking barrel. OK, somewhere they need to carry all that armor ... but still I liked the old ones better.

Also I would have been completely fine with units having only 8 or whatever directions in which they can look. I don't need 360° all-around rendering of units. It even substracts a little from AoE2's abstract character.

What I do like is, that they added more civs.

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

#73

Earlier quoted context omitted.

> 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…

Seems all that could have been avoided by using rationals in general and the condition for living being >0 instead of dying The more I write code, the more I notice how rarely one truly should want floats in most kinds of programs and how they almost always carry a whole bag of problems with them.

Rationals fail in their own spectacular ways. Take a simple approximate exponential decay: x ← (99/100) * x. In exact rational arithmetic, your program will happily calculate integers (99^k) and (100^k) for unboundedly large values of k (there's no reduction – they're all coprime), grinding the program to a halt until it runs out of memory.

"Oh, the solution is obvious: you should simply round that to an approximate fraction..." — yes, and that's floating-point arithmetic. Point is, you can't use either with thinking, about numerical representations and their possible failure modes.

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

#74

Earlier quoted context omitted.

Seems all that could have been avoided by using rationals in general and the condition for living being >0 instead of dying The more I write code, the more I notice how rarely one truly should want floats in most kinds of programs and how they almost always carry a whole bag of problems with them.

> Seems all that could have been avoided by using rationals in general It's 2023: I'm still surprised that so many new languages/platforms still only provide only basic integer and IEEE-754 types for numerics: Rust, C#, Java, Swift and others still lack built-in, runtime-provided, nor even standard-library-provided rational types, which I assume really should be the preferred type for most business/domain/application…

> can we agree that an application-programming language today should also include signed-and-unsigned "money-safe" decimal types

You mean like COBOL?

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

#75

Earlier quoted context omitted.

> 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…

Seems all that could have been avoided by using rationals in general and the condition for living being >0 instead of dying The more I write code, the more I notice how rarely one truly should want floats in most kinds of programs and how they almost always carry a whole bag of problems with them.

The trouble you have is that you really wanted reals and the rationals are not a much better substitute than the floats (which are mostly just one particularly specialised flavour of rational)

It doesn't feel immediately like there ought to be a problem, but witness, mathematically almost all of the reals are Normal and unfortunately Normal doesn't mean "normal" it's a technical mathematical word, that for our purposes means roughly "completely batshit".

Normal numbers are non-computable, so we definitely don't want to try to use them in software, which is a problem because again, almost all of the reals are Normal.

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

#76
post #69

Earlier quoted context omitted.

The logic is less complex than you'd think. It's generally something like "has flag paranoid, has flag child (patched to has flag alive child), then 1% yearly chance of fearing a plot." It feels complex, thinking of the actual logic killed a fair amount of the fun for me. >And I wonder about dead children. I remember one game where there could be no dead children. Probably Skyrim, though it's not rare. Crusader Kings…

> The logic is less complex than you'd think. It's generally something like "has flag paranoid, has flag child (patched to has flag alive child), then 1% yearly chance of fearing a plot." It feels complex, thinking of the actual logic killed a fair amount of the fun for me. But doesn't this overlook the emergent complexity from many actors running these simple rules, plus interactions between them? A lot of the shena…

>But doesn't this overlook the emergent complexity from many actors running these simple rules, plus interactions between them?

Somewhat, but it more feels like "wait for good flag, try to activate good flag events. Wait for enemy to have bad flag, try to activate bad flag events." Other's find it has lasting fun despite that, but I found I lost interest.

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

#77

What a weird coincidence. I thought at first this would be about the Guild Wars game, but turns out they both have something to do with monks and 55: https://wiki.guildwars.com/wiki/55_Monk

Yeah, really the only word out of place in the headline was "Aztec". All the rest could have applied to GW.

Fun fact: In the early days (I think the first 6 months or so) of GW there were some item attribute modifiers that I think allowed for going as low as 5 hp, making the character basically invincible, as all damage was rounded down.

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

#78

Earlier quoted context omitted.

Seems all that could have been avoided by using rationals in general and the condition for living being >0 instead of dying The more I write code, the more I notice how rarely one truly should want floats in most kinds of programs and how they almost always carry a whole bag of problems with them.

> Seems all that could have been avoided by using rationals in general It's 2023: I'm still surprised that so many new languages/platforms still only provide only basic integer and IEEE-754 types for numerics: Rust, C#, Java, Swift and others still lack built-in, runtime-provided, nor even standard-library-provided rational types, which I assume really should be the preferred type for most business/domain/application…

Java pretty much provides BigDecimal for that

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

#79

Earlier quoted context omitted.

Seems all that could have been avoided by using rationals in general and the condition for living being >0 instead of dying The more I write code, the more I notice how rarely one truly should want floats in most kinds of programs and how they almost always carry a whole bag of problems with them.

The trouble you have is that you really wanted reals and the rationals are not a much better substitute than the floats (which are mostly just one particularly specialised flavour of rational) It doesn't feel immediately like there ought to be a problem, but witness, mathematically almost all of the reals are Normal and unfortunately Normal doesn't mean "normal" it's a technical mathematical word, that for our purpos…

Huh? This isn't making a lot of sense to me. Why do you say the rationals aren't much better then floats? In situations like this surely we absolutely want to be working in the rationals, and they're a very easy way to do these calculations correctly without having to worry about tolerance bounds for arbitrary-precision float calculations

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

#80

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 think DE actually looks worse. Old graphics hold up great - just look at this: https://imgur.com/hWSZBpb. The new ones lost the soul. They have a weird glow/fuzziness. Nonetheless, DE has better multiplayer performance and cool new civs, so it's the one I play.
Post reply on HN