Why do bugs come back?

Happens on so many games. I always thought that the copy that the devs work on is taken from a specific point in time, possibly when bugs exist that are fixed while the update is still in progress. Then the update is rolled out and the bug fixes that happened during that span are suddenly no longer in the code.

Basically like this: You take an XML file, keep it for 3 months making a lot of changes. Meanwhile the "living document" is being updated. You upload the XML file you took along with all your changes and you lose that period of updates that occurred while you had the XML file.

Probably not happening that way, seems to easy to avoid.
 
Why is it that a bug can be fixed in one patch, and then a few updates later it "comes back"? If it's fixed it should be fixed, right? I understand why there could always be NEW bugs, but not why old bugs can just reappear at any time. And the devs have to be told about it every time they come back, and sometimes it takes a concerted push from the community to get these bugs fixed a second or third time.

I think i know why :

IMG_0133.JPG
 
Kaocraft said: Why do bugs come back?

They are trying to invade our space. Seems logical that they will be persistent.
 
There is also the case that we don't know whether the bug has come back. It could be a completely different bug, but from the outside looks the same as another that was fixed.
 
Bad source control, bad testing / lack of automated test scripts and / or bad software design are the usual causes. Probably a combination of them all.

Have a read up on the Software Crisis if you want some background on why some projects struggle. Even the most complex software systems can be built to be reliable, maintainable and relatively free of these sorts of issues. It boils down to treating your project as a software engineering problem, not a programming one and understanding what the difference between them is.

<edit> That sounds a bit pompous, even for me :) It's only a game and trends such as Agile development tend to encourage these sorts of errors - do something quick, get it out in front of customers, fix stuff later. Repeat. tbh that's fine for something like ED and with hindsight we'd all do something differently :) </edit>
 
Last edited:
True story: developer disables a check to perform some tests, forgets he disabled the check, code is committed into mainline, new release ships with huge security hole...

Also having a deadline set for "yesterday" never helps :(
 
Last edited:
So much of the game relies on PG. Adding more complexity to the PG is going to add new bugs. Most software dev's carry a can of bug repellant, it's used to repel those who generate scope creep.
 
So much of the game relies on PG. Adding more complexity to the PG is going to add new bugs. Most software dev's carry a can of bug repellant, it's used to repel those who generate scope creep.

Just hold your breath; the scope should zero out for a second and stop creeping - oh wait. >___>
 
Or, you know, they could have gone the way of that other space game. We could be in perpetual pre-alpha hell waiting for the developers to get everything "perfect".

One could argue that this current build is still in beta... then again I don't see the difference at the moment between the two (assuming you're talking about Star Citizen). And at least with SC the backers are the only ones feeling the effects of Roberts' perfectionist demeanor and not the casual player like ourselves.
 
No idea, this is the only game I have personally played where the bugs I have experienced come back. I'm sure if some games were listed off here I'd be able to say I played those games, but I probably didn't experience the bugs. I don't know, but some of them make me sad because some of them made me take breaks before and surely will again.
 
Let's all remember a few key things - Frontier is a $450,000,000 publicly traded company with supposedly 100+ working Elite. The level of near and game breaking bugs has gone Beyond absurd.

- "Leaving wing" showing when joining a wing - 2+ years
- NPCs on our assigned pads - 1 year
- Spawning inside another ship - 1 year
- Cargo hatch resets to priority 3 on respawn - 1 year
- Chieftain interdictor not lined up - since 3.0 beta
- Dav's Hope glitched and completely locking out console players
- Plotting when neutron boosted no longer defaults to boosted range
- Starport services menu no longer scroll-wraps to the left (does to the right)
- Scan data beacons on every log (although this is a good one)
- Community Goal markers don't show on galaxy map
- Stuck in supercruise jump/drop tunnel until crash

Oh and a big one - it seems Articulation Motors and Modular Terminals don't appear to be in the game since 3.0.3 launched. I and many others have searched high and low for them, specifically articulation motors for myself and they are absolutely nowhere to be found - much like exquisite focus crystals were over a year ago. No unlocking Qwent or some of the new technology modules.

And that's just what I can think of off the top of my head. It really seems like every build is 1 step forward and 3 steps back. I've worked in software development for many years and I've never personally seen a product like this - it really is like Frontier stopped playing Elite a long while back isn't it?
 
This happens because companies let work several programmers on one program. Compared to the early days in programming where one person hat the complete overview about everything, today nobody seems to have a complete overview and this only can end up badly.
 
there are plenty of games way more complex than elite, which dont have these sorts of problems.

Instead they have other problems and if they are more complex than Elite, then they also have more complex bugs. Maybe they are not so obvious.

I remember reading a book called "The Pragmatic Programmer." There was a section in there about "Programming by Coincidence" It's basically the MEME you posted.

This can happen when your code is so complex (poorly structured) that you can't predict what the effects of a change will be.

My guess is the engine ED uses works by events. You write an event handlers to handle events. You change the game state in those event handlers. The complexity can come in if multiple handlers are changing the game same game state based on these events and overriding each other. It become very difficult to debug because certain error only occur depending on the order of events. I could be totally wrong about them using an event-driven approach. If someone has more insight, I'd love to hear.

Complex does not imply poorly structured. Poorly structured, however, does imply complex.
 
Back
Top Bottom