Announcement

Collapse
No announcement yet.

Article on "Controlling Chaos in the Development Process"

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

  • Article on "Controlling Chaos in the Development Process"

    I found an article called Controlling Chaos in the Development Process that I found interesting. It's about company-based game development, but still some of the recommendations could apply to the Clash project also. I don't have time to comment at length on it now, so I thought I'd just put it up here in case anyone was interested.

    Mark
    Project Lead for The Clash of Civilizations
    A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
    Check it out at the Clash Web Site and Forum right here at Apolyton!

  • #2
    We seem to have most of the problems listed in this article. Perhaps we should all read the article and see what we can do about lessening our chaos.

    Comment


    • #3
      Um --

      This guy is locked in the old 'design doc then code' model (as has been tried here). So it's no surprise he ran into the same problems,

      All of these problems are *caused* in large part by procedural thinkers trying to forcefully seperate 'design' and 'development'.

      Many 'old style' coders were taught that they should:

        [*]Design an entire system, heavily documented.[*]Develop that system according to the design doc, debugging as you go.[*]Release.[*]Change the design doc to reflect what actually got coded.[/list=a]

        This fails every time (as it's failing here), yet they never seem to blame the methodology they were taught. It's slow, not programmer friendly (the programmers get no input into the design, for Christ's sake!), and the finished product *never* ends up what was coded in the design doc anyway.

        'Prototyping' has become the OO design methodology that solves *all* of these problems. It's also known as 'extreme' programming.

        In real life, design and development are done in 'iterations':

          [*]Design an infrastructure.[*]Develop, code and test that infrastructure.[*]Release, debug and refine the infrastructure.[*]Design the first feature.[*]Develop, code and test that feature.[*]Release, etc.[/list=a]

          It's faster, produces better code, stronger systems, is extremely programmer friendly, and on, and on.
          I'll try and find a few articles on that tonight.

      Comment


      • #4
        F_Smith: Whatever I say in this post, please don't get offended!

        Here I go: Aren't you tired of always saying the same thing? I think the point you're trying to make is clear to us. Now you're forcing me to repeat what I have said before: Unfortunately, we can't do extreme programming by ourselves. All the prototyping I can do is in a spreadsheet, which, although much better and faster for modeling than paper and pencil, cannot be compared with working code. It is clear that we need devoted programmers to proceed properly, in either way of development, since even the model first - code later method has reached a stage where the first part is completed ages ago and we are into the deadly loop of endlessly refining and complicating our models.

        But then I see all progress on the Beast having stopped. What started as a Scenario Editor and was going on pretty swiftly as the societal part of the game has not been updated for a while and, consequently, the related thread was abandoned too. I don't know if you have put any work in the Beast this last couple of weeks. I couldn't have known, since you have not posted anything about it.

        All this makes me more and more confident that there is no room for people other than coders and artists in this (and any such) project. When one is incapable of giving flesh and blood to his ideas, one is reduced to the status of playtester.

        So, instead of ranting about the lack of prototyping in Clash, perhaps you should get back to work on your own prototype. We're here to help you. I have so many questions about it:

        - What happened to the new test cases you were going to present?
        - Are the two alternate political systems fully implemented?
        - If not, what missing from each?
        - Isn't it about time to prototype the riots model, so that we can have a more complete image of the political game?
        - How would you go on, concerning the merging of the beast with demo 4, especially with the map code? When do you think the Beast will be able to display the real map?
        - Is your XML parser working alright? Can everything in the current datamodel be saved from and loaded into the Beast?

        I repeat, please don't get offended! this is not my purpose. I'm only trying to get our forum discussions on to something useful.

        ------------------
        "In a time of universal deceit, telling the truth is a revolutionary act."
        George Orwell
        "In a time of universal deceit, telling the truth is a revolutionary act."
        George Orwell

        Comment


        • #5
          I believe I've also said this before. We only seem to have at most three part-time programmers. Extreme Programming requires many full-time programming teams to produce the rapid prototyping results that make it effective. It seems to me that any method we use will flounder if coding gets done so slowly.

          Besides, we might have unreasonable expectations of speed. Civ 3 has been in development for longer than this game, even though they have dozens of full-time employees working on it and it is undoubtedly less complex. Personally, I think it will take about three years to finish this if progress goes at a good pace.

          Some quotes:

          Richard Bruns:
          quote:


          There is a vicious cycle that determines the actions of model designers:

          1) We design a simple model.
          2) We get bored because the model doesn't get programmed.
          3) To relieve boredom, we add more features to the model or make new models.
          4) Extra features and models scare off potential programmers.



          Druid2:
          quote:


          My background, which colors my viewpoint -- 20+ yrs in software design and, yes, even some actual programming -- accordingly my questions are directed at what I see in that field.. or dont see.

          Overall: this looks like a difficult project to accomplish for 2 reasons: Scope of the project, and dispersal of the programmers.


          quote:


          This is a 5 year project for a game company..


          I think Druid2 knew what he was talking about.

          Comment


          • #6
            Axi:

            There are two govt models completely coded (the 'simple' version where the ruler simply sets the policy levels and the 'default' system) -- with the exception of finishing up the 'ideologically negotiated policies', which have some dependencies on all this 'ethnic group' discussion going on.

            The third, the 'politics' game, is about 80% coded.

            I have not typed up the next 'test case', altho I should do that.

            The reason there's been no progress on expanding the beast is because of the difference in architecture between the beast and demo 4. As I said, these models I'm coding have dependencies on the 'population' model, which is what I feel we're focusing on now.

            Once there's clear direction on how I should proceed, I will. Right now, there seems to be a lot of resistance to the basic architecture of 'ethnic groups'.

            In answer to your questions:

              [*]My bad, I will try tonight to type up the test case.[*]Yes (simple), yes (default), and mostly (politics).[*]The default system has not got any equations for 'ideologically negotiated policies', and it hasn't got any equations for people selecting ideologies. The code has them look at the ideologies (figuratively), but nothing yet happens.[*]I can't really go on adding more models to the beast until I do a more thorough job with the 'ethnic groups' object. And that is obviously up in the air.[*]That's what my real focus is right now, to be honest. I feel we should create a 'Demo 5' prototype with the new architecture. This should start with map, resource and population code -- including the real map graphics.[*]The XML parser works for loading everything. That's how I currently load everything into those scenarios -- if you look at the directory under the beast's main page called 'scenarios' you'll see the scenario files. I tend to just type the XML rather than use the beast to write it out, so I'm not sure how much of the 'save' code is current, altho it's 90% done, for sure. And finishing that won't take but a few hours.[/list]

              * * *

              Both:

              Extreme Programming assumes that there will be 2 development teams working hand-in-hand -- a 'technical' team and a 'business' team. The 'business' team provides the 'business logic' (game logic, in our case), using feedback from the programmers on how to best do things.

              We must work together.

              Ya'll must learn to ask programmers before you make technical decisions like "this will take too many clock cycles", or "that should be done at this level". You can still make any decisions you want, you just have to ask the technical people for feedback.

              You've had programmers come here besides me, and offer this feedback. Ya'll ignored/rejected our feedback entirely. The threads 'Technology System Version 5.x' is a great example -- the problems with the tech system were pointed out back in FEBRUARY. I was told by Mark that he supported the current system, and it would not change. Now we've wasted half a year.

              And that's just one model.

              * * *

              Richard:

              Maybe they're right.

              Then again, you saw how long the 'govt' model took. About a month of coding part-time.

              And the govt model is perhaps the most complex model we have to do, with the possible exception of the 'ecology' and 'economy'.

              Besides, using a prototyping approach we'll have a working game in a few months, altho it won't be 'gold' (100% finished) for years -- because we'll be refining/debugging/adding features and new models.

              So 5 years for a 'gold' version is possible.

              But we're playing by new rules, ones the old-style game companies haven't yet learned.

            Comment


            • #7
              Catch-22: Model discussion is currently too chaotic to properly discuss this issue.

              I'd like to talk about this when the other threads are not buzzing with so much activity. But I can't spare the brainpower to do it now.

              Comment

              Working...
              X