Published on: Jan 29, 2015 @ 17:11
Click here to read the entire Bungie weekly update. [divider]
Heavy Ammo Inbound
Before I ran away from home to join Cirque de Bungie, I was a huge fan of the way the team shot people out of cannons. For me, it was always fascinating to pull the curtain back a little bit and look in on the world where games get made. If you’re reading this, I hope you agree.
I still remember the time, long ago during the age of another game, when one of them posted “I just fixed a ten-year-old bug,” on a social network. I was shocked to learn that there were bugs buried so deep in the code that they could take a decade to squash – and that there were developers tenacious enough to hunt them for that long. That developer was Jon Cable.
These days, Jon works on Destiny as a Sandbox Engineer. The fancy title means he’s one smart guy on a team of smart people who create the code that makes your armor and guns work. They still hunt bugs where they live, no matter how deep, or for how long, they’ve burrowed into the code.
Hypothetical Aside: You love Heavy Weapons. The purple glow of ammunition is a promise of future enemy annihilation by way of your favorite Rocket Launcher or (even better) belt-fed Machine Gun. You buy it in bulk when you visit the Gunsmith. To get the most bang from your space bucks, you equip armor that lets you carry more of the stuff. Unfortunately it turns out that those deep pockets have metaphorical holes in them.
Thus, you tend to lose your coveted ammunition when one of the following happens in a PVE activity:
- You die
- You return to orbit
- You encounter a cutscene
For some time now, we’ve been tracking this one. To date, the best we’ve been able to do is to admit that we were aware of the issue. This week, we can give you some additional information.
Did we mention that Sandbox Engineer Jon Cable loves to hunt the really big bugs? He’s working on a fix that we hope to deploy before the end of February. While we test his work and prep it for deployment, he wanted to say a few words about what he (along with his team) has been wrestling with behind the scenes.
Jon: The basic flaw here is an ordering problem. Our inventory system creates your weapons when your characters spawn. When that happens, it tries to restore the same fraction of ammo that you had when you died. The bug occurred because the weapon is created before capacity modifiers from armor perks are applied, so the persisted fraction yields fewer rounds.
Way over my head! Sounds like you’ve identified the issue, though. Any word on why it’s taking so long to resolve?
Jon: Fixing bugs in a live game is always about managing risk. What are the chances that the fix is going to cause an issue that might be worse than the original bug? Players outnumber our testers by factors of several thousand, so if there is a problem that slips through the cracks, it is virtually guaranteed that the community will find it. This bug was mainly risky because it was at the intersection of a lot of different systems – player profiles, investment, sandbox, perks, and weapon management.
Would it be simpler and faster to just fix the affected perk?
Jon: There are a lot of weapon and armor perks in the game. Changing the order of how they are applied has a huge impact. It would have required a large restructuring of the way the game works to even accomplish this, because the armor perks can’t take effect until the weapon is created anyway. The application of armor perks would have to be inserted in between weapon creation and the rest of the weapon setup code.
So, what’s the ultimate solution?
Jon: In the end, I came up with a surgical change that fixes the main issue and minimizes the chances that a new problem would be introduced. I do not think I can overstate the complexity of these systems – it took me several tries to come up with a fix that did not cause other problems.
Fixing bugs can be tricky business. Promising and dating fixes can be just as challenging.
For this particular bug, we’ll be sure to update you once the new math is on the way to your box. Until then, if you catch a distraught Guardian lamenting their lost rounds, please point them to this conversation.
DeeJ took to the comments section of the weekly update to let us know that Vault space is also something they’re working on!