Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Alternative Civs > Clash of Civilizations > Coding the "Society Model"
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!
04.Sep: `FC` 2.0.5 COMPLETED AND RELEASED
27.Jul: `FC` 2.0.4 COMPLETED AND RELEASED
16.Jul: `FC` 2.0.3 COMPLETED AND RELEASED

bottom of page
  
Author
Thread   
Pages (6): [ 1   2   3   4     >> ]
< Last Thread     Next Thread > Post New Thread     Post A Reply
roquijad is offline roquijad
Prince
Santiago
Nov 1999
time: 05:15
  Old Post 27-10-2001 03:26
Edit/Delete Message Reply w/Quote
#1 Report this post to a moderator
Coding the "Society Model" Support Apolyton buy from Amazon

The Riots Model (or Happiness Model), Social Model and Government Model can be seen as parts of a bigger model I'll call the "Society Model". In terms of coding it's better IMO to consider the Society Model rather than the individual 3 models. At least for coding the structure (objects and their relations).

Although my knowledge of OO-coding is poor, I've created a document that should help real coders get started wiht the Society Model. You can find the document in the Clash web site or you can follow this link:
http://clash.apolyton.net/models/co...structure.shtml

I know our beloved coders might be busy now with other things and coding the Society Model might have to wait, but I wanted to create this thread to be ready when the time comes.

Important: This is a thread devoted to coding. Discussions over how good/bad the models are and how can they be upgraded should go in the threads devoted to each specific model.

Gary Thomas is offline Gary Thomas
Prince
New Zealand
Mar 2001
time: 17:15
  Old Post 27-10-2001 06:17
Edit/Delete Message Reply w/Quote
#2 Report this post to a moderator
Suffering from ads?

Thanks roquijad, that will be an enormous help!

Cheers

LDiCesare is offline LDiCesare
King
La Ferté sous Jouarre France
Jan 2001
time: 05:15
  Old Post 27-10-2001 14:20
Edit/Delete Message Reply w/Quote
#3 Report this post to a moderator
Lose 30 kilos (of popups)

I think your proposal will help a lot. Just one point though: You bundle 2 things in EG: The EG characteristics and its population. It would probably be better to separate them. You'd have a EG class holding EGData, and one, which is referred by the squares, which has a population, points to a (shared) EGData, and maybe a mute() method which copies and changes the EGData if it has to be modified locally instead of in a widespread way. I am not sure that changes can happen on a wide level however, so I may be wrong here.
I say EGs (at least population) belong to a square because military code manages conquest square-wise, so if there are to be effects of conquest on EGs it must be at square level. Also, the econ is managed in squares, so if building an army reduces population, this has to be tracked at square level.
Thus my proposal would be, more or less, to have EGData at Province level and EGPopulation at square level.

Gary Thomas is offline Gary Thomas
Prince
New Zealand
Mar 2001
time: 17:15
  Old Post 28-10-2001 02:31
Edit/Delete Message Reply w/Quote
#4 Report this post to a moderator
Increase Your PM Length

I agree with Laurent about, in effect, separating the EG archetype from its accidental or momentary population. This is in line with the way the coding is accomplished elsewhere.

Personally, I am in favour of having much more widespread ethnic groups than a single square.

Cheers

roquijad is offline roquijad
Prince
Santiago
Nov 1999
time: 05:15
  Old Post 29-10-2001 02:03
Edit/Delete Message Reply w/Quote
#5 Report this post to a moderator
Support Apolyton, buy Galactic Civilizations

Gentlemen: Thanks for your interest. Most of the things you say are beyond my understanding, so please consider normal not having me commenting in this thread. I think I'll only be able to help if you have specific questions for me. Until such questions appear, I won't post here and will just observe you work.

Cheers.
Rodrigo

roquijad is offline roquijad
Prince
Santiago
Nov 1999
time: 05:15
  Old Post 26-11-2001 02:29
Edit/Delete Message Reply w/Quote
#6 Report this post to a moderator
Lose 30 kilos (of popups)

Announcement

When I was writting the equations for the social model I realized a couple variables were missing in the "Coding the Society Model Structure" document, so I had to update it. The new version (2) of this document will be up in the web site soon (I just sent it to Dom).

I assume no-one was working with the document, so I don't see the need to tell where the changes are.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
Thumbs up  Old Post 09-01-2002 07:21 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#7 Report this post to a moderator
Tired of ads?

Hi Rodrigo:

Now that I'm coding the model I have been reading it a lot more carefully. I think it is Outstanding! Before I launch into tonites topic, I should say that you should re-send anything that hasn't gotten onto the web site to Dom. He lost a bunch of things, so safest is to look at the site, and see what he need to be sent.

Govt model coding discussion points

