The Clash
of Civilizations

Government Model


Model Description

This amazingly detailed model covers far more than a few simple Government types. From the impact of classes to politics and administration, you'll find it all here.


View the Glossary


Government Model Version 3.1
Description Document

 

      Government Model Team
  • Team Lead: roquijad
  • Team Member: Axi
  • Coder: Gary
  • Last Update: 03/26/02
  • Current Forum Thread: Click here
  • Gov't Coding Thread: Click here
  • Older Related Threads:
    Govt Model v.2
     

 

Models for Society 

All the things we may generally refer as "social issues" like politics, government, revolutions, culture evolution, religion, etc., appear to be inevitably linked with each other. It isn't easy to draw lines and create individual modeling for all the social effects we'd desire for Clash. This is why the three models proposed here covering society and its behavior should be seen as one, like sub-models of something bigger. Coherency between them has been carefully taken care of. Each one performs a particular task providing many of the elements we want, but some of the most interesting social effects are a result of the interactions between them three.

The three models are the Social Model, the Government Model and the Riots Model. I suggest you to read them in this same order for better understanding. This is what they do in a very general sense:

Social Model: Simulates culture evolution.

Government Model: Simulates politics within the civ's government.

Riots Model: Simulates people's discontent and what they do about it.

Note: Check out the new Coding The "Society Model" Structure!



 

Government Model Version 3.1
Technical Document (equations)
December/2001

 

About this document

The objects and variables needed for this model are listed in the Coding the Society Model Structure Version-2 document. Each variable mentioned here that's already listed in that document will appear in italics.

The model assumes regimes (govt types) will appear from the tech model as applications and that applications have a tech level (development level). These two techs are also assumed to exist:

Media

Economic Science

Management

Each civ has a list of N+2 regimes describing different govt types through the Political Structure, Regime Policies and Directly Negotiated Policies variables. These descriptive values for N of them come from default settings or from scenario designer's settings and remain constant through the game. A list of default regimes and their values is provided at the end of this document. The other two regimes have their variables as pointers to the ones in the Conservative Govt Profile and the Ruler's Govt Profile. For these two their Knowledge and Development levels are constant and equal to 1.

Math expressions used:

Exp(x) is the exponential function evaluated at x.

Abs(x) is the absolute value of x.

Sign(x) is a function that returns a 0 if x is 0, a 1 if x>0 and a -1 if x<0

Rexp(a,b,c) is equal to 1/(1+Exp(a+b*c))

You'll probably have to implement the last one.


1. Model Equations

Calculations needed:

I. Computing Real Power Distribution

II. Creating the Conservative Govt Profile

III. Computing the 5 Political Powers shares for a social class.

IV. Computing preferences for DNPs for a social class.

V. Creating the Support Regimes Shares for a social class.

VI. Creating the 5 Political Block Profiles.

VII. Creating the Society's Govt Profile.

VIII. Creating the Future Govt Profile.

IX. Creating the Current Govt Profile.

X. Determining the demographic share for a social class.

XI. Determining Knowledge and Development levels for a Regime.

XII. Determining the Govt-Regime Distance and the Ruler-Regime Distance for a Regime.

XIII. Determining Social Class' Historical PCI

XIV. Updating Empire's Stability

XV. Determining Optimum Institutional Infrastructure (OII) needed in a province.

XVI. Determining the Number of Administrators Needed (NAN) in a province.

XVII. Determining Administration Effectiveness Level (AEL) for a province.

XVIII. Determining the Maximum Number of Feudal Units (MNFU) in a province.

XIX. Determining Govt's Official Religion.


I. Computing Real Power Distribution

The values for the 6 polpowers for the 5 political blocks and the ruler in the Real Political Structure are defined as:

RULERPW=NRULERPW+(1-NRULERPW)*I_RULER*(1-M*CR)/T

BUROCRPW=(1-NRULERPW)*(NBURPW+I_BUR*(1-M*CR))/T

