Avatar

As a debugger, it seems simple (Destiny)

by Kahzgul, Tuesday, January 27, 2015, 00:21 (3397 days ago) @ stabbim

I production tested games for more than 12 years. This bug was definitely found in the very early stages of the game, but was probably marked as a "C" class bug (unimportant, not worth fixing) because (shock) there were no PvE situations where heavy ammo was both scarce and necessary at the time the bug was found (because the raids weren't in yet), and since heavy ammo resets to zero on death in PvP, the bug didn't apply there.

Later, when raids became a thing, no one bothered to upgrade the bug. At that point, it was already a "legacy" issue and therefore was effectively signed off on by the producers. In addition, heavy ammo synthesis is a thing, so the bug isn't game breaking by any stretch of the imagination.

--

The failure here seems to be more systemic than individual. Lots of individuals are doing their individual jobs correctly, but no one took the initiative to step outside of their fiefdoms and see the big picture in this one case. Guaranteed there were many other bugs that were squashed, such that we never saw them and don't know about them.

Now, I get why this feels like a dumb bug. It seems like counting should be a thing that computers are good at, and that programmers should be good at, too. Remembering a single number also seems easy. Common sense does dictate that the fix should be easy because: Counting.

But there's another thing at play here: Heavy Ammo isn't a number. Notice how when have 5 rockets, and change to a machine gun, you don't have 5 bullets, but more like 63 or something? That's because Heavy Ammo is a percentage, not a number. Player X has 100% heavy ammo. Because he has boots of awesome on, his max value is 5 (rockets) + 2(boots) = 7. So he has 7 heavy ammo. Oh, he died? Well he's still at 100%, which is 5 (rockets). Now add boots back in, and he's at 71%. So he died again, and was at 71%? Okay, so 71% of 5 is 3.6 Well, the game rounds down, so he's got 3 rockets out of 5. Oh yeah, he has boots, 3 of 7 is 43%... and so forth.

So obviously the order of operations is ass backwards for figuring out what the max heavy ammo is for a player, and then applying the percentage of heavy ammo that they have. But the order of operations is, as others have mentioned, probably a fundamental thing.

The work around fix, as far as I can guess, would be something really wonky like when a player dies, creating invisible ammo packs that are percentages equal to what they had when they died, respawning the player, and then dropping those invisible packs onto the player. Super weird, and then there's a chance that that something unexpected happens, like the player spawns in midair and the ammo packs hover above their head and then the player has to jump after spawning to get any ammo at all.

--

I don't know why I'm so forgiving about obvious bugs and so unforgiving about terrible design decisions. Oh wait, yes I do.


Complete thread:

 RSS Feed of thread