Why does it take game developers so long to fix very obvious bugs/issues?


Not trying to criticize anyone, just curious about the process.

When I report a bug that the developer acknowledges, why does it take so long to fix it? For example, 2 months ago I report a bug where the characters weapon disappears in this very specific area. 2 months later, after several updates, the bug is still there and the response I get is, “we are still trying to find a fix for this”.

In: 7

Frequently, because all the ways they’ve found so far to fix it break something else instead.

And it’s not necessarily the highest priority bug they’re currently working on.

They might also have very few people working on that aspect of the game depending on what it is.

Developers get a lot of tickets to fix issues, and they need to be prioritized, because they’re not able to fix all of them at once. Generally, there are two things you’ll look at when prioritizing a bug: 1. does this have a huge impact and 2. will this be difficult to fix.

Stuff that has a huge impact will get prioritized first, and for smaller issues, the ones that are easy to fix tend to get done before others. In your case, there are probably other bugs with higher impacts that they are investigating, or it would be incredibly difficult to fix that bug and the developers don’t think it’s a big enough deal to prioritize it.

In no particular order: reproducibility, cost, and priority ranking.

Reproducibility – while not apparently applicable to your specific example, sometimes problems appear due to unknown conditions. If you don’t know how to make it happen, you can’t get to figuring out what causes the issue, and then fix it.

Cost – this issue may take a lot of resources to fix. It may not be a simple issue, a code change may ripple into other aspects of the software. And then you’ll have to do regression testing, making sure that everything still works after the change.

Priority ranking – ties into cost, there can be dozens or hundreds of open bug reports. There are only so many people, and so many hours in the day, that you have to be choosy which issues you want to devote the time and money towards. If it’s considered an issue you can live with – maybe it only pops up very rarely, or under odd circumstances – then it’s not as important as something that could impact gameplay or crash the system.

Real answer: how long did it take you to program “Hello World!” In JavaScript?

The end result that you see can be really obvious, but the exact chain of code that actually causes it can be really difficult to pin down. Knowing the exact area it’s happening definitely narrows it down a lot, but it may not be narrow enough to be worth the dev time of just trudging through the code.

A really important step of debugging is finding out how to reliably reproduce the bug. Not just “it happens in this area”, but a step by step process of “do x, y, then z” that causes the bug 100% of the time (or at least very reliably).

Also, whatever is causing the bug might be important for some other part of the code. So fixing the bug well cause more bugs, and there’s just a chain of bugs that need to fixed.