RELIGIOUSPW=(1-NRULERPW)*(NRELPW+I_REL*(1-M*CR))/T

CAPITALPW=(1-NRULERPW)*(NCAPITALPW+I_CAP*(1-M*CR))/T

PEOPLEPW=(1-NRULERPW)*(NPEOPLEPW+I_PEOPLE*(1-M*CR))/T

MILITPW=(1-NRULERPW)*(NMILITPW+I_MIL*(1-M*CR))/T

where:

I_BUR=0.15*(1-PP + SP)+0.05*NP

I_RULER=BRIBES*0.15+GSQUAD*0.3

I_CAP=0.1*PP+0.05*(1-SP)

I_PEOPLE=0.15*SYND

I_MIL=0.1*GSQUAD+0.3*IIS+0.1

M is the tech level of the Media Tech (from the tech model).

CR is the value of Civil Rights in the Current Govt Profile.

PP is the value of Private Property in the Current Govt Profile.

SP is the value of Social Policies in the Current Govt Profile.

NP is the number of provinces the civ has.

GSQUAD is the Goons Squad Level.

BRIBES is the Ruler's Bribes Level.

SYND is the tech level of the Syndicalism Tech.

IIS is the Internal Intelligence Services Level.

T=NBURPW+NRELPW+NCAPITALPW+NPEOPLEPW+NMILITPW
+(I_BUR+I_RULER+I_CAP+I_PEOPLE+I_MIL)*(1-M*CR)

I_REL=0.3*X

X is the sum over all EGs of (1-PI)*(1-FR)*POP*IR/S

PI is the Province Isolation of the province the EG lives in.

FR is the EG's Religious Discrimination Factor.

POP is the EG's population.

IR is EG's Importance of Religion.

S is the sum over all EGs of (1-PI)*(1-FR)*POP

NBURPW is the political power of Bureaucracy Block in the Current Govt Profile.

NRULERPW is ruler's political power in the Current Govt Profile.

NRELPW is the political power of Religious Block in the Current Govt Profile.

NCAPITALPW is the political power of Capitalists' Block in the Current Govt Profile.

NPEOPLEPW is the political power of People's Block in the Current Govt Profile.

NMILITPW is the political power of Military Block in the Current Govt Profile. 


II. Creating the Conservative Govt Profile

Every variable X in the Conservative Govt Profile is determined as:

C*A+(1-A)*B

where:

A=Min(1,LGT/1200)

B is the current value of X in the Conservative Govt Profile.

C is the value of X in the Current Govt Profile.

IMPORTANT: This calculations must be made after the new Current Govt Profile has been created. For example, if you're in year 1900 and the next game turn is 10 years long, then you first have to determine the Current Govt Profile for year 1910 and based on that info compute the Conservative Govt Profile for year 1910.


III. Computing the 5 Political Powers shares for a social class.

Each social class object has 5 variables describing its political power:

A share of Political Power in the Military Political Block

A share of Political Power in the Religious Political Block

A share of Political Power in the Capitalists Political Block

A share of Political Power in the People's Political Block

A share of Political Power in the Bureaucracy's Political Block


Each variable is associated to a particular social role. Respectively those are:

Warfare

Ethics

Kapital

Human

Administration


The share of political power in the Military Political Block, for example, is A/T

where:

A=W*(1-FE*FR)*(1-PI)*P*DS

T is the sum of all A's over all social classes of all EG's in the civ.

W is the value of the social role Warfare in the social class' definition.

FE is EG's Ethnic Discrimination Factor.

FR is EG's Religious Discrimination Factor.

PI is the Province Isolation value of the province the social class lives in.

P is EG's population.

DS is social class' Demographic Share.

The same is made to all other 4 political blocks, replacing W for Ethics (Religious Block), Human (People's Block), Kapital (Capitalists' Block) and Administration (Bureaucracy Block).


IV. Computing Preferences for DNPs for a social class.

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

Note for me: la libertad que realmente goza una clase es CR*(1-p)+p

