Games and Coding
I have a bit of coding experience, so I’d like add my two cents to this topic.
Coding things by yourself can be frustrating. Unless you’re constrained by time, most people naturally assume that any code they write is either A) perfect, or only requiring minor changes, or B) only a temporary placeholder, getting what it needs to get done in an unelegant fashion, waiting for other parts to be fixed/completed. All programs have bugs when they’re first written. Heck, for my first semester Java final project in college it took me ~39 hours to iron out enough bugs that it was consistently stable & usable.
Coding things with other people in a sometimes stressful work environment where you are constrained by time can be very difficult. You have to be absolutely, completely organized, giving massive, in-depth descriptions of what every single piece of code you write does; so that someone else can pick it up and work with it on their section of the large project you’re all making. You have to be aware of what everyone else is doing (Or, at the very least, the senior programmers have to) or you may end up repeating work they’ve already done.
As far as finding bugs go, it is sometimes (read: not-that-often) a simple matter of realizing that one thing doesn’t do exactly what you expected it to and changing a few numbers here and there and that bug’s fixed. Other times, it’s a major headache and you have to re-write entire sections of code. This can happen because an output isn’t formatted in the way you need, it doesn’t process inputs in an elegant/efficient way, or any number of reasons.
Other times, it can be futile even trying to find the part of your program that’s buggy. The larger the program gets, the more people work on it, the less code each individual person writes, the more likely it will be that no one will quickly know exactly what part of the code is causing X problem in Y circumstance. So, you have to search through the code; and even with modern, sophisticated searching tools, that takes a long time.
When you’re going off of the bug report of a user who doesn’t know how the program works and likely is wrong about the cause, it can be even more difficult to find that bug, especially if the person does not give any detail at all. (Sidenote: give all the detail you can in bug reports, it really helps)
Once a bug is located, programmers have to do one of two things: A) implement a quick, sometimes dirty, fix that they are pretty sure will work, or B) figure out how to rewrite that section of code correctly, and then do it. After they do that, they have to internally test that part of the program to see if the new code plays nice with everything else. Then, they have to test it internally, which means launching a group of dedicated testers whose sole job is to mess with things that they’re told to mess with and inform the programmer(s) if anything goes wrong.
After it’s been internally tested, that change must be formatted so that the updating program correctly includes and installs the update to everyone, and this means testing the patch of hundreds of computers used specifically for this purpose to make sure that it all installs smoothly.
The change is then noted in the patch notes (although there are thousands of minor, usually unnoticeable changes that never make it into patch notes) and published to the public. After that, a whole new slew of bug reports come in, and some of them may be about the bug that was just ‘fixed.’
As you can see, fixing a bug within a large program is often no easy task, and can frequently be frustrating and very much trial-and-error. I hope you’ve learned something by reading this, and that’s my two cents.
Thanks for the input. I work at a Private company that has around 100 people. We have one programmer. He wrote the majority of the software we use.
When things break in the software it can take him hours to fix it and he knows the entire code and what it all does.
So I have no issues with Anet and how they are handling issues. There biggest concern for them and it should be is bots/hacking/security.
My experience of coding revolves around websites HTML4/5/Java. Even though it’s “easier” one change can break other parts and you may not even be aware of it till it’s pointed out.
It may take longer then WoW but remember WoW is a billion dollar company Anet isn’t
WoW isn’t a company :P
We have one programmer. He wrote the majority of the software we use.
When things break in the software it can take him hours to fix it and he knows the entire code and what it all does.
When things break? Just a heads up, I’m a programmer myself and work for a company roughly the size of yours and am also an Internal Systems Developer and Manager.
Software doesn’t break up by its own will. Sure it has bugs as every software has but if he did teh code himself and can’t fix it quite easily and fast he’s doing poor documentation or his methods aren’t explicit enough.
Unless you’re talking about developing new functionality then I agree, sometiems throwing more code into the pot might mess other stuff up.
But as usual gamers that aren’t programmers (and users in general) envision that a webpage is exclusively made of buttons and there is no programming logic behind it so they think everything is easy to fix.
(edited by Agenteusa.6380)