Announcement

Collapse
No announcement yet.

Population and Demographics

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

  • #61
    Richard:

    Outstanding. Really, Richard. That's one of the most concise and useful test cases I've ever read. I can work with that. That's a perfect test case. You win the cookie.

    I love the definitions at the top of the case, too. That way, I don't have to go look up anything, it's all there.

    Okay. I'll code this up starting tonight. Once I produce the first alpha in a day or three, ya'll are going to have to be available to bang around on it and tell me where I screwed up, so don't go to Fiji or anything (unless you take me with you).

    Also, since you seem to be our resident expert in making test cases, you might organize/help the other models begin to put theirs together. Next will probably need to be 'resources', so the 'ecology' model sounds like the next logical step. Then, perhaps, the 'economy'?

    Comment


    • #62
      Hi Richard:

      It may not be critical at this stage but... One thing I think you need for the test case is adjusting birth rates, aging rates etc. for the turn length. Since the turn may be 5 yrs or 1 month. I think its best to get this in on the ground floor since the model parameters should probably be defined for a fixed timespan, like 1 year, but the turns will be of varying length of time.
      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!

      Comment


      • #63
        Richard: Your glossary for this model is excellent. I feel I understand much of what the model does and I haven't read the detailed model!


        A couple of points regarding your tests related to the social model:

        1- Please forget about the fertility vs celibate thing for the moment. I consider it a detail and I would never include it. Of course some day in the future we can talk and see if we want it, but since I don't have anything like that in the social model and you'd push me to include it with your test, I ask you to please leave it.

        2- Your model should look at EG's cultural profile and not to religions directly. Culture already takes into account religion factors, so the correct way to do it would be IMO to look at culture values.

        3- Aggressiveness (0-100) is the cultural attribute your military fitness factor should take into account.

        4- Individualism and/or Asceticism (both 0-100) are the attributes you should use for your EP variable.


        Good job.

        Comment


        • #64
          After I posted the above, I realized Mark was calling for a special look at this model. So, I read the entire thread including the post where the model is detailed.

          My opinion: The model looks great for what it was meant to be. That is, it allows huge flexibility and the possibility to play very detailed games, sci-fi stuff and so on.

          My pick for the default game: Mark's choice.

          The one thing I'd get rid of: "Derived" races. I think it will show to be hard to model in terms of equations. Just a guess.

          You don't need to answer this post. This is just my taste. I don't see nothing wrong with the model, so I'm for the "go code"!

          Comment


          • #65
            F_Smith, listen to Rodrigo for all the social model details. He obviously knows a lot more about the system, and the population model can be flexible.

            Rodrigo, is there any combination of existing cultural attributes that could be used to determine birthrates?

            I think we should go ahead and make and test the detailed system now, even if we will probably decide to use the simple one on the default game.

            Perhaps we could have the following demographics detail level options in the game:

            0: No demographics, for battle scenarios
            1: Simplistic headcount system, like civ2
            2: One cohort, medium functionality
            3: One cohort per gender, full functionality
            4: Full Multi-cohort system

            Of course, this system allows people to design any detail level they want for scenario purposes.

            F_Smith, would it be too much trouble to include the full editor, with the ability for the tester do define any cohort system and attribites? That way testers could define things themselves and we could see how flexible the system is.

            Comment


            • #66
              I have a few remarks to the this model:

              quote:


              Like other types of death, war deaths will also happen every turn but their effect on the demographics cannot be calculated until the model is run. Demographic data is only updated every C years.
              When people die every turn and the model is not run every turn, we could run into problems. A possible solution is as follows:
              The calculations run in the model are assumed to be a summation of the previous C years. Therefore, we can assume that the deaths happened in the middle of the C year time span.
              The total number of deaths per cohort is calculated. Half of these deaths are taken out before the calculations, the model runs, and the other half are taken out of the new cohorts.
              After thinking about this solution, I have decided that it should work but I have no way of mathematically proving that it will give good data. This is the weakest area of the model, so if someone else has a better idea here it would be appreciated.



              This is actually exactly how it is done in epidemiological research. It works - it is not weak!

              I see a potential problem in running gender-specific cohorts. The reproductive capacity of one cohort would then depend on what is going on in other cohorts (enter doctor modeIn general terms it takes a man to get a woman pregnant, you know exit doctor mode ). So if all male cohorts were empty, female reproductive capacity would be zero. IOW: It is without meaning to asign a reproduction average of females; it depends on the number and reproduction average of males. How to put it OOwise: The data is not encapsulated?
              One way of solving this is to assume that females mate males of a similar age, combine them into one cohort, and give a description of the gender distribution in the combined cohort. The reproduction would then be determined by the number in both sexes. If you want to model gender specific mortality, you would have to have a male-mortality and a female-mortatlity. And similar for other variables you would like to be separately modelled for each sex (like military and work-force). I realise that this is not as flexible as the system with gender-specific cohorts, particularly if you want to have more than one 'gender' or type (the insects).
              Another way around this is keeping the gender-specific cohorts, but making reproductive capacity an attribute of the population object in stead of the cohort object. It would then be calculated as a function of the mix of different cohorts. Just like the economic potential and the military potential.
              Or we could put another layer in the object hierarchy, combining the two approaches: An EG has a mixcohort has a gendercohort. The mixcohort would then have methods of calculating a reproductive average based on a base reproduction number, and the relative distribution number of males and females in the gendercohorts. Overall reproduction is then calculated as before, based on the mixcohorts. Genderspecific values of military capacity etc could still go in the gendercohorts, and it would be relatively easy to add more 'genders'. For simplicity I would recommend that the newborn are divided equally between the two gendercohorts (IRL 51% of newborns are male, but boys have slightly larger infant mortality, so that when they reach their reproductive age the genders are of equal size).

              Richard you mention that soldiers at no point will be taken out of the population. I think the recruitment of soldiers require some more thought. Sometimes a major part of the male population of a province would be assigned to military duty far away. It seems unreasonable to include them in the province-population. There are several implications of this, that we should address at some point, but now is probably not the time.

              I like the way of calculating L, becasue it is similar to the way sites are handled.
              Labor = manpower * working efficiency
              Sites = acreage * fertility
              This gives a certain symmetry, although in the case of sites the calculations are assumed, never performed. Why is that Mark? Could you give a shot at this in the Basic OO- thread
              Civilisation means European civilisation. there is no other...
              (Mustafa Kemal Pasha)

              Comment


              • #67
                I almost forgot:

                In general I like the idea of the full demographic model. It is detailed, but it is not detail that requires the attention of the player. Most of the time the demographic info will only yield flavor to the game, being outside the player's direct control. In terms of reproducing the effects of having large parts of the male population on a war footing it certainly has potential.

                If the computations aren't too heavy, by all means go for it.
                Civilisation means European civilisation. there is no other...
                (Mustafa Kemal Pasha)

                Comment


                • #68
                  Beör, thanks for the analysis. A couple points:

                  I was certainly planning on having births depend on both genders. Basically, the model would multiply the population and RA for each gender, and the number of births is the smallest value of the two. So if there are no males, then the smallest number is zero and nobody is born. I think this would easily give the proper result without mixing the cohorts or creating more objects.

                  Test Case #6, Births:

                  Allow the tester to manually alter the population and RA of the two genders and see what happens as a result. The model should give a reasonable number of births.

                  I already changed my mind about the soldiers. See test case #2. When I first built the model, I assumed that all soldiers would be garrisoned in their province of origin. But then I realised that was a silly assumption, so I decided to take them out of the population at unit creation.

                  I also think that the complex system would make the game better without creating any more complexity for the player. There is no way to micromanage any of this even if the player wanted to. This model is almost entirely run by other game data, and is not under player control.

                  Comment


                  • #69
                    Richard:

                    Well, you "guessed" right. You have a perfect understanding of what's needed for a test case. Maybe your coding experience makes it second nature for you.

                    As far as equations, first do what you have there, exactly as you have in that 'test case 5' example.

                    That's perfect.

                    And yes, the editor will end up complete. You'll be able to define any game object in it.

                    I had a good, productive night last night. Another day or two, and we'll test play this.

                    Good job, everyone!

                    Comment


                    • #70
                      Hi All! Excuse me for dropping out of Clash the last couple of days. I felt a little bit lost in all this discussion. Normally I would have had pages of comments to post, but whenever I tried to write something, my mind seemed to black out and no useful thoughts would come up.

                      Apart from this, I kept myself busy Playing SimCity 3000, which btw is not at all as complex as Clash will probably be. What caught my attention in SimCity 3000 is the dynamic relationship between population (workforce) and industry (jobs). Since people and industry are free to move in and out of the place at will, when the jobs are more than the workers, people move in and industry moves out. Because of the existant inertia in construction of residential and industrial buildings, this results to the opposite extreme; when workers are finally in, industry is already out. So the game keeps bouncing back and forth, giving me fluctuations of up to 40% We definitely don't want that to happen with Clash; fortunately Kapital is bound with population so (correct me if I'm wrong) this dynamic effect will no occur.

                      To the point now, which is a reply to the discussion about Labor computations: In the govtecon spreadsheet I had broken the 1-1 analogy between #of_people and L (labor units) by introducing WH (Working Hours) and l (labor per capita). I also had used AP (Active population percentage) to represent demographics. AP and WH were different for each SEC (socioeconomic class), resulting to a different l for each class (there was one base WH and AP for the LC and all the others were derived from it, with various modifiers such as EP, SP, SL). I had assumed an equal quality of work for everybody. All this would happen at the level where the econ model was run, for the specific EU (Economic Unit: civ, province or square).

                      The most straightforward thing to do (I feel F_Smith would agree with this) is make a computation for each EU*EG*cohort*SEC as follows:
                      Labor=Number*Active*Quality*Quantity
                      Number=Number of people in the given EU*EG*cohort*SEC
                      Active=f(BaseAP, SEC, EU)
                      BaseAP=f(EG, cohort)
                      Quality=c(EG)*c(SEC)
                      Quantity=f(BaseWH, SEC)
                      BaseWH=f(EU)

                      f is a given function each time (you can find the proposed functions in the govtecon spreadsheet), while c is a constant

                      Of course aggregations can be used too, if the computations are too heavy. So, what do you think?

                      PS: I have just learned that my semester starts Monday, with a heavy 36hr/week schedule. This will probably mean that I will continue keeping a low profile for the next month. Who knows, this maybe positive, in the sense that it will speed up my productivity, which is at an all time low right now; but it will probably take most of my time though. I feel quite pessimistic however.
                      "In a time of universal deceit, telling the truth is a revolutionary act."
                      George Orwell

                      Comment


                      • #71
                        Richard - the OO-wonder-boy

                        Re genders

                        Sold

                        Re recruiting military units

                        Sorry I overlooked test case 2

                        But are you sure you want to model this at this point? It could easily be added later. (Looking over the shoulder: 'Right F_Smith?')

                        If we decide to model it now, we would have to decide what happens with the oldest cohort in the troops EG. They should retire from service at an appropriate age, and the ranks be supplemented with people in the lower cohorts.
                        In fact the lower cohorts should be 'derived' as a part of the general population's cohorts. The oldest cohort 'derive' into a matching cohort in the general population.
                        Should these recruits be taken from the square that the unit is in, from the square of origin of the unit or from somewhere else. And to where should we return the veterans.

                        I think we should postpone this! Demo 6 perhaps?


                        Rodrigo

                        I think the derived cohorts are much more useful than you think. See above.


                        Axi

                        Siiiim Ciiity Haaaaa Kids stuff compared to our undertaking.

                        I am not sure I understand your L-thing. But then I admit I haven't had the time to study the GovEcon spreadsheet in detail. Do you think we should use that model or should we stick with the present one? Are the two in conflict?
                        Civilisation means European civilisation. there is no other...
                        (Mustafa Kemal Pasha)

                        Comment


                        • #72
                          Guys:

                          Before you worry about troops aging at similar rates with the populace, please remember that we can have an econ turn frequently representing a different amount of time than the military action that happens in that same turn. If you age troops at the same rate as what happens in the economy, your new group of strapping lads in your legion will be middle-aged and paunchy before a few turns go by. And not much longer than that pfffftttt .

                          [This message has been edited by Mark_Everson (edited September 28, 2000).]
                          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!

                          Comment


                          • #73
                            I think we can fudge the military problem by assuming that the troops will always be a certain age, and that replacements are automatic. This is easy to do in the single cohort model that lumps all ages together. We simulate the drain of healthy people by simply keeping the man-hours figure lowered while that unit is active.

                            For the multi-cohort plan, it is a little more complex. Every turn the demographics recalculates, we would take the people out of the military age cohorts and put them back in the older cohorts.

                            For example, assume 1000 troops were taken from cohort 5 (20-24 year olds). The next time the model recalculated, 1000 people would be taken out of cohort 5 and 1000 people would be returned to cohort 6 to simulate the retirement and replacement of soldiers.

                            Comment


                            • #74
                              That's fine if the soldiers are at home. What if they're not? I think it is simpler just to let the soldiers age at somewhere TBD between the military timescale rate and the econ one. That way units couldn't march around the world in ancient times which is something that civ is ridiculous about. That's what seems best to me, but we've got lots of time to work out the details...

                              Also, it may not be a big deal anyway, because civs generally only have something like 1% of pop as troops. (barbarians/nomads can generally field more) Its only in cases like the South in the civil war where the recruitable manpower of a civ gets to be a serious limiting factor IMO.

                              [This message has been edited by Mark_Everson (edited September 28, 2000).]
                              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!

                              Comment


                              • #75
                                I thought units always had to be supplied by the civ, so they would never really be out of contact and on the other side of the world. The population replacement would work as a part of the supply and upkeep process.

                                If a unit is supplied by the civ, it is in contact and can recieve reinforcements. And if it isn't supplied, it will collapse long before the soldiers get too old.

                                Isn't that how you were doing supplies?

                                Comment

                                Working...
                                X