Foreign Affairs=AGG

Ethnic Discrimination: if the EG and the govt have the same nationality, then ED=1-ET. Otherwise ED=0.

Religious Discrimination:

if

the govt has an official religion

then

if

EG's religion and the govt's official religion are the same

then

RD=1-RT

else

RD=0

end if

else

If

EG's religion and the govt's Dominant Religion are the same

then

RD=1-RT

else

RD=0

end if

end if

Slavery=(1-Sign(1-H))*Min(1, (1-ET)*(1+(ASC/3)))

Tax Rate=(((p-K*CPW)/3)+0.4*Min(SP , (1-(IND*(1-p)+p)))+AGG*0.1)*(1-FE*FR)


where:

ES is Empire's Stability

TRAD is EG's Traditionalism.

SP is the value of Social Policies in the Current Govt Profile

FE is EG's Ethnic Discrimination Factor.

FR is EG's Religious Discrimination Factor.

p=E*RPW + W*MPW + K*CPW

RPW is the political power of the Religious Block in the Current Govt Profile.

MPW is the political power of the Military Block in the Current Govt Profile.

CPW is the political power of the Capitalists Block in the Current Govt Profile.

IND=0.5*((1-K*0.4)*Individualism + K*0.4) + 0.5*(1-E*0.3)*Individualism + E*0.3*RIndividualism

ASC=0.5*(1-K*0.2)*Asceticism + 0.5*(1-E*0.3)*Asceticism + E*0.3*RAsceticism

AGG=0.5*((1-W*0.3)*Aggressiveness + W*0.3) + 0.5*(1-E*0.3)*Aggressiveness + E*0.3*RAggressiveness

ET=(1-E*0.3)*EthnicTolerance + E*0.3*REthnicTolerance

RT=(1-E*0.3)*ReligiousTolerance + E*0.3*(1-IR)*RReligiousTolerance

IR is EG's Importance of Religion.

E is the value of the social role Ethics in the social class definition.

W is the value of the social role Warfare in the social class definition.

K is the value of the social role Kapital in the social class definition.

H is the value of social role Human in the social class definition.

with Individualism, Aggressiveness, Asceticism, EthnicTolerance and ReligiousTolerance being the values of those attributes in the moral code of the EG and RIndividualism, RAggressiveness, RAsceticism, REthnicTolerance and RReligiousTolerance being the values of those attributes in the moral code of the religion the EG follows.


V. Creating the Support Regimes Shares for a social class.

The array of support regime shares in the social class object is a vector describing how social class' population is divided politically among a set of regimes. Each component of the vector is associated to one of the regimes listed in the "regimes list" of the civ. The first component is associated to the ruler's regime, the second to the conservative regime and the other 3 components (the array is 5 components long) to 3 "selected" regimes from the list of built-in regimes. If, for example, monarchy was selected as the 3rd option, then the 3rd vector component represents the social class' share who supports monarchy.

The first thing to do, then, is select these 3 regimes. The selection is made at the civ level, valid for all social classes in all EGs. Once the selection is made (thus determining the 5 regime options social classes have), we compute the support regime shares vector components on a per social class basis.


Civ level

To select the 3 built-in regimes from the list, you have to check for each regime the value DL*(BASE+KL*30+S6) and then pick the 3 regimes with highest value.

where:

BASE is the regime's Base Attractiveness Value.

KL, DL and S6 are defined below.


Social Class level

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


where:

BASE is the regime's Base Attractiveness Value if the regime is one of the built-in regimes, or, if the regime is the ruler's one, then BASE=50*OB+(DRF+50*BRIBES)*(1-DSH). And if the regime is the conservative regime, then BASE=TRAD*100+(A+W)*30.

KL is the regime's Knowledge Level.

DL is the regime's Development Level.

TRAD is EG's Traditionalism.

BAN is the regime's Banning Factor.

DSH is the social class' demographic share.

BRIBES is ruler's bribes level.

