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…
Aztec monks with 1/55 HP no longer die when picking up or dropping a relic
71–80 of 267 posts
Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic
#72It’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
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
#73Earlier 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.
"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
#74Earlier 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…
You mean like COBOL?
Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic
#75Earlier 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.
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
#76Earlier 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…
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
#77What 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
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
#78Earlier 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…
Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic
#79Earlier 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…
Re: Aztec monks with 1/55 HP no longer die when picking up or dropping a relic
#80Earlier 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…