JavaScript is required to use Bungie.net

Destiny

Discuss all things Destiny.
Edited by JayhawkZombie: 5/10/2015 8:21:26 PM
14

Why Bug Fixes Take So Long - From An Engineering Perspective

Let me preface: I am studying to become a software engineer, and have studied software maintenance in depth. A software bug can be introduced at any stage of development: In the requirements specification (drafting), architecture design, coding, etc. Let's take, for example, the heavy ammo glitch that took so long to fix. The earlier a bug is detected, the easier it is to fix. But guess when the heavy ammo glitch was detected? Long after deployment. Due to the fact that this bug was in effect everywhere in Destiny, it is likely that it was introduced in the architecture design, although unintentionally. This bug was detected at the latest possible stage, and thus will take the longest to repair. Destiny is an incredibly complex piece of software. Unless you yourself are a game designer, there is no way to comprehend the complexity. The more complex a software, the more difficult it is to fix issues without impacting other areas of the game. Yes, Bungie has a team dedicated to maintaining the game and fixing issues, but that does not negate the difficulty in fixing issues. The heavy ammo glitch was deeply entrenched into the game, which means it was introduced early in development. This was not a bug that was caused by a simple coding error. This is the kind of bug was the result of design. This bug was also likely a side-effect of a game mechanic that was intended, which also means that this issue had to be fixed while also keeping the original mechanic in-tact. Multiple developers can be trying different fixes, but even thinking of a fix takes time. Here's another example from a much smaller scale: My semester project, an encrypted password storage program (maybe a few thousand lines of code in length), had a bug where registering a new user after logging out from a different account caused a crash. This bug turned out to be deeply entrenched in the software design, and a bug fix took quite a while for three developers to repair. This was for a very small piece of software, and it took a day to fix. Now scale that software size by thousands (Destiny is likely composed of millions of lines of code), and only scale the number of developers by 10 at the most(these development teams do not have hundreds of developers - that would be ridiculously expensive and extremely difficult to organize). Can you imagine sifting through that to even begin looking for the source of the issue? It took 3 developers hours to find where the crash occurred in our code, and hours more to find out why and repair it without breaking anything else. Also consider that fixing one issue may cause new ones. Fixing the issue in my team's projects wound up introducing a new issue, so a new solution had to be devised. The same can happen, and probably does all the time, with Destiny. Fixing one bug can introduce many more, which means that a new solution needs to be devised. Yes, Bungie has teams of professionals to combat these bugs, but that does not negate the difficulty in fixing them. Fixing bugs in huge software systems is extremely challenging and takes a lot of time and testing. TL;DR Bug fixes are hard and take a long time. Don't whine about it until you've had to go in and do it yourself. "But they are trained for this!". Yes, and that's why they can do it. Can you fix bugs in software? No? Of course, there are other reasons, and sometimes bugs are easy to fix. But other times, like with the heavy ammo glitch, they are much more deeply integrated into the software and harder to fix. But no one cares, right? You all just want your bugs fixed right this second. But that's just not how it works. Edit: The process of testing to make sure a fix did not affect other areas of the software is called Regression Testing, and can be very complex and expensive. Edit2: As JohnnyFiveAlive pointed out, it's common in software development to push multiple fixes at once. So, we're usually waiting for Bungie to fix multiple bugs before we get the patch released. And also, like I said earlier, they have to test the game after they implement fixes before they deploy them to ensure that nothing got broken.

Posting in language:

 

Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

View Entire Topic
  • Alert the news! Someone with a background in a certain field posted something significant in the forum! I've always wondered about this topic and this answered all my questions.. Made me a little sad seeing how long certain bugs can take but its worth it in the end.

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

    1 Reply
    You are not allowed to view this content.
    ;
    preload icon
    preload icon
    preload icon