DRF is the Dissidence Reduction Factor. This is a variable I forgot to include in the Coding the Society Model Structure document. It's a variable belonging to the GOVT class.

S1=20*IND*(p+Sign(L)*PPW+A*BURPW)

S2=-10*(1-ASC)*(Abs(SP-(1-(IND*(1-p)+p))) + Abs(PP-ECON*Rexp(2,-8,1-OB)*(0.3+0.7*IND)+(1-ECON*Rexp(2,-8,1-OB))*(0.3+0.4*IND)))

S3=-30*(Abs(Rexp(3,-4,IR)-RPW)+Abs(Rexp(6,-7,AGG)-MPW)+Abs(Rexp(6,-6,(1-ASC)*IND)-CPW))

S4=-30*Abs(Rexp(4,-6,1-OB)-PPW)

S5=5*(HPCI/PCI)*SP*Sign(L)

S6=50*Exp(-5+5*(1-ES))*RULERPW


with:

p=E*RPW+W*MPW+K*CPW

RPW is the political power of the Religious Block in the Regime's Political Structure.

MPW is the political power of the Military Block in the Regime's Political Structure.

CPW is the political power of the Capitalists Block in the Regime's Political Structure.

PPW is the political power of the People's Block in the Regime's Political Structure.

BURPW is the political power of the Bureaucratic Block in the Regime's Political Structure.

RULERPW is the political power of the ruler in the Regime's Political Structure.

ECON is the tech level of the Economic Science Tech.

SP is the Social Policies variable in the Regime Policies of the Regime.

IND=0.5*((1-K*0.4)*Individualism + K*0.4) + 0.5*(1-E*0.3)*Individualism + E*0.3*RIndividualism

ASC=0.5*(1-K*0.2)*Asceticism + 0.5*(1-E*0.3)*Asceticism + E*0.3*RAsceticism

AGG=0.5*((1-W*0.3)*Aggressiveness + W*0.3) + 0.5*(1-E*0.3)*Aggressiveness + E*0.3*RAggressiveness

IR=(1-E*0.3)*ImportanceOfReligion+E*0.3

E is the value of the social role Ethics in the social class definition.

W is the value of the social role Warfare in the social class definition.

A is the value of the social role Administration in the social class definition.

K is the value of the social role Kapital in the social class definition.

L is the value of the social role Labor in the social class definition.

OB is the value of EG's Obedience.

HPCI is social class' Historical PCI. This is a variable I forgot to include in the SOCIALCLASS class in the Coding the Society Model Structure document.

PCI is social class' Per Capita Income.

with Individualism, Aggressiveness, Asceticism, ImportanceOfReligion, EthnicTolerance and ReligiousTolerance being the values of those attributes in the moral code of the EG and RIndividualism, RAggressiveness, RAsceticism, REthnicTolerance and RReligiousTolerance being the values of those attributes in the moral code of the religion the EG follows.


VI. Creating the 5 Political Blocks Profiles.

Each political block in the GOVT object consists of three groups of variables, the political power structure, the directly negotiated policies and the regime policies. For the military political block you have to determine the values of the variables doing this:

Directly Negotiated Policies (DNP)

For each policy you have to sum over all social classes of all EG's in the civ these expressions:

SCPW_MPB*SCDNP

where SCPW_MPB is the social class' political power in the military political block and SCDNP is the social class' preference for the DNP policy being processed.


Political Structure and Regime Policies

For each variable you have to sum over all social classes of all EG's in the civ these expressions:

SCPW_MPB*V


where:

SCPW_MPB is the same value defined above.

V is the sum of SSH*X over all 5 components of the social class' regime support shares vector.

SSH is the vector component value.

X is the value of the variable being processed in the regime object associated to the vector component.

