Results 1 to 11 of 11

Thread: Attn: Coders -- Govt Model -- OOA

  1. #1
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Question Attn: Coders -- Govt Model -- OOA

    (Repost from other thread) --

    Very nice system.
    I guess I'm going to try to help do an OOA on this model, to help prepare it for coding. I only wonder if I should create a seperate thread, or keep it all here.

    I'll start by putting it here, if that's okay.

    Okay. I'm just starting to mull this over in my head, so point out any obvious stupidities of mine--

    Objects:

    Ruler (should already exist in game code)
    Civilization (should already exist)
    Country/Province (should already exist)
    Policy??? (I don't know if this should be a seperate object, or if it should be a behavior. Any thoughts?).

    Behaviors:

    Government (seems new to this model)
    Ideology (might already exist, I don't know)
    Social Class (I've move it, this seems to be a behavior of people and not an object, agreed?)

    P.S. -- I'm not sure I understood from the text description if a govt was province by province only, or if there was also some sort of a 'centralized' govt. The model would work for both (scalability -- the sign of a good model), but it sounds like we might need two 'Govt' interfaces (local/single prov and 'centralized' or many provs).

  2. #2
    Mark_Everson
    Clash of Civilizations Project Lead Mark_Everson's Avatar
    Join Date
    31 Dec 1969
    Location
    Canton, MI
    Posts
    3,443
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    14:58

    Post

    Hi F_Smith, thanks for getting this going

    The only objects you have listed that currently exist in the code are Civ and Province. In addition, since Province has a lot of functions in the game we already have a ProvEcon object for the economic handling of the province, and I suggest a ProvGovt object would probably also be good for things like centralization that are handled on a province level.

    As in the social thread, I don't kapish your def of behaviors. I would call all the things that you have listed under behaviors objects, with the possible exception of SocialClass. Those objects should also Have behaviors to my mind, but are not themselves behaviors. So Government is an object that describes the nature of the current government. The behaviors associated with it I would call 'Governing' and have to do with the government issuing orders and their subsequent effects...

    Govt is mostly centralized... But there may be a limited set of governmental functions handled at the provincial level. I won't comment any further till Rodrigo has a look here.

  3. #3
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Question

    Just to repeat from the social coding thread:

    I don't know, really. My first thought was that there is no such thing as a 'govt'. It seemed that a govt is the behavior/interaction of social classes and how they implement 'policies'.

    Do ya'll see a 'govt' as a 'thing', or as 'interactions'?

  4. #4
    roquijad
    Prince
    Join Date
    30 Nov 1999
    Location
    Santiago
    Posts
    383
    Country
    This is roquijad's Country Flag
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Post

    The one thing I don't want is you two guys expecting a tough coding decision from someone with such low knowledge about OO programming like me. In order to have this thread really advancing, I'm going to educate my self on OO programming. I've a couple of friends who really know about this subject and I'll ask them to explain me the basics of it, so in futures posts I'll give you better help.

  5. #5
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58
    Roq:

    Actually, you can still help. This is strictly a philosophic question, right now.

    What 'things' exist, and are required to make the game? Then, what interactions of those things will be required?

    Altho do ask your friends for some ideas, too. We need all the eyeballs we can get.

  6. #6
    roquijad
    Prince
    Join Date
    30 Nov 1999
    Location
    Santiago
    Posts
    383
    Country
    This is roquijad's Country Flag
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Post

    These are the OO-classes I can think of as a start (to avoid confusion between govt model's classes (upper class, etc) and programming classes, I'll refer to the latter as OO-classes):

    OO-Class: "Class Mentality" (we need 5 objects of this OO-class per civ called Upper Class Mentality, Lower Class M, Religious Class M, Military Class M and Bureaucratic Elite M"):
    DNP (object)
    INP (object)
    NOMINAL_POLITICAL_STRUCTURE (object)

    OO-Class: "Ideology" (we need aprox 20 objects of this OO-class for the game):
    NAME
    INP (object)
    NOMINAL_POLITICAL_STRUCTURE (object)

    OO-Class: "Ruler's Profile" (we need 1 per civ, called "Govt Profile"):
    INP (object)
    DNP (object)
    NOMINAL_POLITICAL_STRUCTURE (object)
    TAX RATE
    BRIBES

    OO-Class: "Government" (we need 1 per civ, called "Govt Profile")
    INP (object)
    DNP (object)
    Pol.power Distribution (REAL_POLITICAL_STRUCTURE object)
    TAX RATE
    De Facto Influences (REAL_POLITICAL_STRUCTURE object)
    UC PRIVILEGES
    RULER'S INFLUENCE OVER MC
    UC INFLUENCE OVER MC
    LC INFLUENCE OVER MC

    OO-Class: "NOMINAL_POLITICAL_STRUCTURE"
    Ruler's pol.power
    UC pol.power
    LC pol.power
    RC pol.power
    MC pol.power

    OO-Class: "REAL_POLITICAL_STRUCTURE"
    Ruler's pol.power
    UC pol.power
    LC pol.power
    RC pol.power
    MC pol.power
    BE pol.power

    OO-Class: "INP"
    PRIVATE PROPERTY
    SOCIAL POLICIES
    ECONOMIC PLANNING

    OO-Class: "DNP"
    SLAVERY
    ETHNIC DISCRIMINATION
    RELIGIOUS DISCRIMINATION
    FOREIGN AFFAIRS
    CIVIL RIGHTS


    We also need two matrixes per civ with 4 rows and varying columns (from 3 to 5). We also need a vector having from 0 to 3 elements. We need another 2 vectors having from 0 to 20 elements.

    That's what comes to mind for now...

  7. #7
    TheLimey
    Prince
    Join Date
    29 May 2000
    Posts
    384
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Post

    While having government attributes in classes is a good idea, its not a good idea to hold the specific data within those classes.

    Instead for the leaf level of information, use some form of accessable data storage; a text file, proprietory file format, or database.

    A relational model can be as flexible as you would need it to be, to match the needs of the OO data model.

    Reasons for this structure? Rapid changes are easier by this method, allowing for balance changes, scenario development and other aspects at the drop of a hat.

  8. #8
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Thumbs up

    rodrigo:

    Good job, again.

    I'll look this over tonight, before I finish the gui for building and testing these models. I'm about 75% done with that. Then, time permitting, I'll try and give some intelligent feedback on those classes.

    Limey:

    Hi. The actual attribute values for darned near everything will be loaded from a file/files. In my other games, I use xml for simplicity and power, using reflection to load the class. Since anyone with 2 mins explanation can code powerful xml.

    I'm not sure if they're going to use xml here, but they'll come up with something, I'm sure. Altho, since I have an xml parser already coded, maybe they will go with it . . . once they see how easy it is to use. It's what the object editors/testing program I'm building uses, so we'll see.

  9. #9
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Post

    Okay:

    Here's some more preliminary code, just trying to order things in my head:

    ***************************************
    Code:
    import java.util.*;
    
    public interface Government
    {
        public void         addGovtPolicy(Policy p);
        public Policy       getGovtPolicy(String n);
        public Enumeration  getAllGovtPolicies();
        
        public void setNominalPoliticalStructure(PoliticalStructure p);
        public void setDeFactoPoliticalStructure(PoliticalStructure p);
        
        public PoliticalStructure getNominalPoliticalStructure();
        public PoliticalStructure getDeFactoPoliticalStructure();
    }
    ****************************************

    Then we have a 'PoliticalStructure' interface and an 'Ideology' one (that likely just extends 'PoliticalStructure').

    A 'govt' object will implement Government and Culture. It will contain two PoliticalStructures (nominal and defacto), a collection of Policies and a collection of 'Cultural Traits' (more policy objects).

    So far, so good?
    [This message has been edited by F_Smith (edited July 07, 2000).]

  10. #10
    F_Smith
    Prince
    Join Date
    03 May 1999
    Location
    Austin, Tx 78728
    Posts
    539
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58

    Exclamation

    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.

  11. #11
    roquijad
    Prince
    Join Date
    30 Nov 1999
    Location
    Santiago
    Posts
    383
    Country
    This is roquijad's Country Flag
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Local Date
    June 19, 2013
    Local Time
    18:58
    F_Smith:
    (read the other thread 1st)

    I know you're thinking in terms of flexibility for scenario designing, but I feel you're going too far. I'm really confused about how you've handled the coding. Thinking about ethnic-group level classes or any such thing is IMO pushing it too far. Don't get me wrong, but I really need to see in your coding what I had in mind while writing the model. Otherwise it'll be hard for me to help here. You can lie to me if you want and code wahetever you think is best, but let me see things in the way I have them in my mind.

    I saw an error in the OO-classes I proposed to you some posts above. Classes mentalities should include only DNP. No INP nor a political structure. Instead of these two, each class should have a support share for ideologies (up to 5 ideologies), which eliminates one of the matrixes proposed later.

    This is what I need:
    Classes need mentalities (preferred values for DNP and support shares for ideologies). The Upper Class and Lower Class use cultural info from the MCA, which is a set of cultural attributes built by aggregation of cultural info from several ethnic groups. The Religious Class mentality is used using RCM, which is a set of cultural attributes built using MCA and a planet-level object GRW. Military Class mentality is built using LC and UC mentalities and some variables from the current govt profile. Bureaucratic Elite mentality matches the current govt profile.
    I must insist that procedures to create mentalities are not the same. For UC, LC and RC is almost the same. For BE there's no procedure, just a copy of current govt values. For MC is a totally different procedure.
    These differences in modeling classes is what I feel makes impossible to simply expand the number of classes and have classes at any social level (ethnic, province, etc). If you add a "Wizards Class", what procedure are you going to use? are you going to make the scenario designer do code in order to produce its behavior?

    -----------
    "Then we have a 'PoliticalStructure' interface and an 'Ideology' one (that likely just extends 'PoliticalStructure')."

    What do you mean by interface?
    ------------

    "A 'govt' object will implement Government and Culture. It will contain two PoliticalStructures (nominal and defacto), a collection of Policies and a collection of 'Cultural Traits' (more policy objects)."

    Why govt has a culture? is it the majorities culture (MCA)? If you store MCA within govt, why wouldn't you do the same with RCM?
    ------------

    "In the code I have, you can, as scenario designer, choose to default all SocialClass Culture attributes to that of the 'Civ'-level culture. But you aren't forced to do so."

    Things like this I don't understand. Classes don't have a culture in a general sense. The Military Class don't have a culture from where to build its mentality. I'm affraid you have generalized the idea of the UC and LC using their culture to create their mentality. It's not generalizable. MC and BE simply don't have cultural traits.
    -----------

    "There is not really a need for a 'majority' object, on the code level. 'EthnicGroups' are sub-divisions of that object, so the EG collection functionally *is* the 'Majority'"

    Majorities is a set of EGs as you say, but the important thing is not the set itself or the list of EGs, but the mixed values of the ethnic groups cultural attributes. That's why I see a majority as an object, including EGs objects and having a procedure to merge values.
    ------------

    Looping thru: I'm not familiar with this term. In a single turn there's very little to do. In essence, we need the current govt profile to evolve. This means its values must move to a "future govt profile", where the FGP values were determined in some specific turn a while ago.


    Help me, F_Smith! You've got me all confused!!!

Similar Threads

  1. Govt Model v.2 (contd.)
    By roquijad in forum Clash of Civilizations
    Replies: 59
    Last Post: October 28, 2001, 15:54
  2. Replies: 18
    Last Post: June 2, 2001, 21:12
  3. Replies: 16
    Last Post: September 16, 2000, 22:52
  4. Attn: Code warriors -- Social Model -- OOA
    By F_Smith in forum Clash of Civilizations
    Replies: 22
    Last Post: July 11, 2000, 01:15
  5. Enhanced Govt. Model - Need Your Input
    By Mark_Everson in forum Clash of Civilizations
    Replies: 10
    Last Post: May 18, 1999, 10:51

Visitors found this page by searching for:

Nobody landed on this page from a search engine, yet!

Bookmarks

Posting Permissions