Announcement

Collapse
No announcement yet.

Attn: Code warriors -- Social Model -- OOA

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

  • #16
    F_Smith:

    Thanks for plugging away at this The framework looks good, at least on cursory inspection. BTW there is a code tag you can put in your post so that the indentation doensn't get lost. It works like this IIRC(remove all . I put . in so it will show as text)

    [.code.]
    code goes here...
    [./code.]

    Code:
      
    ...
    void doNothing(){
         {;}
    }
    ...
    should maintain the spaces before the {;}

    On your second post, Rodrigo decided that all social classes (upper class, etc. in govt model) share the same culture. I agree with his decision. It could be the way you suggest, but it would make an already complicated model even moreso... If you think gameplay would be much better using the more complex approach, you can raise the issue in the Govt thread...
    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


    • #17
      Thanks for that tag, Mark. It'll make this easier to read, for sure!

      Well, this social class approach is actually built into the code already, but if has been decided against using this for the basic game, so be it.

      I will keep it in as an option, tho, for game designers who want to customize social classes in a scenario . . . since they're the only ones that have to mess with this.

      The player won't have to deal with it, since it will all be transparent to him. All the player will see is that people act differently, depending on the culture they're steeped in. Priests and warriors will not want the same things. And I like the idea that you might be forced to balance the wants of your people like that.

      I'll throw some more code up tonight, and perhaps even put the demo up on my web space.

      Comment


      • #18
        Feedback wanted, please:

        Clash Object/Scenario Editor, Mark I
        http://home.austin.rr.com/lostmercha...ashEditor.html

        Just a test for compatability. Please hit this page, and if you experience any errors or bugs, post them in one of the 'coders' threads.

        Not any real functionality yet, other than being able to add a basic 'Ethnic Group' to a few basic 'MapSquares'. But updates coming along soon.

        Comment


        • #19
          Mark's comment, "Rodrigo decided that all social classes (upper class, etc. in govt model) share the same culture." is not entirely accurate. It is so, but at a "philosophical" level, if you want. At the practical level, some classes need cultural traits to build their mentality. UC and LC use the majorities culture (MCA), which is a merging of cultural attributes of several EGs. The Religous Class uses cultural values merging majorities culture and the religion culture. The Bureaucratic Elite (BE) uses no culture at all. Its mentality is built using the govt profile info. As for the military class, MC, it uses LC and UC mentality plus info from the ruler's govt profile. So, again, it doesn't have a culture either.


          Some comments on the code you posted: I understand very little, but:
          1) We don't need a primitive religion object. One of the most important implications of the model approach is that primitive religion's traits are exactly equal to the EG's attributes that follows it. Having primitive religions as objects will double the number of objects in the game with redundant info.

          2) You said "we will have 'EthnicGroups' that will hold a pop number, EG name, Religion object, Culture object, 'TendencyValues' object, and one other grouping of related vars. Each 'MapSquare' will have a collection of 'EthnicGroup' objects."
          This is too much info at the mapsquare level! A mapsquare must have a "pseudo-ethnic group" object with nationality name and population only. All the info you grouped in the EthnicGroup object is fine, but at the civ level.

          The two comments I made here are of huge importance to keep the social model simple and avoiding it to consume a lot of resources.

          Comment


          • #20
            Hi, Rodrigo:

            I'm about to begin putting in some 'SocialClass' stuff into that Beast, so perhaps after it's in it'll be clearer what I'm talking about. It's often easier to see it in action than it is to understand how an object design will work.

            I completely agree and understand about your first bit. That's what is built in to the code now -- you can assign where each 'SocialClass' gets it's influence from. For convenience's sake, the code calls any 'influence' a 'Culture'. Which is why the Govt will have it's own 'Culture' which the BE class will use. The 'MCA' is a 'Culture', for the UC and LC (and perhaps the Middle-C?). And the Military's unique attitude is a 'Culture', for use by the 'MC'. From the code's viewpoint, anyway. But I love the implication, too . . .

            About your specific comments:

            1) Mainly, this 'PrimitiveReligion' object is for designing and loading religions from a file. It is necessary. At most, I can't imagine a world with more than 40 or 50 different 'Primitive Religions', unless you're going to seperate the religions by specific Deities, not types. Altho a Scenario designer could do that, if they chose, I suppose. But even so, it won't require much memory at all, merely a few kbytes at worst.

            2) Each MapSquare will have to keep seperate the EGs in it. We will have to 'loop thru' population objects in each mapsquare for various reasons in game-flow.

            Say you raise Taxes. Then every population group in a mapsquare must be 'processed', if that makes sense, if only to get their new tax contribution. Or perhaps to get their cultural reaction to higher taxes. Or for a million other reasons. It can't work any other way.

            I think the Beast (the Object Builder) will help to put us all on the same page.

            Thanks for working on this with me, tho. Discussing it with you makes me rethink some of my basic assumptions. And I guarantee you I've misunderstood something, somewhere!

            Everybody's wrong about something.

            Comment


            • #21
              Oops -- that reply was to your post in the other thread.

              I'm getting confused -- should we consolidate this into a new thread?

              Comment


              • #22
                If I insist on things, it's just my coding ignorance, so be patient, alright?

                "the code calls any 'influence' a 'Culture'"
                Alright. I'll keep that in mind.
                -------

                "'PrimitiveReligion' object is for designing and loading religions from a file"

                There're no primitive religions to load. Primitive religions are just a model's "trick". They don't really exist, and the model does nothing with them, ever. That's why the code should not have them either. In the model, an ethnic group "is said to follow a primitive religion", but that's it. No traits or anything is ever needed for them. What really exist are the GRW and they can be loaded from files and anything you want.
                -------

                Looping thru: OK, I understand your thinking. Two thing to say, then:
                1)Don't start coding any "loop thru procedures" without telling me what actions you're envisioning in them. ok? I have the feeling you envision a lot of calculations at the mapsquare level, while I believe there're almost none.

                2)Just to rephrase and insist on something I've said: the objects EthnicGroups in the mapsquare are holding too much info. Imagine just 3 EGs per square with all that info... it is a huge amount of info for a whole planet! (and much of it, redundant)To link this with 1), if you feel this info is needed at the mapsquare because of the "loopings thru", I must insist that practically no calculation is needed at that level. Things like revolts or other things you think can happen with EGs will happen at the province or civ level.
                I'm really affraid about the amount of memory needed if traits and all is stored at mapsquares.

                Comment


                • #23
                  YES! let's unite threads. After all, you're coding things at the same time and within the same framework, which I believe will perfeclty give room to the riots model coding later...
                  Just pick one of the threads and leave the other (or start a new one). I'll follow you...

                  Comment

                  Working...
                  X