The same must be done to all other 4 political blocks replacing SCPW_MPB for SCPW_RPB (social class' political power in the religious political block), SCPW_PPB, etc.


VII. Creating the Preliminary Govt Profile.

Each variable of the Preliminary Govt Profile is created as a weighted sum of the variables in the 5 Political Blocks Profiles, where the weights are the political powers of each political block in the Real Political Structure divided by 1-RULERPW, where RULERPW is the ruler's political power in the Real Political Structure.


VIII. Creating the Future Govt Profile.


Directly Negotiated Policies and Regime Policies

Each variable in the Future Govt Profile is determined as:

S + SIGN(R-S)*MIN(ABS(R-S),M)

where:

M=exp(-3+3*RULERPW)

RULERPW is the ruler's political power in the Real Political Structure

S is the variable's value in the Preliminary Govt Profile.

R is the variable's value in the Ruler's Govt Profile.


Political Powers of Political Blocks

The political power of political block X in the Future Govt Profile is determined as:

S+PS+NS


where:

PS=(MX/Abs(V1))*Min(Abs(R-S),M)*Sign(1+Sign(R-S))

NS=(MX/Abs(V2))*Min(Abs(R-S),M)*Sign(-1+Sign(R-S))

MX=Max(Abs(V1),Abs(V2))

V1 is the sum of the expressions Min(Abs(R-S),M)*Sign(1+Sign(R-S)) over all Political Blocks.

V2 is the sum of the expressions Min(Abs(R-S),M)*Sign(-1+Sign(R-S)) over all Political Blocks.

S is the political power of political block X in the Preliminary Govt Profile.

R is the political power of political block X in the Ruler's Govt Profile.

M is as defined above.


IX. Creating the Current Govt Profile.

Any variable X in the Current Govt Profile is computed as:

C+Sign(C-N)*Min(Abs(C-N) , 0.01*LGT*(0.4+0.6*RULERPW))


where:

C is the current value of variable X in the Current Govt Profile.

N is the value of variable X in the Future Govt Profile.

LGT is the length of the game turn in months.

RULERPW is the ruler's polpower in the Real Political Structure.


X. Determining the demographic share for a social class.

NOT SOLVED YET


XI. Determining Knowledge and Development levels for a Regime.

The Development Level is simply a pointer to the tech level value of the application (tech model) that represents the regime.

KL=CKL+Sign(1-D-CKL)*Min(Abs(1-D-CKL) , LGT/720)


where:

D is the Govt-Regime Distance.

LGT is the length of the game turn in months.

CKL is the current value of KL.


XII. Determining the Govt-Regime Distance and the Ruler-Regime Distance for a Regime.

Both calculations are made to know how similar are the regime variables (political structure and regime policies) and the Current Govt Profile and Ruler Govt Profile, respectively.

For each of the 8 variables involved you have to compute Abs(R-Q), where R is the regime value and Q the value of the CGP or the RGP (depending on what distance you're computing). Then sum all those values and divide the result by 8.


XIII. Determining Social Class' Historical PCI

HPCI=(1-LGT/1200)*CHPCI+(LGT/1200)*PCI

where CHPCI is the current HPCI, PCI is social class' Per Capita Income and LGT is the Length of the Game Turn in months.


XIV. Updating Empire's Stability

ES=Min(1,CES+LGT/1200)

where CES is the current Empire's Stability value and LGT is the Length of the Game Turn in months.


XV. Determining Optimum Institutional Infrastructure (OII) needed in a province.

OII is a variable I forgot to include in the LOCALGOVT class in the Coding the Society Model Structure document.

OII=P*(0.01+0.2*SP+0.15*(1-PP))


where:

SP is the value of Social Policies in the Current Govt Profile.

PP is the value of Private Property in the Current Govt Profile.

P is total province population. 


XVI. Determining the Number of Administrators Needed (NAN) in a province.

NAN is a variable I forgot to include in the LOCALGOVT class in the Coding the Society Model Structure document.

NAN=0.5*(1-0.5*MT)*OII


where:

MT is the tech level of a "Management Tech" in the tech model.

OII is Optimum Institutional Infrastructure (defined in section XV in this document).


XVII. Determining Administration Effectiveness Level (AEL) for a province.

AEL=(1-0.5*Rexp(-10,20,PAL)*PI)*(0.4+0.6*Rexp(2,-15,PAL))*Min(1,ININ/OII)


where:

PAL is Local Govt's Autonomy Level.

PI is the value of Province Isolation of the province.

ININ is province's Institutional Infrastructure.

OII is Optimum Institutional Infrastructure (defined in section XV in this document).


XVIII. Determining the Maximum Number of Feudal Units (MNFU) in a province.

I'm assuming local economy buys/produces feudal units pretty much the same way the ruler buys his military units. Each game turn a part of the local funds are allocated in buying feudal units and when the "price" is met, a new unit appear. But this part of the modeling is not solved yet and needs interrelations defined with econ and military models, so don't believe me much. What the govt model does have to determine, though, is the maximum number of feudal units allowed to represent warlords' existence and power. In this way, if MNFU is greater than the current number of feudal units, then the local economy has to produce more and if the contrary occurs, then feudal units must be eliminated.

MNFU=10*Rexp(14,-32,RULERPW+MPW)*Rexp(20,-28,PAL)

(rounded to the closest integer)


where:

RULERPW is ruler's political power in the Real Political Structure.

MPW is Military Political Block's political power in the Real Political Structure.

PAL is Local Govt's Autonomy Level.


XIX. Determining Govt's Official Religion.

If Rexp(5,-35,RD) rounded to the closest integer is equal to 0, then the govt has no official religion. If it's 1, it has one. The official religion in that case is the Dominant Religion.

RD is the value of Religious Discrimination in the Current Govt Profile.

 

2. Default Social Classes and their Social Roles Values.

 

Social Class Name

Aristocracy

Workers

Slaves

Middle Class

Human social role

1.00

1.00

0.00

1.00

Labor social role

0.00

1.00

1.00

0.40

Kapital social role

1.00

0.00

0.00

0.05

Ethic social role

0.00

0.00

0.00

0.00

Warfare social role

0.00

0.00

0.00

0.00

Administrative social role

0.00

0.00

0.00

0.00

 

Social Class Name

Military Officials

Nobles

Civil Servants

Clergy

Human social role

1.00

1.00

1.00

1.00

Labor social role

0.00

0.00

0.00

0.00

Kapital social role

0.00

1.00

0.00

0.00

Ethic social role

0.00

0.05

0.00

1.00

Warfare social role

1.00

0.80

0.00

0.00

Administrative social role

0.00

0.80

1.00

0.00

 

 

3. Default Regimes and their values.

 

Regime Name

Warlord Despotism

Oligarchy

Divine Monarchy

Monarchy

Imperial Monarchy

Ruler power

80%

40%

50%

70%

65%

Military Block power

15%

0%

5%

10%

10%

Religious Block Power

5%

5%

35%

10%

5%

Capitalists' Block Power

0%

50%

5%

5%

5%

People's Power

0%

0%

0%

0%

0%

Bureaucratic Block Power

0%

5%

5%

5%

15%

Private Property

80%

95%

40%

60%

60%

Social Policies

0.00

0.05

0.05

0.05

0.10

Base Attractiveness

10

10

10

20

25

 

Regime Name

Militaristic Divine Monarchy

Constitutional Monarchy

Republic

Capitalist Democracy

Socialism

Ruler power

40%

40%

35%

20%

30%

Military Block power

25%

5%

5%

0%

0%

Religious Block Power

25%

5%

5%

0%

0%

Capitalists' Block Power

5%

30%

30%

0%

0%

People's Power

0%

10%

15%

70%

45%

Bureaucratic Block Power

5%

10%

10%

10%

25%

Private Property

40%

70%

70%

100%

40%

Social Policies

0.05

0.20

0.20

0.30

0.70

Base Attractiveness

10

30

20

50

50

 

Regime Name

Communism

Social Democracy

Communist Dictatorship

Capitalist Dictatorship

Fundamentalism

Ruler power

30%

20%

60%

60%

55%