 |
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
(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).
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
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
|
|
Santiago
Nov 1999 time: 05:13
|
|
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
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
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
|
|
Santiago
Nov 1999 time: 05:13
|
|
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
|
|
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
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
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
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
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
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Feedback wanted, please:
Clash Object/Scenario Editor, Mark I
http://home.austin.rr.com/lostmerch...lashEditor.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
|
|
Santiago
Nov 1999 time: 05:13
|
|
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!!! 
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:13. Apolyton Time is 00:13. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|