Announcement

Collapse
No announcement yet.

New Post from Dan@FIRAXIS at CivFanatics.com

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #76
    As yet another software developer, I weigh in with my opinion that, whilst it is certainly impossible to ensure that a software release does not contain bugs, it is nevertheless wholly unacceptable to release software that has very visible bugs or shortcomings in it, that people will spot straight away.

    Any quickly visible bug or quirk *should* be caught by the alpha-testing stage, let alone the beta.

    And during by 20-year career, it has amazed me how people have become more and more accepting of - and less and less likely to criticise - and even ready to defend - very buggy software releases. CivIII is a case in point (though more from shortcomings than actual bugs).

    Why are people on this thread defending Firaxis position here? I am a great fan of their games but that does not mean that I'm prepared to put up with short measure *especially* in situations where we were definitely promised better. The theoretical impossibility of eliminating every little bug does *not* justify the premature release of software with very definite shortcomings.

    Comment


    • #77
      Hywel Dda: Your words, sir, are like manna from heaven. Salute!
      I've been on these boards for a long time and I still don't know what to think when it comes to you -- FrantzX, December 21, 2001

      "Yin": Your friendly, neighborhood negative cosmic force.

      Comment


      • #78
        Originally posted by Malleus Dei
        "Obviously you dont work in the software industry. Bugs are a fact of life, like death and taxes. You can't ever get rid of all the bugs, its impossible because human beings are fallible."

        Nonsense. It is humanly possible to produce perfect code. I have seen it done, and I have done it myself. It takes talent, dedication, focus, testing and a committment to excellence - but it CAN be done.
        It's possible, but the time required to write a non-trivial program and verify it to be bug-free exceeds the market lifetime of the program rather sooner than some people seem to think.

        The employee you want is one who is committed to the goal of producing bug-free software. The employee you don't want is the one who thinks that buggy software is acceptable.
        I disagree. The employee you want is the one who is committed to the goal of returning maximum value to your company. That usually goes hand in hand with minimizing bugs, but not always. The obvious counterexample is when trying to kill that last bug will cause the ship date to slip past a hard deadline and result in a contract being voided. Other less extreme examples are possible too, but I hope the point is clear enough.

        Ahem. I have written software, in about 9 different languages. I have written DRIVERS - heck, you might even be using one that I wrote.
        Yeah, yeah. I've written drivers and other kinds of code that's more difficult than drivers. For three years I specialized in high-availability clustering. I've been paid to write as an expert on how to produce quality software. Despite all that, I admit that every non-trivial program I've written has had bugs - despite every validator I've run it through, every unit test I've written, and every month that highly skilled QA people (or customers) have spent torture-testing it. Any programmer who doesn't make a similar admission is simply deluding themselves and attempting to mislead others. Even SEI capability-level 5 shops (of which there are two in the world) have produced code with serious bugs, with serious consequences.

        Bug-free software can be written; it's been done. At the very LEAST it can be what you constantly strive for. Anyone with the attitude that bugs are not only inevitable but acceptable is striving not for excellence but for mediocrity.
        On this we agree. Even though it is an almost provably unattainable goal, bug-free software should nevertheless be a goal. "Bugs are inevitable" should not be used as an excuse. If a bug is identified, the proper response is "oops, we'll fix it". If the bug "should have been" found and fixed sooner - subject to reasonable standards of skill and diligence, plus constraints of business survival - maybe there should be an apology as well. "Stop whining" from a developer or apologist is just as counterproductive and inexcusable as "you suck" from the person who found a bug. If you ask me, we've been seeing far too much of both on this thread.

        Comment


        • #79
          Originally posted by Malleus Dei
          Oh, and as to the guy who said I shouldn't have Bill Gates' job? If I did, your software would probably be many, many times more reliable.
          ...and it would also be many years from completion, not benefiting a single user anywhere. Actually no, it wouldn't, because your version of Microsoft would have gone bankrupt years ago and you'd be looking for a job in some other industry. To adopt your own phrasing, there is NO EXCUSE for any software developer to be so hung up on self-delusional no-bugs grail quests as to interfere with the business goals of their employer. NONE. And that's true in every other industry too.

          Comment


          • #80
            Originally posted by rid102
            If Firaxis knew that e.g. Air Superiority was broken then IMHO that is unprofessional of them to release it. This is a "showstopper" bug IMHO because the software is not conforming to specification (i.e. it is not behaving as the game rules suggest).
            No, that's not a show-stopper. Nobody's going to die from an air-superiority bug in a game, and applying medical-equipment or flight-control standards to a game is a false analogy. We don't know if fixing the bug might have caused Firaxis to miss a contractual deadline, which would have "stopped the show" in a much more concrete way.

            BTW, have you ever seen any software that conformed to the spec in every respect no matter how trivial? I've seen a lot of software in my over-a-decade in this industry, and I don't think I've ever seen any that met that unreasonable standard. Half the specs I've seen were self-contradictory in some subtle way or other (specs have bugs too), so it wouldn't even be possible. That's not a workable definition of "show stopper"; such a definition must necessarily include impact/severity, frequency of occurrence, cost to fix, damage to reputation if not fixed, maybe even professional pride, but it's never as simple as people here seem to think.

            Comment


            • #81
              Re: Bugs

              Originally posted by number6
              All this talk about bug free code is kind of amusing. While I am unhappy about the number and type of bugs found in Civ 3, I do realize that bug free code is usually impossible. There are ways to prove a program mathematically correct, called formal methods I think, but these proofs become exponentially expensive to perform and probably are not practical for game development or any commercial software for that matter.
              Exactly correct. Such programs are called verifiers, validators, or model checkers. I've written one, and used a couple of others. There are several major problems with the entire genre, including but not limited to the following:
              • As you point out, the state space grows very quickly to the point where the time required for validation exceeds the lifetime of the universe. It happens sooner than you think. State space explosion is the #1 problem in this field, and quite a few brilliant researchers have spent their whole careers trying to address it...sadly, to little practical avail.
              • Successful validation only proves that the program meets the requirements as given to the validator as input, and that input can have its own bugs.
              • Both the algorithm and the requirements must usually be specified in a validator-specific language, which inevitably means that what you're validating is not the actual running code. The only system I know of that applies serious validation techniques to real code is Dawson Engler's MC, and that technology is still in its infancy.


              I apologize for interjecting a little software-engineering reality into what is obviously a very satisfying (but uninformed) pig-pile, but it just seemed necessary. The perfect is the enemy of the possible, and I'm really big on exploring the possible. Maybe we can get back to something related to games now, instead of pretending to be software-engineeering expert.

              Comment


              • #82
                ALL programms have bugs. Visible or not, there is always a bug.
                Roman: Civilization belongs to the civilized. Attila: It belogs to those who have the power to conquer it. Me: Nope, it belongs to me. Coz ive paid 50 bucks and it has a 30 days satisfaction guarantee.
                Asesino_Virtual

                Comment


                • #83
                  Then again, that's not the issue, is it?
                  I've been on these boards for a long time and I still don't know what to think when it comes to you -- FrantzX, December 21, 2001

                  "Yin": Your friendly, neighborhood negative cosmic force.

                  Comment

                  Working...
                  X