Announcement

Collapse
No announcement yet.

Coding the "Society Model"

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

  • #91
    I think the way an ethnicity likes a civ is something we must have, and totally disagree with the fact an ethnicity comes to like a civ as time passes by. They should prefer one civ or another, but not be loyal as a function of time.
    Plus I want to be able to levy troops immediately, even if they will turn back against me when facing some of their own (that is what happened during Renaissance with Swiss: they'd never fight other Swiss, so you had to hire more swiss mercenaries than your opponent if you didn't want to see all of them against you). The reliability of the troops should vary based on ehtnicity.
    You can always force people to take arms and go to fight. That can adversely affect their morale, and they may use their weapons against you, but I think it is more interesting to allow levying troops immediately rather than wait for a hard-to define period of time. The loyalty function of time would be good if we did want to make it time-wise, but I don't like it. I want my armies to revolt against me because they are made of untrustworthy ethnicities (I think that is more or less what happened to Hannibal at Zamua where some of his cavalry changed sides, though I am not sure - see also William's battelplan at Hastings, where he put the less trustworthy troops in the center so they'd be less inclined to flee).
    Clash of Civilization team member
    (a civ-like game whose goal is low micromanagement and good AI)
    web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

    Comment


    • #92
      I still think it should be an option (not default) to calculate by square for ppl who want more detail and don't care about processing time.
      Which Love Hina Girl Are You?
      Mitsumi Otohime
      Oh dear! Are you even sure you answered the questions correctly?) Underneath your confused exterior, you hold fast to your certainties and seek to find the truth about the things you don't know. While you may not be brimming with confidence and energy, you are content with who you are and accepting of both your faults and the faults of others. But while those around you love you deep down, they may find your nonchalance somewhat infuriating. Try to put a bit more thought into what you are doing, and be more aware of your surroundings.

      Comment


      • #93
        Personally I think Owen's approach would be ok for now. My problem with your way Laurent is that I as a player don't want to waste time investing resources to build unreliable troops. We can work around this in the long run, but for now IMO we are giving the player a lot of MM. FE I just took a province where the locals don't like me. Now I need to eliminate my civ-level military build orders because I Don't want to make troops that are likely to switch sides. But after eliminating the civ-level order now I need to go in and put all the orders at the province level in my old provinces.

        As things unfold further we can, I'm sure work out a spec that will make everyone happy. The capabilities Laurent wants are good ones in the long term. But for now I think it is important to ensure that troops that are built are fairly loyal. It seems very little effort will be wasted in doing it the way Owen has outlined. In principle if you put the loyalty threshold for building at the control of the player Laurent can get what he wants too . Sounds like we may soon need a "military options" dialog for setting loyalty thresholds for build, preferred attack odds (see AI thread), etc.

        What do you guys think?
        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


        • #94
          A military option dialog allowing to set minimum loyalty would be OK. That way you don't build units if loyalty is too low and don't need MM.
          OK for favorable odds orders, although I built a success object which needs tuning, so I'll have to tune that first and then see how I can express the order to players. Something not out of the simulation would be simpler but wouldn't take walls into account.
          Clash of Civilization team member
          (a civ-like game whose goal is low micromanagement and good AI)
          web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

          Comment


          • #95
            A military options dialog would be nice. It would also be cool if I could use this dialog to set the highcommand attitude of my civ, turn over the units to the AI, and see what happens.

            On topic, there should be morale penalty if a TF is composed of troops of many different ethnicities. That should be pretty easy to implement.

            Comment


            • #96
              I've been doing a bit of thinking about the society model and how to code it.

              I've attached a new version of the society model document, with my suggested changes and additions in Italics. I hope the small changes I've made will clear up some of the talking at cross purposes that wen't on at the beginning of the thread, and give everyone what they wanted. I'd appreciate everyones feedback on whether It all makes sense and seems a good idea.

              On the code front I'm trying to refactor the handling of ethnicity etc. by the game, the eventual aims being,

              1) To move as much of it out of the government class and into a parallel society structure as possible, as Gary wanted.

              2) To ensure that the evolution and storage of the opinions of ethnic groups is handled at a province level.

              3) To fully implement the social model.

              4) To provide a logical way of extending the system for when we (inevitably) think of all sorts of cool stuff we could use the information in the model for.
              Attached Files

              Comment


              • #97
                Hi everybody.

                After a year or so away, I'm back...

                Mark told me a new attept to code the social model is under way, so I decided to return and provide some input. Hopefully not to mess things up!!

                I'll be checking the forums once or twice a week. So excuse in advance for any delay on my part in posting.


                --------
                I really believe the discussion on ethnicities in armies belongs somewhere else. All other models, military in particular, may use info and take advantage of elements from the social model, in order to include new cool things in the game such as "troops loyalty", but I'd rather leave this thread only to discuss social model coding. Otherwise it'd be too hard to code the model if at the same time we're throwing new ideas. That's my thought. My petition, really.

                Of course, not being able to totally ignore your thrilling discussion, here're my brief thoughts for any future "ethnicities in armies" thread:

                I agree fully with this:
                I don't think units should be restricted from ruler's ethnicity. Legions were mostly made of non-Romans for instance, and colonial armies have been full of non-core ethnicity fighters.
                Multi-ethnic armies were really the most common thing in history. Armies with one exclusive nationality existed only since XIX century.

                And I disagree with this:
                Roman legions of the late Empire may have had a lot on non-Latins, but that was only after they had held the areas for quite some time.
                Cortés took the aztec empire mostly with indians. Hundreds of them, who joined him very little after he arrived. That's just one example from a lot. The thing is, as I said above, nationality/ethnicity wasn't a key issue as it is today, so people didn't care much fighting "their own people", simply because what we today see in retropective as "the same people", they didn't see as such in that time, really.

                ----------------------

                Now to the social model:

                Since this is my first post in a long time and I'm hoping to help code the existing social model (and not throw new ideas), and since I wanna give Owen (who I understand is the brave new coder) all the possible help to have him understand what I had in mind when I wrote the model, I'm gonna do just this: Make very general clarifications I feel are needed for the work to come:

                1) There're several comments in earlier posts about independence, what should happen in those cases and things like that. Please just keep in mind that, since social stuff is greatly interrelated with government, revolutions and the like, and since all that is too much to handle it in one model, I originally split it in three models (social, govt, riots). With that framework, the social model is only intended to manage the evolution of Ethnic Groups' characteristics and when and how certain EGs disappear or new ones are created. Nothing more. Anything that happens as a result of cultural stuff must be handled somewhere else (for example in the Govt and Riots models).

                As a consecuence of that, players have little, if any, direct interaction with the social model. In the game you won't have much control of cultural evolution, creation and death of EGs, so it's important to see that for testing purposes, the social model can't be treated as the econ or military models where there're buttons to make orders and do stuff and then see if the model is working. Instead, we must create a "social lab" where we can do things that normally we won't be able to do in gameplay, such as poof!-new religion appears, poof!-number of available applications (tech model) doubled, poof!-all govt policies change and have these new values, etc. That said, I suggest that the "social lab" or testing machine, must have a window where all variables the social models uses from outside, can be easily changable.


                2) Be extremely careful with the words "cultures", "ethnicities", "nationalities" and such, for they tend to be used as synonimous in normal language, but in the model we need very specific definitions, for practical reasons and to avoid misleading concepts. I strongly suggest we all use the same terminology. These are the most relevant, as defined in the model:

                Ethnic Group: A "unit" of people who have a nationality, a religion and a culture. The EG lives in a geographic location (province, FE).

                Nationality: The name of the nation/tribe the EG feels it belongs to.

                Culture: A set of variables, such as individualism, asceticism, etc, that describes the attitude of the EG regarding several areas relevant for game.


                3) In the past some people have suggested that there should be some sort of "entity" existing "above" EGs describing each "ethnicity". In that way you could guarantee that romans of different parts of the world have in deed similarities, so it makes sense to call them all "romans". Also, to detect when the cultural profile of one EG has departed far enough from its "original culture", in order to change its name and call it something else. I have strongly opposed to that in the past, mainly because I don't see it's needed and I don't find it realistic either. But if you wanna include it, just do. We'll see later.


                That's all for now.
                Cya

                Comment


                • #98
                  Hi Rodrigo, welcome back!

                  Originally posted by roquijad

                  ...the social model can't be treated as the econ or military models where there're buttons to make orders and do stuff and then see if the model is working. Instead, we must create a "social lab" where we can do things that normally we won't be able to do in gameplay, such as poof!-new religion appears, poof!-number of available applications (tech model) doubled, poof!-all govt policies change and have these new values, etc. That said, I suggest that the "social lab" or testing machine, must have a window where all variables the social models uses from outside, can be easily changable.
                  I agree. This is the direction I was heading when I was working on the model over a year ago. I have sent Owen that version of the code, as well as the current version where all the "social lab" stuff was removed. However, since the govt stuff is more of something the player can get their hands on, I think that is the place to complete the implementation first. Once that's working it would be good to circle back and put the god-like controls in for testing purposes. Of course to form a foundation for the govt model some social model stuff may need updating, some of which Owen has already done. Opinions?

                  3) In the past some people have suggested that there should be some sort of "entity" existing "above" EGs describing each "ethnicity". In that way you could guarantee that romans of different parts of the world have in deed similarities, so it makes sense to call them all "romans". Also, to detect when the cultural profile of one EG has departed far enough from its "original culture", in order to change its name and call it something else. I have strongly opposed to that in the past, mainly because I don't see it's needed and I don't find it realistic either. But if you wanna include it, just do. We'll see later.
                  The Ethnicity objects do exist in the current code, and are I think needed. It is the object that all identical EGs (ones that share the same nationality, religion, and culture) in a given province share so that each EG in each square doesn't need a detailed cultural profile. People of the Roman Ethnicity in Gaul and in Latium should have cultures that evolve independently, so IMO it is in the same spirit as your original model. It is mostly in the coding details that it differs. Owen may want to comment on this, since he has presumably worked with that part of the code much more recently than I.

                  Great to have you back!

                  -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!

                  Comment


                  • #99
                    One kind of controls which would be useful for the social models is events that can be used in scenarios. By scripting them in the xml files, we can test some stuff and allow people to design scenarios that take into account arbitrary spawning/splitting of ethnic groups etc. through arbitrary factors.
                    Clash of Civilization team member
                    (a civ-like game whose goal is low micromanagement and good AI)
                    web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

                    Comment


                    • Mark: I'd go with social model before govt for two reasons. First, the govt uses social variables as input, and second, because social m. is a lot simpler than govt. But I'm ok with whatever coding sequence Owen feels is the best way to go.

                      BTW, ogj20 = Owen?

                      The Ethnicity objects do exist in the current code, and are I think needed. It is the object that all identical EGs (ones that share the same nationality, religion, and culture) in a given province share so that each EG in each square doesn't need a detailed cultural profile.
                      Oh, if it's for that, I can't oppose. Agreed.

                      Comment


                      • yep roquijad, ogj20=Owen.

                        Matk, I have to agree with roquijad that the social model stuff really needs to be coded up before the government stuff can be done, since it feeds information into the Governement model, so if we try to do the governement model first, we'll probably end up with loads of code that looks like 'and here we'd use the blah property of the social model, but since it's not there yet let's just use 0.5', and end up having to recode it when the social model worked anyway.

                        I know it's a pain that the social model doesn't actually provide much in the way of player interaction payoffs in return for the coding effort, but the social and government models, which do give a visible return, really just don't make complete sense without the social infrastructure behind them.

                        Comment


                        • Originally posted by roquijad
                          Mark: I'd go with social model before govt for two reasons. First, the govt uses social variables as input, and second, because social m. is a lot simpler than govt. But I'm ok with whatever coding sequence Owen feels is the best way to go.
                          Hi Rodrigo. Actually the social model is already pretty much fully coded IIRC. I was talking about the gui stuff mostly in my blurb that you were responding to. For implementation order, though admittedly without that much thought, is:
                          1. Fix whatever needs to be modified in Social
                          2. Fix the govt model
                          3. Complete development of a first govt gui
                          4. only then would I worry about the "social lab" stuff.

                          But of course Owen (ogj20) is doing it, so he can handle it in any way he thinks is natural. Based on my email conversations with him I know he has already done some of #1.


                          Laurent, I agree that getting social events going would be valuable. And govt events too, once that model is more-or-less functional.
                          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


                          • One thing that I'd like the social model to provide better details for me is:
                            When a fight happens, which side does a local EG want to side with?
                            Currently, as far as I remember (I should check the code on another computer), each civ has a preferred ethnicity name and some settings saying if it discriminates against other ethnic groups/ethnicities.
                            I could use something better like relative liking of ethnic groups towards a given civ, but I don't really know how that fits with the social and government models. I just remember what I wanted when I coded militia wasn't there so the current code is not really adequate.
                            Clash of Civilization team member
                            (a civ-like game whose goal is low micromanagement and good AI)
                            web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

                            Comment


                            • Laurent: Each EG has a nationality (the tribe/nation the EG feels part of). It also has a Ethnic Tolerance variable describing how it sees EGs with other nationalities. I assume that's of some use for the things you have in mind...

                              Comment


                              • Yes I used these variables, but they are slightly off the mark, as I need a civ-wise and not nationality-wise tolerance. I guess I can have two civs of the same nationality or a multi ethnic civ which has a main nationality. Or is there at least one nationality per civ?
                                Clash of Civilization team member
                                (a civ-like game whose goal is low micromanagement and good AI)
                                web site http://clash.apolyton.net/frame/index.shtml and forum here on apolyton)

                                Comment

                                Working...
                                X