Announcement

Collapse
No announcement yet.

Civ3 from a programmer's perspective

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

  • Civ3 from a programmer's perspective

    For the past several years I have been one of many Civ players who avidly read the Apolyton forums, but remain anonymous. But having read the many raves & rants about Civ3--and the patch in particular--I find myself oddly driven to step forward with some observations about the game, and the developers in particular.

    I have been a professional software developer (manager, designer, & programmer) for almost 20 years now, I believe that Firaxis is getting a "bum rap" in these forums. Allow me to explain:

    First of all, many people fail to understand the difference between a "bug" and a "design flaw". Bugs are when the application fails (crashes) or does not do what it is supposed to, usually with 'undefined results'. A well-documented example in Civ3 is the "Air Superiority" bug: it simply doesn't work. A design flaw, on the other hand, is when the application does what it is intended to do, but this has unforeseen or peculiar side effects. In Civ3 we have the example of "lumber-jacking": the program is working properly, but human players are taking advantage of a flaw in the design. OK, so bugs and design flaws are different...so what?

    Bugs happen. The job of the testers is to identify bugs so that the programmers can replace them with new bugs. The more glaring the bug, the less forgivable it is, but only a handful of the bugs documented in the forums here are serious show-stoppers. How many of you remember "GPFs" or the infamous "BSOD"? Subtle bugs, such as "If I bring up a flyout menu, then use a hotkey, the menu doesn't go away." are harder to find, because testers naturally learn to use the application, and human nature makes it difficult to intentionally do something wrong. Cosmetic bugs like spelling mistakes or mismatched animations/sounds are more of an embarrassment than anything else: they don't (usually) affect gameplay, and are easily fixed.

    Does this mean that the bugs in Civ3 are "acceptable" and that we should shut up and live with them? No...it means that the developer should accept feedback and make an earnest effort to remove them...which is exactly what the patch is intended to do.

    Design flaws are not only forgivable, but in many cases are an inherent part of the process. The design of Civ3 is very complex: there are numerous variables (terrain, units, techs, resources) that interact in an almost infinite number of ways. The human player can play aggressively, defensively, or even maniacally, and the design cannot ever intercede or say "You can't do that." It is this exact "open-endedness" that attracts most Civ players (including me) because we can play the game any way we want to. Consider chess: six "units" (pieces), only one type of "terrain" (square), and no techs or resources at all; compared to chess, Civ3 is horrendously more complicated!

    The creativity and imagination of the (tens of) thousands of players around the world is bound to uncover examples where the design can be exploited. To expect the Firaxis Q&A team to find them first is as ridiculous as it is unreasonable! My spin on Civ3 is that Firaxis concentrated on balancing the game, because creating a system as complex as Civ3 without introducing any uber-units or "sure thing" strategies is difficult. Sid (& others) had to have learned from the CTP fiasco that an imbalanced game won't last very long. Reading the posts in the forums, you can see that no single nationality or unit is clearly better than the others; even prioritizing Wonders generated dozens of posts as to which is better...and why. This (to me) is a clear sign that if nothing else, Civ3 is well-balanced "out of the box".

    So where to from here? My vote is to give Firaxis a break, and recognize them for what they have done: they have managed to create the next version of one of the most complex simulations currently available. They have made an effort to remove bugs uncovered by the user community, and are already starting to improve the User Interface and even resolve subtle design flaws (lowering corruption, et al). From a programmer's prespective, Civ3 is a gem, and Firaxis has already demonstrated their willingness to help polish it into a jewel.

    Cheers!
    Humble Programmer
    ,,,^..^,,,
    Cheers!
    Humble Programmer
    ,,,^..^,,,

  • #2
    Also as a programmer, and not some JavaScript-wannabe, I must echo your thoughts and applaud them.

    I would like to add, however, that i feel Firaxis were rushed into an early release. We both know the scenario was driven by Infogrames and if the boys over at Firaxis are anything like me, they would have been unhappy in releasing the title so soon.

    That side of things is, however, out of their control.

    On the flipside, patches are a means for these guys to correct design flaws and bugs and as long as they stay on top of it, we should be supportive and encouraging.

    Lastly, please note that some of the requests for a 'patch' address design issues that are not easily fixed - multiple nations initiating diplomacy all at the same time, at the same table.

    Whilst a worthy modification - and often something I dream of myself - a level of realism in our expectations would be nice
    Orange and Tangerine Juice. More mellow than an orange, more orangy than a tangerine. It's alot like me, but without all the pulp.

    ~~ Shamelessly stolen from someone with talent.

    Comment


    • #3
      THANK YOU

      for your most reasonable post HumbleProgramme!
      Co-Founder, Apolyton Civilization Site
      Co-Owner/Webmaster, Top40-Charts.com | CTO, Apogee Information Systems
      giannopoulos.info: my non-mobile non-photo news & articles blog

      Comment


      • #4
        HumbleProgramme

        It is really good to see an informed post about this. Too often uninformed posters shout and scream that there unrealistic expectations hav'nt been met and end up blaming FRAXIS for doing a bad job!!!!

        If they had any concept of a commercial development environment they might temper their frustrations slightly with a little understanding and a more pragmatic approach to criticisium.
        tis better to be thought stupid, than to open your mouth and remove all doubt.

        6 years lurking, 5 minutes posting

        Comment


        • #5
          Whenever there is a message board about a game, you will see people whining and ranting. Another fun thing is that you will also see a bunch of programmers, some praising the developers for their good work and others talking about how bad a job they did. Just an observation I made

          I have a sligthly different angle on it, as I work with software testing and QA. Thats right, my job is to break the software or at least try
          So I know how tough it can be to find a bug or design flaw that only pops up in a very specific situation. Sometimes when our department has released something the users and they report back with a bug I feel like smacking my head because I didnt find such an obvious thing during the testing. But no matter how hard you test things, you cant test all the things that thousands of users might do or the order in which they do things.

          Remember: Once someone has told you that doing a certain action or number of actions will cause strange things to happen, it all seems very obvious. But if noone tells you about that bug, you may never find out.
          Imagination is more important than knowledge. Knowledge is limited. Imagination encircles the world. - Albert Einstein

          Comment


          • #6
            Humble Programmer :

            Here, Here!!

            Comment


            • #7
              Re: Civ3 from a programmer's perspective

              Originally posted by HumbleProgramme
              For the past several years I have been one of many Civ players who avidly read the Apolyton forums, but remain anonymous. But having read the many raves & rants about Civ3--and the patch in particular--I find myself oddly driven to step forward with some observations about the game, and the developers in particular.

              I have been a professional software developer (manager, designer, & programmer) for almost 20 years now, I believe that Firaxis is getting a "bum rap" in these forums. Allow me to explain:

              First of all, many people fail to understand the difference between a "bug" and a "design flaw". Bugs are when the application fails (crashes) or does not do what it is supposed to, usually with 'undefined results'. A well-documented example in Civ3 is the "Air Superiority" bug: it simply doesn't work. A design flaw, on the other hand, is when the application does what it is intended to do, but this has unforeseen or peculiar side effects. In Civ3 we have the example of "lumber-jacking": the program is working properly, but human players are taking advantage of a flaw in the design. OK, so bugs and design flaws are different...so what?
              Agreed.

              Bugs happen. The job of the testers is to identify bugs so that the programmers can replace them with new bugs.
              Also agreed but the inherent problem with Civ3 is that the testers and/or the developers didn't have the time to complete their job in a professional manner. A clear sign of a "rush out, patch later" approach (unless the QA failed completely).

              The more glaring the bug, the less forgivable it is, but only a handful of the bugs documented in the forums here are serious show-stoppers. How many of you remember "GPFs" or the infamous "BSOD"? Subtle bugs, such as "If I bring up a flyout menu, then use a hotkey, the menu doesn't go away." are harder to find, because testers naturally learn to use the application, and human nature makes it difficult to intentionally do something wrong.
              That's exactly the reason why testers and not programmers test software. They are getting paid for trying unusual things. No excuse.

              Cosmetic bugs like spelling mistakes or mismatched animations/sounds are more of an embarrassment than anything else: they don't (usually) affect gameplay, and are easily fixed.
              Yep, too bad the at least one third of the fixes listed in the patch update are of this kind.

              Does this mean that the bugs in Civ3 are "acceptable" and that we should shut up and live with them? No...it means that the developer should accept feedback and make an earnest effort to remove them...which is exactly what the patch is intended to do.
              Again, I cannot agree. The patch indeed addresses some major issues like curruption and air superiority but other very important things like the (IMO flawed) combat system, Game play (no warnings prior to AI Wonder Building completion, All AI building wonders almost the exact same turn and always a few turn before you complete it, are not even mentioned. I also find the responses posted by Firaxians very evasive when it comes to issues they are not feeling comfortable about.

              Design flaws are not only forgivable, but in many cases are an
              Design flaws are an indication of a poor design hence the name.(especially after a four your development phase)

              inherent part of the process. The design of Civ3 is very complex: there are numerous variables (terrain, units, techs, resources) that interact in an almost infinite number of ways. The human player can play aggressively, defensively, or even maniacally, and the design cannot ever intercede or say "You can't do that." It is this exact "open-endedness" that attracts most Civ players (including me) because we can play the game any way we want to. Consider chess: six "units" (pieces), only one type of "terrain" (square), and no techs or resources at all; compared to chess, Civ3 is horrendously more complicated!
              The design might be indeed complex although I'm not sure what you were trying to express with the rest of this paragraph.

              The creativity and imagination of the (tens of) thousands of players around the world is bound to uncover examples where the design can be exploited. To expect the Firaxis Q&A team to find them first is as ridiculous as it is unreasonable!
              You tell this your customers as well?

              My spin on Civ3 is that Firaxis concentrated on balancing the game, because creating a system as complex as Civ3 without introducing any uber-units or "sure thing" strategies is difficult. Sid (& others) had to have learned from the CTP fiasco that an imbalanced game won't last very long.
              What CTP fiasco are you talking about? Just because many ppl have a bad habit of bashing CTP doesn't necessarily mean that the game was crap. Firaxis would have been good advised to take a look at CTP especially when it comes to the useability department (can I say stacked unit movement?)

              Reading the posts in the forums, you can see that no single nationality or unit is clearly better than the others; even
              Yeah how ridicolous. Make everything on mediocre mess. Great design.

              prioritizing Wonders generated dozens of posts as to which is better...and why. This (to me) is a clear sign that if nothing else, Civ3 is well-balanced "out of the box".

              So where to from here? My vote is to give Firaxis a break, and recognize them for what they have done: they have managed to create the next version of one of the most complex simulations currently available.
              They have made an effort to remove bugs uncovered by the user community, and are already starting to improve the User Interface and even resolve subtle design flaws (lowering corruption, et al). From a programmer's prespective, Civ3 is a gem, and Firaxis has already demonstrated their willingness to help polish it into a jewel.
              *cough*


              Cheers!
              Humble Programmer
              ,,,^..^,,,
              Yours truely
              Some other bloody developer

              Comment


              • #8
                First, as a fellow software professional I agree with you and we're not gonna talk about how many years

                Second, I've done a lot of software testing, and I must say that Civ3 is one of the more stable products I've seen, especially games. The fact that we're seeing so few "do this and it crashes" reports is a real credit to them. As you implied, the overwhelming majority of issues I've seen about Civ3 fall into the Change Request category and not the Discrepancy Report group.

                However -- bet you felt that coming -- that same perspective means that a have to say that I'm still disappointed in Firaxis' job on Civ3. Oh, I could whine about missing features that I was expecting, but that's not my point. What bothers me about Civ3 is how a fair number of aspects don't appear to have been thought thru and properly playtested. At the top of that list would be the victory conditions. I won't repeat my comments from other threads but I can't think of a feature that ought to get more attention in playtesting, yet these are disturbingly poor IMHO. There are 2-3 other issues that similarly bother me, none are bugs, all are important features that are poorly implemented. These ae a third group -- the design may be fine (determine the design from the outside if the implemenation is flawed, tho') and the code is working, but the result doesn't "work" in the game because it detracts from the fun.

                None-the-less Civ3 is, in my view, an excellent piece of software, not perfect but it passes my "acceptance test"

                Comment


                • #9
                  I feel as though I have to agree mainly with eRazor.

                  Humble is right in that the distinction should be made between faults and failures within software. However, the big problem is that with no real single customer to approve specifications you are bound to get people who regard a specific feature of a peice of software as being a fault when (in the minds of the designers) it isn't. i.e. there is no real acceptance test. Equally for prioritising bug fixes; what do you fix when you have a whole bunch of people all asking for different things to be fixed?

                  because creating a system as complex as Civ3 without introducing any uber-units or "sure thing" strategies is difficult.
                  Have you read the "How to win on Deity" thread over on the strategy section? Rushing/vassals seems to work as a "sure thing" for people over there.

                  Design flaws are not only forgivable, but in many cases are an inherent part of the process.
                  I don't think that's true. A proper design should be checked (reviewed) by at least one other person to ensure that it does solve the exact problem which the specification addresses. That way, before you start coding you know that you are aiming for the correct thing (i.e. functional behaviour). Accepting that you are going to have inherent design faults is accepting (and therefore assuming) that you're not writing software to specification, which is just crazy.

                  From a programmer's prespective, Civ3 is a gem, and Firaxis has already demonstrated their willingness to help polish it into a jewel.
                  Well unless you have access to the source code and design docs, I don't see how you can call it "a gem" from a "programmers perspetive". It may be "a gem" from some player's perspectives, fair enough. Stating that "we" should "give (Firaxis) a break" because in your eyes they are just victims of (their own weak) development procedure is a joke. There is a universal decider of what gets given a break or not - it's called sales product turnover.

                  Yours,

                  Another Software Engineer.

                  Comment


                  • #10
                    eRAZOR: re: not being informed that the computer is about to complete a wonder.

                    It is entirely obvious to me that this is a FEATURE and not a bug. How many times in Civ2 did it tell you they were about to complete a wonder, only for you to rush it and beat them to it.

                    Now the playing field is level. Now we cant "cheat". Now you need to properly investigate the cities to find out if you will build the wonder first, no longer can you wait for the message, and switch your tasks about/disband etc to make sure you build the wonder first.

                    What on earth makes you think it is a bug/problem with the game?

                    Comment


                    • #11
                      At last a thread of sense ..

                      It would seem my fellow professionals are like myself, actually impressed with this achievement .. I was thinking only this morning, how when I first played CIV 1 , back on my Amiga 1200 ... all those years ago, and how many bugs it had.. yet, I have so many fond memories, actual games I can recall from all those years ago. Even more so, I considered how much is in CIV3 which I could have only dreamed of back in the early 90's .. This version of CIV would have blown us all away ..

                      Sure the machines are better, better graphics, faster processors etc .. but the development is a also a thousand times more complicated ..

                      Well done Firaxis, and thankyou for continuing to support the CIV community .. without which .. Apolyton would not exist ..
                      "Wherever wood floats, you will find the British" . Napoleon

                      Comment


                      • #12
                        Well....I'm not a programmer, but I do design games (board games, that get tested out up at one of our local hobby shops).

                        I agree with the original poster completely, and eRazor....yes, I think it's safe to assume that a handful (or even several handfuls) of testers won't be able to come up with as many ideas or ways to stress/break the game as thousands of customers....which I think was the essence of the point of the paragraph you replied to.

                        Also....I'm not sure if it's a design flaw that you don't get a "warning" that an AI civ is about to complete a wonder ahead of you. Since there's no more wonder rushing....what, exactly, would you do with the information anyway?? And, the fact that the AI is out-building you is hardly a design flaw...sorry guy, I can't agree with you on those points. (tho it's not terribly surprising that the AI civs finish their projects very close together, turn-wise. The AI terraforms the same way across all factions, and all factions have the same general they all have a drive to build certain wonders (with some civs being given different priorities, as I understand it).....so yes....since they're all driven (as are you, the player) to build wonders, it's no surprise that they tend to start as soon as they can, and, since the terraforming tends to run in a similar vein, it's also no surprise that they tend to finish at around the same time. And this is a design flaw because......?

                        The CtP fiasco the poster was referring to, IIRC, had something to do with some units in the game being nearly useless, while others were show-stoppingly powerful and had no counter. True, in Civ, you've got some useless units (Privateer!), but, post patch, it's at least good for something, and there aren't any units that are completely overpowered to the point that they wreck game balance. At least not that I have seen.

                        The complexity paragraph: What I got out of it was simply that, the more complex the design, the harder it is to spot "bugs" (if you do x, y, z, and then r, q, p, and t, while thinking about doing l, and on alternating Tuesdays, the game will crash.

                        Chess don't do that.

                        LOL @ your "make everything a mediocre mess" comment. That's not what the original poster implied, as I'm sure you're well aware. What your comment seems to imply though, is that it would be superior game-design to give some Civs overwhelming advantages, relative to others....ummm...ya....THAT'd be a fun game to play.....

                        Just some observations from an "old-style" game designer and writer....

                        -=Vel=-
                        The list of published books grows. If you're curious to see what sort of stories I weave out, head to Amazon.com and do an author search for "Christopher Hartpence." Help support Candle'Bre, a game created by gamers FOR gamers. All proceeds from my published works go directly to the project.

                        Comment


                        • #13
                          Hi Velociryx (thank god there's copy'n paste feature

                          Originally posted by Velociryx
                          Well....I'm not a programmer, but I do design games (board games, that get tested out up at one of our local hobby shops).

                          I agree with the original poster completely, and eRazor....yes, I think it's safe to assume that a handful (or even several handfuls) of testers won't be able to come up with as many ideas or ways to stress/break the game as thousands of customers....which I think was the essence of the point of the paragraph you replied to.

                          Also....I'm not sure if it's a design flaw that you don't get a "warning" that an AI civ is about to complete a wonder ahead of you. Since there's no more wonder rushing....
                          That is exactly my point: It occured to me many, many times that a few turns before I was about to finish a wonder, almost each and every other AI nation completed that wonder at the same turn. How would you call that? Perhaps wonder rushing?

                          what, exactly, would you do with the information anyway?? And, the fact that the AI is out-building you is hardly a design flaw...sorry guy
                          See above. I didn't complain about the AI outbuilding myself.

                          , I can't agree with you on those points. (tho it's not terribly surprising that the AI civs finish their projects very close together, turn-wise. The AI terraforms the same way across all factions, and all factions have the same general they all have a drive to build certain wonders (with some civs being given different priorities, as I understand it).....so yes....since they're all driven (as are you, the player) to build wonders, it's no surprise that they tend to start as soon as they can, and, since the terraforming tends to run in a similar vein, it's also no surprise that they tend to finish at around the same time. And this is a design flaw because......?

                          The CtP fiasco the poster was referring to, IIRC, had something to do with some units in the game being nearly useless, while others were show-stoppingly powerful and had no counter. True, in Civ, you've got some useless units (Privateer!), but, post patch, it's at least good for something, and there aren't any units that are completely overpowered to the point that they wreck game balance. At least not that I have seen.
                          Perhaps we can agree that as long as the game is fun to play certain balancing issues become less important. All I can say is that I and a good dozen of other Civ2 veterans enjoyed CTP and CTP2 a lot and played it for years on the other hand I'm the last remaining of the bunch that hasn't given up Civ3 yet. If I had fun I wouldn't complain but unfortunately that's not the case.

                          The complexity paragraph: What I got out of it was simply that, the more complex the design, the harder it is to spot "bugs" (if you do x, y, z, and then r, q, p, and t, while thinking about doing l, and on alternating Tuesdays, the game will crash.

                          Chess don't do that.

                          LOL @ your "make everything a mediocre mess" comment. That's not what the original poster implied, as I'm sure you're well aware.
                          Sorry, I was serious.

                          What your comment seems to imply though, is that it would be superior game-design to give some Civs overwhelming advantages, relative to others....ummm...ya....THAT'd be a fun game to play.....
                          I don't want to turn this thread into another discussion about the combat model - we've got dozens of those.

                          Just some observations from an "old-style" game designer and writer....

                          -=Vel=-

                          Comment


                          • #14
                            I think a further distinction has to be drawn in the "design flaw" category between unintended game exploits and subjective design decisions.

                            What's the difference?

                            I consider an unintended game exploit to be something like the "Trade all your techs and gold for a single city, no matter how many times I take the city right back" flaw, or the "Plant and Harvest forest every turn to overcome corruption" flaw. These aren't bugs, in the sense that they don't crash the game, and are working as they were designed to work - it's just that the designers didn't account for all the implications of the way the features would work.

                            I consider the debate about the corruption system [in either its tweaked or untweaked state] and the combat system to be purely subjective arguments. Why? Because I like the corruption system and the combat system. As soon as someone likes either of these, disagreements over the design are immediately rendered subjective.

                            A game isn't buggy or shoddy work just because you subjectively don't like it. If a patch changes one of these features, it does not mean that the designers decided in retrospect that their original work was shoddy or buggy - it just means that they decided that their knowledge of the game market led them to believe that more people would reach a particular subjective evaluation than that evaluation's alternatives. If you didn't like the corruption system, the appropriate reaction about seeing that system adjusted in the patch isn't "Those Firaxis ****ers, they released a shoddy game, and the fact that they are changing the corruption system in the patch means that they're admitting it!" It should be "Wow, good thing a lot of other people felt the same way about corruption as I did! That induced Firaxis to change the game to make it more the way I would personally like it!"

                            Comment


                            • #15
                              You forget the most important thing DEADLINES!

                              I work in the software programming industry. When I first started a few years back I was planning on making everything perfect.
                              But nobody is willing to pay or wait for the perfect product, thats life. So after a while you realise you can't fix everything so you do your best and try to meet the deadline, which is the most important thing for the people that buy your product. Time is more important than perfection thats how it is.

                              Now to CIV3 problem.

                              1. Features missing: Why?... Deadline.
                              2. Not enough testing: Why?... Deadline
                              3. Design Flaws: Why?... Deadline takes along time to fix.
                              Important on Design Flaws..
                              (One thing people have to realise is that some design flaws are not really flaws but how the developer wannt the game to run and many people agree on their decission and some do not, its the same thing with all games, we do not like the same games. I do not like Quake games for example but i like Ghost Recon, same genre but diffrent in design) Just buy the ones you like.

                              I agree that the Deadline imposed by Infogrames was way to
                              optimistic for a game of this complexity but that happens. (Been there done that)

                              Its all about making money and finishing on time. Thats it.

                              I think firaxis is doing everything that they are obliged to.

                              People need to realise its just a Game not the perfect game.
                              Have fun with it as it is, chill out. Its a good game better than
                              most games if your into strategy.

                              One more thing.
                              Even the creation of you and other people have some bugs and design decision gone wrong aswell, like Osama Bin Laden. And nature have tried for over 4 million years.

                              For you that know about implementation projects in the real world
                              this is a common thing that happens. First the developers promise a great project that will fix everything when the customer gets the program. When the customer get the program the customer miss some things that they had expected. The relation goes bad. The developers try to fix and add everything and fix it, relation ship goes up. If the developers abandon the product like acticvison with CTP you lose the customer. Thats how it works.

                              Real world suck but we have no other world!

                              One thing these people that complain tell firaxis is how popular the game is. Otherwise they would not bother about complaining..

                              /Mathias
                              "Calm down and have fun and tell firaxis what to fix"

                              BTW. I wannt that patch and more patches to fix the editor.

                              Comment

                              Working...
                              X