Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site forums as they ran on Ultimate Bulletin Board, 1998–2001. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 2005 site & forums

  Apolyton Civilization Site Forums
  Clash of Civilizations
  Attn: Coders -- Govt Model -- OOA

Post New Topic  Post A ReplyPost A Reply In A New Window

profile | register | preferences | faq | search next newest topic | next oldest topic bottom of page
Author
Topic:   Attn: Coders -- Govt Model -- OOA Format for Better Printing
F_Smith
Prince
Austin, Tx 78728
May 99
posted June 20, 2000 08:16   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
(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).

Mark_Everson
Clash of Civilizations
Project Lead

Canton, MI, USA
b.02-15-99
posted June 20, 2000 11:22   Click Here to See the Profile for Mark_EversonClick Here to Email Mark_Everson  send a private message to Mark_EversonSend a Message to UIN: 30578681 Visit Mark_Everson's Homepage!
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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.

F_Smith
Prince
Austin, Tx 78728
May 99
posted June 20, 2000 16:42   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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'?

roquijad
Clash of Civilizations
Government Model

Santiago
Nov 1999
posted June 21, 2000 01:20   Click Here to See the Profile for roquijadClick Here to Email roquijad  send a private message to roquijad
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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.
F_Smith
Prince
Austin, Tx 78728
May 99
posted June 21, 2000 03:45   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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.

roquijad
Clash of Civilizations
Government Model

Santiago
Nov 1999
posted June 27, 2000 02:25   Click Here to See the Profile for roquijadClick Here to Email roquijad  send a private message to roquijad
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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...

TheLimey
Prince

May 2000
posted June 27, 2000 08:58   Click Here to See the Profile for TheLimeyClick Here to Email TheLimey  send a private message to TheLimey
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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.

F_Smith
Prince
Austin, Tx 78728
May 99
posted June 27, 2000 13:01   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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.

F_Smith
Prince
Austin, Tx 78728
May 99
posted July 07, 2000 00:02   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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).]

F_Smith
Prince
Austin, Tx 78728
May 99
posted July 09, 2000 23:59   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
Feedback wanted, please:

Clash Object/Scenario Editor, Mark I


http://home.austin.rr.com/lostmerchant/Clash/Editor/ClashEditor.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.

roquijad
Clash of Civilizations
Government Model

Santiago
Nov 1999
posted July 10, 2000 23:28   Click Here to See the Profile for roquijadClick Here to Email roquijad  send a private message to roquijad
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
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!!!

Apolyton Civilization Site Forums
> > > Clash of Civilizations Forum

next newest topic | next oldest topictop of page

All times are EDT

Administrative Options: Close Topic | Archive/Move | Delete Topic | Top
Post New Topic  Post A ReplyPost A Reply In A New Window
Hop to:

Contact Us
Apolyton Civilization Site

Powered by: Ultimate Bulletin Board, Version 5.44a
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.

Front Page | Civilization III | Dinosaurs | Civilization II | Call to Power | Call to Power II | Alpha Centauri | Alternative Civs | Misc | Links | About ACS | GameStats
GameLeague | Scenario League | HAC | Civilization Scenario Collection | Spanish CivII Site | Clash of Civs | CtP Maps | Art of War | WesW's Ctp1/2 Site