1. I would like to use ethnic group identifier tags. EG Identifiers like "German" help in aggregation of EG info from myriad squares, with no loss of independent evolution (I'll discuss this later). Ethnic Groups are currently held at the map square level. Each local ethnic group will evolve in its own environment. The environment consists of the civilization it is in, and how it is treated therein as in your coding doc. All these independent EGs at the MapSquare level will each have a name for the ethnic group. When called upon to get aggregated statistics we will get them by aggregating EGs by name within a given civ. In this approach when a square is conquered by another civ, no special bookkeeping is needed with regard to EGs. An EG in a MapSquare simply starts evolving in a new environment

For simplicity there should be a minimum size in population for an EG. If it falls below a given threshold in population its people should be divided among other existing EGs in the square. We can exclude EGs that are growing from this culling.

One Issue: Eventually as the people of an original Goth EG evolve independently, the cultural attributes will diverge from the original assumed-to-be-uniform EG characteristics. At some point it will no longer be meaningful to refer to these EGs as a single ethnic group. When that point is reached we can either ignore it, or use some sort of clustering algorithm to divide the previous EG. FE Western Goths, and Eastern Goths. I expect we'll do the latter eventually, but it won't have to be done too often.

2. I would like to rename Nationality something like NationalAffinity. Since the term Nationality is misleading when the controlling civ is different from the Nationality. NationalAffinity or some such word conveys that that is the nation they Aspire to belong to, without necessarily being a part of it. NationalAffinity would be a pointer to the civ of which they would prefer to be a part. The actual affinity is already covered in the Nationalism attribute.

3. Moral Code attributes Individualism and Obedience. It seems to me that these two are complementary, at least at the level of abstraction Clash deals with. I would eliminate Obedience, and use 1-Individualism in any calculations where Obedience formerly occurred. This change would make Individualism an important attribute that has both economic and governmental ramifications. Another idea would be to combine Aesceticism and Natural Affinity. They do not always go together, but the correlation is fairly high. I think each attribute we keep should be very important in one or more areas. If we can't make that case, best to get rid of it.

4. Current Nationalism approach looks Really Good!

5. Attributes Ethnic Tolerance and Religious Tolerance are defined in same direction to Governmental policies Ethnic Discrimination & RD. But the words Tolerance and Discrimination mean opposite things. To me a high Ethnic Tolerance should mean the culture is tolerant of others, but a high Ethnic Discrimination should mean the opposite. We should pick one direction and stick with it or there will be confusion IMO.

6.
quote:
Province's Autonomy Level (PAL): PAL is set by the ruler individually for each province.
Although Feudal Units are loyal to the civ's ruler and aren't, therefore, "enemies", they want to preserve their autonomy. To simulate this, the number of Feudal Units present in a given province defines a minimum PAL. The ruler can't decrease PAL beyond that limit. In order to do it, he'd have to fight and destroy Feudal Units.
Good!

Please let me know what you think! Also, please try to get demo 6 to run, because if you can do that I can send you the early demo 7 code with the existing social/govt system, and I can get your feedback early. (and maybe get you to write the manual for the social/govt part.
)

roquijad is offline roquijad
Prince
Santiago
Nov 1999
time: 05:15
  Old Post 11-01-2002 23:56
Edit/Delete Message Reply w/Quote
#8 Report this post to a moderator
Put an end to popups!

Hi Mark. I have to be quick because I'm leaving for my vacations.

Everything you say seems good to me. Keep on that track. The only thing I'm not convinced enough is the individualism-obedience stuff. Individualism is supposed to control economic preferences, while obedience political ones. Probably the names of the attributes aren't the best, but maybe as you say they're correlated. I need to think it more and I can't do it. For now I prefer you follow your own judgement. We'll see later.

roquijad is offline roquijad
Prince
Santiago
Nov 1999
time: 05:15
  Old Post 12-01-2002 00:00
Edit/Delete Message Reply w/Quote
#9 Report this post to a moderator
Support Apolyton

I forgot to say that at the end I was able to run the demo. When I'm back from my vacations I'll be able to give you feedback on that.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 18-01-2002 07:59 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#10 Report this post to a moderator
Support Apolyton

Hi Rodrigo:

Thanks for the last-minute comments.

I'm making good progress with the code update. I think in several more weeks I will have much of the model done, aside from some details! I've got a question, and I thought I'd post it before I forgot.

I assume economic planning is gone as a govt characteristic. I vaguely recall your getting rid of it, but wanted to make sure.

Cya,

Mark

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 20-01-2002 03:31 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#11 Report this post to a moderator
Increase the size of your Attachments

Hi Again, another "before I forget"

The formula: Civil Rights=ES*((0.5*(IND-TRAD)-p)/(1-p)

must have a typo in it. Although all inputs are in [0,1], as written there's absolutely no guarantee the result won't be negative. Just for testing purposes I have modified it as follows:

Civil Rights=ES*(1 + p + IND-TRAD)/3

Please let me know what it Should be when you have a chance.

Lord God Jinnai is offline Lord God Jinnai
Prince
St. Louis
Sep 1999
time: 23:15
  Old Post 24-01-2002 03:00 Visit Lord God Jinnai's homepage!
Edit/Delete Message Reply w/Quote
#12 Report this post to a moderator
Support Apolyton, pre-order Civilization IV

I have a question on how you want the EG to be handled...using your german idea would you put each square as german_00001 and german_00002...or what to show breakups and mergers of EGs.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 24-01-2002 04:45 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#13 Report this post to a moderator
Got spare money?

Hi LGJ:

I think mergers will be rare. Mostly that will be done through the ruler declaring a new unified EG for the country so its not a problem.

On splitting of EGs I guess I'll put in some descriptors to handle these situations. If one side is in a single civ we could call them German-Americans. If the split is by geography, East Germans vs West Germans would work. I think we can figure some decent rules as things get further along. Even I wouldn't do german_0001 !

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 25-01-2002 01:05 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#14 Report this post to a moderator
Suffering from ads?

Hi Rodrigo, another important note:

Regime supports for social classes are done! Well, mostly . I can tell already you're going to have quite a tuning job on this when you are back from hanging out in the sun .

[/QUOTE]To compute the vector components values we first build and auxiliary vector with "raw" support. Then the share is computed as RAW/T, where T is the sum of all components of the raw support vector. The raw support for a given regime is:
Exp(0.08*KL*DL*(BASE-BAN+S1+S2+S3+S4+S5+S6))[/QUOTE]

Because the numbers inside the Exp() vary by orders of magnitude and can swing from positive to negative there is a large chance of getting a mathematical overflow because of the exp. So something needs to be done to change this expression in the long run.

In game terms, I think an exponential dependence may be too sharp anyway. Relatively small differences in parameters for two Regimes can give quite different support levels because of the exp. Please at least think about it.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 31-01-2002 17:03 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#15 Report this post to a moderator
Support Apolyton, buy Call to Power 2

Here is some raw diagnostic output from the govt model, just to show where things are. Right now I'm finishing off Political Block (PB) government preferences. I'm maybe 70% of the way to the first landmark of running negotiations correctly.

Just so its clear there are several different versions of govt preferences shown here.
What the ruler/player wants the govt to look like
What the current govt is
EG characteristics (two sets, though the numbers are the same for now, since there is yet no evolution of EG characteristics)


Then there is detailed output on the Warrior social class in the capital city, and what they'd want in terms of the govt.

Then there is a regime readout that says what the regimes that are actviely considered by PBs in the civ look like...

[edit] 1.0 is the highest an attribute or level of power can be.
Everything on a 0-100 scale in the interface is shown on a 0-1 scale here.

The Output: comments in ()

Social/Government characteristics of civ -- Roman

Ruler Profile ++++++++++++ (what ruler wants)
Ruler: Fabian
Ruler Government Preferences
Government Policies: --------------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.34
Capital: 0.1
Administrative: 0.0
Ethics: 0.2

Negotiated Policies --------------
Tax Rate: 0.1
Civil Rights: 0.3
Ethnic Discrimination: 0.7
Religious Descrimination: 0.5
Slavery: 0.3
Foreign Policy: 0.8
Regime Policies --------------
Private Property: 0.5
Social Policies: 0.3

Government Profile +++++++++++ (actual govt)
Government Policies: --------------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.34
Capital: 0.1
Administrative: 0.0
Ethics: 0.2

Negotiated Policies --------------
Tax Rate: 0.1
Civil Rights: 0.3
Ethnic Discrimination: 0.7
Religious Descrimination: 0.5
Slavery: 0.3
Foreign Policy: 0.5
Regime Policies --------------
Private Property: 0.5
Social Policies: 0.5

Majority (Ruling) Ethnic Group++++++++ (I have left in, v3 has no ruling EG)
Ethnic Group: Roman
Religion: Roman Paganism
Cultural Attributes -- Roman *****
Moral Code: *******
Aggressiveness: 0.9
Ethnic Tolerance: 0.6
Religious Tolerance: 0.9
Asceticism: 0.0
Individualism: 0.6
Basic Social Attributes: *******
Traditionalism: 0.6
Nationalism: 0.9
Land Connection: 0.5
Importance Of Religion: 0.5
Corruption: 0.0
Social Classes: *******Roman Aristocracy: Pop = 0, PCI = 5.0
Roman Clergy: Pop = 0, PCI = 5.0
Roman Military: Pop = 0, PCI = 5.0
Roman Workers: Pop = 0, PCI = 5.0



Main EG in Capital Characteristics: Ethnic Group: Roman
Religion: Roman Paganism
Cultural Attributes -- Roman *****
Moral Code: *******
Aggressiveness: 0.9
Ethnic Tolerance: 0.6
Religious Tolerance: 0.9
Asceticism: 0.0
Individualism: 0.6
Basic Social Attributes: *******
Traditionalism: 0.6
Nationalism: 0.9
Land Connection: 0.5
Importance Of Religion: 0.5
Corruption: 0.0
Social Classes: *******Roman Aristocracy: Pop = 940, PCI = 5.0
Roman Clergy: Pop = 1880, PCI = 5.0
Roman Military: Pop = 1880, PCI = 5.0
Roman Workers: Pop = 89300, PCI = 5.0


Warrior Social Roles: Military
Warfare: 1.0
Human: 1.0


WarriorPrefs: Government Policies: --------------
Political Structure ----------- (Fraction of power each PB has)
Labor: 0.0
Warfare: 0.25
Human: 0.06
Ruler: 0.4
Capital: 0.1
Administrative: 0.0
Ethics: 0.16

Negotiated Policies --------------
Tax Rate: 0.3035
Civil Rights: 0.4333333
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.39999998
Foreign Policy: 0.91499996
Regime Policies --------------
Private Property: 0.14994529
Social Policies: 0.031226136

** Warrior effective pop in Warfare PB: 1880.0, Ethics PB: 0.0
(just to make sure warriors in this case have no effect on ethics PB)


Regime support:
Active Regimes and their Support by Military:
Conservative Regime -- Support = 38.89571%
Ruler's Regime -- Support = 38.89571%
Despotism -- Support = 9.017558%
Classical Republic -- Support = 13.191017%

Active Regimes:
Regime Conservative Regime : ________
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.34
Capital: 0.1
Administrative: 0.0
Ethics: 0.2

Regime Policies --------------
Private Property: 0.0
Social Policies: 0.0

Regime Despotism : ________
Labor: 0.0
Warfare: 0.0
Human: 0.0
Ruler: 1.0
Capital: 0.0
Administrative: 0.0
Ethics: 0.0

Regime Policies --------------
Private Property: 0.2
Social Policies: 0.2

Regime Ruler's Regime : ________
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.34
Capital: 0.1
Administrative: 0.0
Ethics: 0.2

Regime Policies --------------
Private Property: 0.0
Social Policies: 0.0

Regime Classical Republic : ________
Labor: 0.0
Warfare: 0.2
Human: 0.2
Ruler: 0.3
Capital: 0.2
Administrative: 0.0
Ethics: 0.1

Regime Policies --------------
Private Property: 1.0
Social Policies: 0.1

Last edited by Mark_Everson on 01-02-2002 at 00:46

Lord God Jinnai is offline Lord God Jinnai
Prince
St. Louis
Sep 1999
time: 23:15
  Old Post 31-01-2002 23:59 Visit Lord God Jinnai's homepage!
Edit/Delete Message Reply w/Quote
#16 Report this post to a moderator
Inflate your Upload Space

My question is what does 1.0 stand for in each case?

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 01-02-2002 00:44 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#17 Report this post to a moderator
Tired of ads?

Hi LGJ:

Everything on a 0-100 scale on the interface is shown on a 0-1 scale here. 1.0 is the highest an attribute or level of power can be.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 02-02-2002 21:56 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#18 Report this post to a moderator
How to handle where Player/ruler can set negotiated values Support Apolyton, buy Civilization: The Boardgame

[edit] Oops, it turns out Laurent proposed exactly this same thing earlier in the Government Model v. 3.1 thread. I will leave it here anyway so Rodrigo has a chance to respond, since he never approved or disapproved of it in the other thread.


Rodrigo never specified exactly how we determine over which range the Player/ruler can set government policies. What happens is that all the Political Blocks negotiate with each other to determine policies. Then the player comes in at the end and can set the policies in a certain range around the PB-negotiated ones. This was done to eliminate the "Machiavellian ruler effect" in the previous model. (The effect was called that because the player frequently entered numbers they didn't actually want to happen to achieve the final effect that they did want.) In the new system the distance the govt policies can move from the PB ones is determined by the ruler power, but hasn't yet been specified. (See the Government Model Version 3.2 section VII under "The Negotiation" if you have no idea what I'm talking about.)

I have come up with an easy way to determine how far the ruler can move the sliders. It is very simple. The ruler slider ranges should be determined as if the ruler were an ordinary PB, as in the old "Machievellian" system. The low end of the range is determined as if the Ruler set a value of 0 for the policy. And the high end as if they set 1 (scale is [0,1] although it will show as 0-100 in the interface). I am going to go ahead and code it that way for now, and if we need to change it later, we'll do it as necessary.

Last edited by Mark_Everson on 02-02-2002 at 22:51

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
Arrow  Old Post 03-02-2002 06:09 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#19 Report this post to a moderator
Full PM-box? Change here!

Most everything needed for negotiations is in now. The most recent stuff is near the bottom of the screen dump. It shows what everyone excluding the ruler wants for all policies, and where this leaves the ruler room to set the values. This current example has a ruler power of 35%. But you can see that even with 35% there is a fair amount of influence the player can have. I am now tweaking the GUI to work with the new system. After that I need a little code to implement Yoav's median approach (aka 51%).

I'm getting excited in case you can't tell...

One thing I Am worried about is that it seems the player can consolidate power, and get it to 100% fairly rapidly with the current system. Maybe I don't understand something Rodrigo has in to prevent this... FE the player power is, in the example 35%, but the player can negotiate it as high as 61% in one cycle (Under "Highest Values Player can select" see Ruler: 0.61). After a few round of this (that might take 30 turns) you can go peacefully from a republic to a dictatorship. Of course the riots model could take care of that all by itself as jealous nobles threaten insurrection, etc. Rodrigo, am I missing something? If not I'm sure we can come up with a fix.


Social/Government characteristics of civ -- Roman

Ruler Profile ++++++++++++
Ruler: Fabian
Ruler Government Preferences
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.35
Capital: 0.1
Administrative: 0.0
Ethics: 0.2
Negotiated Policies --------------
Tax Rate: 0.1
Civil Rights: 0.3
Ethnic Discrimination: 0.7
Religious Descrimination: 0.5
Slavery: 0.3
Foreign Policy: 0.8
Regime Policies --------------
Private Property: 0.5
Social Policies: 0.3

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.35
Capital: 0.1
Administrative: 0.0
Ethics: 0.2
Negotiated Policies --------------
Tax Rate: 0.1
Civil Rights: 0.3
Ethnic Discrimination: 0.7
Religious Descrimination: 0.5
Slavery: 0.3
Foreign Policy: 0.5
Regime Policies --------------
Private Property: 0.5
Social Policies: 0.5


Main EG in Capital Characteristics: Ethnic Group: Roman
Religion: Roman Paganism
Cultural Attributes -- Roman *****
Moral Code: *******
Aggressiveness: 0.9
Ethnic Tolerance: 0.6
Religious Tolerance: 0.9
Asceticism: 0.0
Individualism: 0.6
Basic Social Attributes: *******
Traditionalism: 0.6
Nationalism: 0.9
Land Connection: 0.5
Importance Of Religion: 0.5
Corruption: 0.0
Social Classes: *******
Roman Aristocracy: Pop = 940, PCI = 5.0
Roman Clergy: Pop = 1880, PCI = 5.0
Roman Military: Pop = 1880, PCI = 5.0
Roman Workers: Pop = 89300, PCI = 5.0


Warrior Social Roles: Military
Warfare: 1.0
Human: 1.0

Warrior effective pop in Warfare PB: 1880.0, Ethics PB: 0.0

WarriorPrefs: Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.1
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.3035
Civil Rights: 0.4333333
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.39999998
Foreign Policy: 0.91499996
Regime Policies --------------
Private Property: 0.14994529
Social Policies: 0.031226136


Regime support:
Active Regimes and their Support by Military:
Conservative Regime -- Support = 38.89571%
Ruler's Regime -- Support = 38.89571%
Despotism -- Support = 9.017558%
Classical Republic -- Support = 13.191017%

Political Blocks:

Political Block Labor characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.11
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.25
Civil Rights: 0.33333334
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.39999998
Foreign Policy: 0.90000004
Regime Policies --------------
Private Property: 0.1720893
Social Policies: 0.033486843

Political Block Warfare characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.1
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.3035
Civil Rights: 0.4333333
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.39999998
Foreign Policy: 0.91499996
Regime Policies --------------
Private Property: 0.14994529
Social Policies: 0.031226136

Political Block Human characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.11
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.2506253
Civil Rights: 0.33826667
Ethnic Discrimination: 0.39999995
Religious Descrimination: 0.100000024
Slavery: 0.40119997
Foreign Policy: 0.90299994
Regime Policies --------------
Private Property: 0.17216028
Social Policies: 0.033435926

Political Block Capital characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.11
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.20519999
Civil Rights: 0.39333335
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.39999998
Foreign Policy: 0.90000004
Regime Policies --------------
Private Property: 0.1654557
Social Policies: 0.031341933

Political Block Administrative characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.0
Human: 0.0
Ruler: 0.0
Capital: 0.0
Administrative: 0.0
Ethics: 0.0
Negotiated Policies --------------
Tax Rate: 0.0
Civil Rights: 0.0
Ethnic Discrimination: 0.0
Religious Descrimination: 0.0
Slavery: 0.0
Foreign Policy: 0.0
Regime Policies --------------
Private Property: 0.0
Social Policies: 0.0

Political Block Ethics characteristics in civ Roman --

Government Profile +++++++++++
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.39
Capital: 0.11
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.25016668
Civil Rights: 0.45000002
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.100000024
Slavery: 0.45999998
Foreign Policy: 1.035
Regime Policies --------------
Private Property: 0.20109946
Social Policies: 0.034274347

Aggregated Political Block Policies(everyone but ruler)
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.26
Human: 0.07
Ruler: 0.4
Capital: 0.11
Administrative: 0.0
Ethics: 0.17
Negotiated Policies --------------
Tax Rate: 0.2678994
Civil Rights: 0.42499486
Ethnic Discrimination: 0.39999998
Religious Descrimination: 0.10000002
Slavery: 0.4185538
Foreign Policy: 0.9486922
Regime Policies --------------
Private Property: 0.16978009
Social Policies: 0.032351844

Lowest Values Player can select
Government Policies: ----------
Political Block Power ------
Labor: 0.0
Warfare: 0.17
Human: 0.04
Ruler: 0.26
Capital: 0.07
Administrative: 0.0
Ethics: 0.11
Negotiated Policies --------------
Tax Rate: 0.1741346
Civil Rights: 0.27624664
Ethnic Discrimination: 0.25999996
Religious Descrimination: 0.065000005
Slavery: 0.27205995
Foreign Policy: 0.6166499
Regime Policies --------------
Private Property: 0.11035705
Social Policies: 0.021028697

Highest Values Player can select
Government Policies: ----------
Political Block Power ------
Labor: 0.35
Warfare: 0.52
Human: 0.39
Ruler: 0.61
Capital: 0.42
Administrative: 0.35
Ethics: 0.46
Negotiated Policies --------------
Tax Rate: 0.5241346
Civil Rights: 0.62624663
Ethnic Discrimination: 0.60999995
Religious Descrimination: 0.415
Slavery: 0.62205994
Foreign Policy: 0.9666499
Regime Policies --------------
Private Property: 0.46035704
Social Policies: 0.3710287

Active Regimes:

Regime Conservative Regime : ________
Political Block Power ------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.35
Capital: 0.1
Administrative: 0.0
Ethics: 0.2
Regime Policies --------------
Private Property: 0.0
Social Policies: 0.0

Regime Despotism : ________
Political Block Power ------
Labor: 0.0
Warfare: 0.0
Human: 0.0
Ruler: 1.0
Capital: 0.0
Administrative: 0.0
Ethics: 0.0
Regime Policies --------------
Private Property: 0.2
Social Policies: 0.2

Regime Ruler's Regime : ________
Political Block Power ------
Labor: 0.0
Warfare: 0.3
Human: 0.05
Ruler: 0.35
Capital: 0.1
Administrative: 0.0
Ethics: 0.2
Regime Policies --------------
Private Property: 0.0
Social Policies: 0.0

Regime Classical Republic : ________
Political Block Power ------
Labor: 0.0
Warfare: 0.2
Human: 0.2
Ruler: 0.3
Capital: 0.2
Administrative: 0.0
Ethics: 0.1
Regime Policies --------------
Private Property: 1.0
Social Policies: 0.1

LDiCesare is offline LDiCesare
King
La Ferté sous Jouarre France
Jan 2001
time: 05:15
  Old Post 06-02-2002 16:58
Edit/Delete Message Reply w/Quote
#20 Report this post to a moderator
Remove this text

Mark, I think that all parties always want 100% power. With such figures, the ruler's choice only allows him to decrease his own power in favor of another faction, and conversely, a faction can only give part of its power.
The negocitation model inhibits Machiavelic abuse by limiting the Polpower of the ruler, but if he can increase it, then Machiavel comes back in. So you can prevent the effect by having everyone ask for 100% power or not negociating the trait.
I can't see how the median based system would handle this either.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 06-02-2002 17:48 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#21 Report this post to a moderator
Inflate your Upload Space

Hi Laurent:

Your approach would work, but it would change the model a great deal, and pretty much eliminate any point in Regimes (which were called Ideologies). So although its A solution, I am hoping we can come up with something a bit less drastic.

Of course as I said above, the riots model may keep things in check. But I don't think thats a good solution all by itself, since then the Player can move around these powers using the govt model, but they would have no real meaning because the society could explode with unintended consequences even for "legal" power changes. But maybe if statements as to expected effects popped up if the ruler power (or even another faction's) were increased it would be ok. Another one for playtesting.

I am with you in that it's a serious design issue that needs a fix... I'm glad its about time for Rodrigo to get back . But in the interim, there's an idea I had a long time ago for how to limit power changes. It is from my old early govt model. It gives each political block a feeling for what thier power should be based on contributions to society. If they get less than what they percieve then they would be more likely to take adverse action per the Riots model. I'm putting it up here, since I don't think Rodrigo has much in the way of actual equations for the Riots model. Below is a substantial quote from that page. Note that many things have changed since in the models. I am Not proposing that we go back, but am just putting forth the "contribution to society" idea into the open air. Everything else about the examples, just ignore.

If the formatting doesn't work, you can see this at the link above.

[edit] Richard figured out how to get the tables not to have the ton of white space above them. I searched for about 10 min and couldn't find that post. If anyone can clue me in, I'd appreciate it. And I just figured out this should probably go in a different thread . But since its a big post that might get in the way in the Govt thread, I'll leave it here for now...


Guiding Principles:

  • Any Class believes that its rightful share of the power in the governmentis derived from both cultural expectations (based largely upon long-termhistorical values) and the contributions of the class to the success orpower of the Civ.
  • Each Class knows its rightful share of the power within the governmentand compares this to its Actual share of power in the govt.
  • A class' contentment with the current govt. system is the difference betweenits actual power within the government and its rightful share
  • On a practical note, the player will not see these numbers.  Thisinformation will be delivered to the player in messages.  Examples:"the peasants feel over-taxed"...  "the nobles demand more power,and if you don't..."
Cultural Expectations of power of different classes will be based upon
some sort of moving average of the governmental power of the classes Over
something like a 100-year or 70-year period.  I think this assumption
is reasonable; people get used to the way things have "always been".

Contributions of Classes to the Civ (Very sketchy right now...)

  • Principal  10 x change in Military+Labor+Religion contrib.s (see below)
  • Upper Cl.  1/2 x (Mil + Labor + Relig.)  [not change, currentvalues]
  • Military  Contributes by protection from ext. threats, and new conquests
  • Labor  Contributes by paying taxes and gets credit for econ. growth
  • Religious  Contrib. thru happiness and social welfare functions +taxes
  • Minorities / Dependents  Don't know yet (I will skip Minorities/Dependentsin the examples too)
A few other Classes that probably should be included are:
  • merchants
  • slaves


Notes on Contributions of Classes:

Principal derives credit for how well things are going. this is most
easily expressed by rates of change in mil, econ… success If the civ is
doing well people tend to be willing to work with leader who is doing a
good job.  Perhaps even taxes can be raised, etc.

Upper Classes are "superlative" members of Mil, Labor and Relig. - they
do well when the classes do.

Contrib to Civ column of examples just uses made up numbers for illustration
purposes.  Since change from last turn is used to figure Principal's
contribution M, L, and R need two numbers.  One for contrib and one
for change.  Write these like 20/1 where 20 is current and 1 is improvement
since last turn.

Expected Power is simply "normalized" to 100%.  For example if
the Contributions + Cultural column sums to 200 you just divide each Number
in Contrib. + Cultural by 2 (200/100), guaranteeing they will sum to 100.

I have rounded some of the math in the examples…

 


Example 1, a Reasonably stable govt. It has been this
way a long time.



ClassCulturallyContrib.Sum ofExpectedCurrentContent.
Expectedto Civ.Cult.+Con.PowerPowerw/ Govt.
Principal4015 (10x1.5)55304010
Upper Cl.30255530300
Military2020/+04020200
Labor 1020/+1301510-5
Religious010/+0.51050-5


This govt is reasonably stable since discontent with the government
is only

present to a relatively small degree in two classes.  They might
riot

occasionally, but things are basically under control.  Note that
if the principal

tries to raise taxes, the dynamics will shift so that labor is unhappier
(more

contribution to society thru higher taxes)  If the tax also covered
Religious

institutions and the upper classes then the government would become

significantly less stable.

 


Example 2, Same as before, but taxes on Labor/ relig from
20% to 30%



ClassCulturallyContrib.Sum ofExpectedCurrentContent.
Expectedto Civ.Cult.+Con.PowerPowerw/ Govt.
Principal4015 (10x1.5)55254015
Upper Cl.30326230300
Military2020/+04019201
Labor 1030/+1401910-9
Religious015/+0.51570-7


I think a number like -10 in the content should be the threshold for
really

serious problems.  The govt isn't quite there yet but there will
clearly

be a social disturbance and civil disobedience problem.  Another
trouble for

the government it that nobody other than the principal really Likes
this

situation.  The principal has no natural strong allies in preservation
of the

government, and two classes that are pretty pissed off.  The next
time some-

thing bad happens to drive down Ps Contrib there will be Big Trouble

 


Example 3, About to Explode in Revolt, Govt out of sync
with power



ClassCulturallyContrib.Sum ofExpectedCurrentContent.
Expectedto Civ.Cult.+Con.PowerPowerw/ Govt.
Principal40-301044036
Upper Cl.3055853630-6
Military2040/-1602520-5
Labor 1040/-1502110-11
Religious030/-130140-14

Things are going poorly, the economy is contracting, people have lost
faith

in the religion, and the military is somewhat bungling.  Note
here that the M,

L, and R classes are more productive in general than in examples 1
& 2.

Even a palace coup which would "reset" Principal's contrib. to +0 from
-30

would still leave a badly balanced government.  I don't know the
exact shape

of the revolution yet, I'm trying to model that now using some cute
techniques.

What do you think the new alignment might be that would produce a stable

government?

[edit to fix the tables, technique courtesy of Richard and Gary]

Last edited by Mark_Everson on 10-02-2002 at 05:45

Gary Thomas is offline Gary Thomas
Prince
New Zealand
Mar 2001
time: 17:15
  Old Post 09-02-2002 00:38
Edit/Delete Message Reply w/Quote
#22 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

This is a little peripheral, but I feel that it should be recorded somewhere. I am just hooking in the Adminstration structure (which is part of the government model) to the code. There are two design aspects that arose.

The first is that every map square currently has a "MapSquareEconomy". Should it also have an Administration? The more I think about it, the more I think it should.

The other issue is even more of a coding issue. In my original conception of the Administration object (discussed in Command and Control), I had the Administration having a direct link to the MapSquare (the physical terrain and all the physical things on it), and the MapSquare having a direct link the Administration, and similarly, the Administration having a direct link to the MapSquareEconomy and vice versa, with no direct link from MapSquare to MapSquareEconomy (a third link would lead to redundancy and a maintenance problem).

However, on thinking about it, I feel that there is a sort of level of abstraction situation here, and that the MapSquare and the MapSquareEconomy should be linked, and the MapSquareEconomy and the Administration linked, in increasing order of distance from reality. So, if the Administration needs information about the MapSquare, it gets it through the MapSquareEconomy.

Unless there are violent protests, I will do it the way I have outlined here.

Cheers

Gary Thomas is offline Gary Thomas
Prince
New Zealand
Mar 2001
time: 17:15
  Old Post 10-02-2002 01:06
Edit/Delete Message Reply w/Quote
#23 Report this post to a moderator
Put an end to popups!

Mark: I believe Richard's trick with the table was to leave out ALL line spaces in the text of the table itself - they are all printed out before the table, then more of them put in to format the table itself.

I am worried about an aspect of the social model. Please correct me if I am wrong.

Ethnic groups, and the social classes in them, are, I believe, specific to map squares, so identical ethnic group social classes in different squares are different entities. Is this correct?

If so, we have the following calculation.

The Earth has an inhabitable area of about 400,000,000 km2. This is equivalent to 40,000 map squares.

Suppose each square, on average, has 2 ethnic groups (most will have 1, some much more). This gives 80,000 ethnic groups.

Assume each ethnic group has five social classes. This gives 400,000 social classes.

Each social class is characterized by the degree to which it contributes to a social role, of which there are five. This gives 2,000,000 social role contributions.

A contribution to a social role will consist of a reference to the role and a number. 12 bytes is about right. So we have 24Mb.

24Mb of memory just to record ethnic groups?

In addition, each of these must be accessed each turn. At a guess, but with some knowledge of the code, I would say something like 10 minutes per turn on a reasonably fast machine.

Do we have a problem here, Houston?

Cheers

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 10-02-2002 01:38 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#24 Report this post to a moderator
Lose 30 kilos (of popups)

Hey Gary:

Your calculations are substantially correct. There is one big error in that you count the global surface as fully occupied. Once you remove water and inhospitable land its more like 5-10k squares. So your numbers should be derated by a factor of 5-10 roughly. But they are still abusively bad.

This goes back to when F_Smith said he would code everything. I tried to convince F_Smith of the problem, but he wanted to code Everything at the ultimate lowest level. Since he was taking over the coding, I went along... knowing that it would have to be fixed some day. The economy is just as bad, if done at the square level, in case you haven't figured it out already.

What we will need is a way to move all this stuff up to the provincial level for whole-world games. What the current approach does give is a way to make more-accurate small-map scenarios. I think we should start a thread discussing what the best approaches are for handling the values on a province-wide basis. The issue there is that we will need kludges on the square level to keep track of some details, or really bizarre things can happen. One example is... There are no BigHead EG members in my civ. One of my border provinces takes of a city square Full of BigHeads. Now my province is 10% BigHead. If the BHs take back their square, they won't get their people back unless we keep track of the EG population bookkeeping at the square level. There are even more confusing things in the econ area. So this needs to be considered carefully for the best ways to do it both for the social and econ models. And as I said above, if we can keep the square-level stuff as an alternative for 1000-square games, it would be good. I'll go with your judgement as to whether that can be done without making a 7-course spaghetti dinner out of the code.

When we start a dedicated discussion, I can reference the old talk about it. That includes my old plans for how to handle the province-wide stuff. We can take it from there. I do not think this is a fix-immediately issue. My guess would be we should address it seriously after demo 8. If you want to talk about this further now, I suggest you take your first post, and start a new thread about it. Then we can copy this stuff over, and have all the discussion in the same place, since this topic clearly extends beyond social model coding.

Gary Thomas is offline Gary Thomas
Prince
New Zealand
Mar 2001
time: 17:15
  Old Post 10-02-2002 01:58
Edit/Delete Message Reply w/Quote
#25 Report this post to a moderator
Suffering from ads?

quote:
Your calculations are substantially correct. There is one big error in that you count the global surface as fully occupied.
You are right, I had the correct figure in my preliminary calculations, and for some reason I went to the total figure for the post.

The problem will be hugely reduced if ethnic groups can have prototypes which specify the social classes they have. I cannot for the life of me see any game advantage in being able to specify a particular social class of a particular ethnic goup as having a greater base religious influence (that is, contribution to the social role, this is value that does not change during the game) than the same class of the same ethnic group in the next square.

As far as the next level of social factors, the opinions or feelings of these groups, they certainly should be aggregated over a province (or, actually, AministrationLevel2 - love that name).

I also think that an ethnic group's religion can be set at the provice level without impact on game playability or realism.

However, I think the population numbers need to be kept at a square level, so the BigHeads get their people back. If they want them.

Cheers

Last edited by Gary Thomas on 10-02-2002 at 02:11

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 10-02-2002 02:03 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#26 Report this post to a moderator
Support Apolyton, buy Alpha Centauri

quote:
Originally posted by Gary Thomas
actually, AministrationLevel2 - love that name


Please gag yourself with a sodden bureaucrat!

Your approach sounds fine, and I think the simplifications can even be broader. We can discuss details later...

F_Smith is offline F_Smith
Prince
Austin, Tx 78728
May 1999
time: 05:15
  Old Post 10-02-2002 02:28
Edit/Delete Message Reply w/Quote
#27 Report this post to a moderator
Suffering from ads?

Suppose each square, on average, has 2 ethnic groups (most will have 1, some much more). This gives 80,000 ethnic groups.

Assume each ethnic group has five social classes. This gives 400,000 social classes.

Each social class is characterized by the degree to which it contributes to a social role, of which there are five. This gives 2,000,000 social role contributions.

A contribution to a social role will consist of a reference to the role and a number. 12 bytes is about right. So we have 24Mb.

24Mb of memory just to record ethnic groups?

In addition, each of these must be accessed each turn. At a guess, but with some knowledge of the code, I would say something like 10 minutes per turn on a reasonably fast machine.

Do we have a problem here, Houston?


Um, I don't think I understand the math here, then.


If pointers to EGs are stored at the lowest level, but you decide from a scenario-to-scenario basis what level to deal with EGs on, you math is radically far off.

For a full-world game, you should likely choose to only have one, two, or three EGs per province. All MapSquares in a province would simply point to the *same* EG. And you can even change that to all MapSquares in a civ pointing to the same EG. You can even use the architecture to point all mapsquares to just a single EG. The architecture allows the ultimate flexibility. For starting testing, I'd suggest just a few total, for the whole map. You can just have 3 or 4 EGs, for testing purposes. That'll simulate a typical 'Civ' or 'Alpha Centauri' type game, to begin with.

So for a full world game, you certainly wouldn't store individual EGs per mapsquare, just have several mapsquares point to a single EG, depending on the scenario requirements.

Same with econ, same with social groups, etc.

Am I missing something?

And this is architecture will be vital for implementing a really good RuleBase for the rules engine, won't it?

F_Smith is offline F_Smith
Prince
Austin, Tx 78728
May 1999
time: 05:15
  Old Post 10-02-2002 02:31
Edit/Delete Message Reply w/Quote
#28 Report this post to a moderator
Support Apolyton, buy Call to Power 2

What we will need is a way to move all this stuff up to the provincial level for whole-world games.


Unless something has radically changed since I built the thing, that should be what you've got.

Mark_Everson is offline Mark_Everson
Clash of Civilizations Project Lead
Canton, MI
Jan 1970
time: 00:15
  Old Post 10-02-2002 04:35 Visit Mark_Everson's homepage!
Edit/Delete Message Reply w/Quote
#29 Report this post to a moderator
Remove this text

Hi Joe:

Thanks for the refresher, I had forgotten about us finally converging to using pointers at the square level. We argued about it for a month, you'd think I'd remember... although is was probably more than a year ago at this point. Its definitely Not as trivial as just having the pointer point to somewhere else though. There is an Awful lot of bookkeeping code that will need to be added, especially on the economy end, to make things turn out right. But the pointer-at-square level does seem to be the way to go to make the system flexible. The memory footprint would still be fairly large, but perhaps manageable.

quote:
Unless something has radically changed since I built the thing, that should be what you've got.


Now this comment I Don't understand. You did Absolutely everything at the square level. That was all there was in your code AFAIK.

Hope you're doing great.

Cya,

Mark

F_Smith is offline F_Smith
Prince
Austin, Tx 78728
May 1999
time: 05:15
  Old Post 10-02-2002 05:08
Edit/Delete Message Reply w/Quote
#30 Report this post to a moderator
Inflate your Upload Space

Hi. Sorry I'm out of pocket so much. I'll just drop in once every few months to ask about something I probably misunderstood!

Ya'll are doing a great job, I don't mean this as criticism in any way. I just didn't understand this, so asked.

You did Absolutely everything at the square level.

There are pointers at the square level. And I don't understand, how can it require more code for 'bookkeeping'? How are you implementing an 'economy'? I was assuming that you have a 'rules engine' that runs the turn handling, and that one rule would get all the mapsquares and call an 'update' or some such method on the mapsquare, then all MapSquares would do their own calculations in one simple loop?

I thought you were doing:

Iterator it = getAllMapSquares();

while(it.hasNext())
{
MapSquare msq = (MapSquare)it.next();
msq.update();
}

That handles the entire economy turn. I'm sure that's how you're doing it, isn't it? If I'm mistaken (my memory really stinks, and I haven't looked at the code since last summer or so).

I don't think there would be any extra bookkeeping. In fact, doing it any other way will likely complicate things. Especially for the EG objects, as I mentioned, all you have to do is make one single EG and point all MapSquares to it. Then scale up as you want. One interesting option is starting the game with one EG, and then having it split over time, in different places, to some maximum. So you start with a small 'tribe' of humanity and then get diversity.

As far as memory, for 10,000 squares each pointer is 8k, so with the 2 EGs per square estimate you get 160k to hold the entire thing at the MapSquare level.

Other than that, you only have to define the individual EG objects, which you'll have to do anyway, however many you decide to have.

 
Pages (6): [ 1   2   3   4     >> ]
< Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:15.
Apolyton Time is 00:15.
    top of page
Rate This Thread:
Forum Jump:
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
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0878 seconds (94.96% PHP - 5.04% MySQL) with 30 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net