I'm not sure exactly what you mean, but the entries in the INI file don't need to correspond to files. They're just text that the game reads and stores in some sort of key-value data structure. If I had to guess, I'd say that there's a part of the code that decides for each enemy type the type of AI behavior it should use, depending on what it says in the configuration file. If there's no value or an unrecognized value, it'd probably fall-back to the default behavior (which is what happened here).
Do people ITT understand that they don’t pay programmers by the letter? It literally doesn’t matter how many letters fixes the bug, what costs money is the several days to investigate the bug, understand the code, rebuild, re-run QA, redeploy, etc.
Yes it’s still puzzling why Gearbox was penny pinching so hard on this game that they couldn’t fix this bug, but the nature of the bug and how many letters it is is completely irrelevant.
Essentially those versions are fucked forever and ever because no one is going to spend money to fix that one letter on a game that has zero sales potential on the platforms they're on which are also dead.
I don't know what's worse, this or specifically having a test environment to test something, acknowledge what you are testing isn't working and ignore it, pushing it to live and letting it rot for years and doing it hundreds of times.
The surprising thing isn't a single typo breaking elements of the game, I think anyone who's done any level of coding knows the dread of the infamous, "find the single mistake in my code that's breaking everything," and it being in an external file means it's less likely they'd check there initially to find the mistake.
But it is very surprising that they must've known the AI wasn't working as intended and shipped it in that state, maybe they figured something broke in development they couldn't fix, but the solution is humorous/ a bit sad. I know with bug fixes you can't fix everything, so you do have to prioritize what to fix, but this seems like such an important part of the game to fix, that them not prioritizing fixing this just seems insane to me.
It also reminds me of those periods something in a game I'm working on that SHOULD BE WORKING just absolutely isn't, I recheck my code, I feel like I've done everything, only to find there was one simple external mistake I made that fixes everything. Given I don't ship my games in that state, my games aren't nearly as complex as something like Colonial Marines, but I'm also one person and they're a hired team, but yeah.
Thats programming, the dudes who created the algorithim were probably in their own box. Someone came to check it out and it did what they wanted. The game was probably put all together at the last minute and the people who developed it were either gone or occupied with other things so it wasn't caught.
It is a mundane mistake but a costly one, if they ran out of time to find the mistake it just makes it more tragic not that it would have saved the game completly. 5 years later this is just a funny reminder to check your code for any typos.
Yup, QA aren't programmers, they're not looking at the code of a game.
I also know several people in QA, QA finds bugs all the time and report them, but it's up to the actual teams if they choose to fix it or not. Most bugs get a marking from the QA team of how crucial they are to fix, but there's MANY examples of QA telling the teams a bug is a bigger deal, and the leads not prioritizing it to focus on other things instead. It's not feasible for a game team to fix every bug in a game, there's not the time and money for that, but some stuff they neglect they really shouldn't, and often QA DID report it, just the leads didn't prioritize it.
Sweet ogly mogly. How. Why. That's just hilariously terrible. How fitting that the fix took several MONTHS to propagate outside a tiny modder blog.
I'm just sad that development must've been so borked that even a (likely) error log or exception upon encountering the parsing error didn't alert the devs to this critical yet easily fixable bug. I know it's tempting to just tune out the various warnings these modern code behemoths barf out by the bucketload, but shouldn't that have been one of the first things to check? And I don't know just how strict their engine script parsing is, but shouldn't this have thrown huge amounts of critical errors in succession for using an object that was either nonexistent or uninitialized? Meaning, the dev in question would have gone through their own changelog with a fine comb, probably with half the team riding his ass for breaking the AI?