Aurora 4x

C# Aurora => C# Mechanics => Topic started by: Rich.h on May 28, 2020, 10:56:20 AM

Title: Occupation Force Numbers
Post by: Rich.h on May 28, 2020, 10:56:20 AM
So I have just conquered a colony. Now I am in the process of moving troops in to establish order until the populace become imperial rated.

The problem is I have no way in advance to know exactly how many troops or which of my troops do the best job here, on the economy screen I can see a section for "Occupation Required/Actual", but on the ground forces page I cannot find anything which this relates to. Where do I find this information to prevent me just randomly landing troops until I meet the required number?
Title: Re: Occupation Force Numbers
Post by: alex_brunius on May 28, 2020, 11:07:34 AM
You could compare it to the "actual" number displayed for a rough estimate. According to that you need 6 times as much forces as you currently have there.
Title: Re: Occupation Force Numbers
Post by: davidb86 on May 28, 2020, 12:07:56 PM
From VB6 Wiki - The occupation amount is based on the defense strength of the occupying forces.  Steve may have changed the constants based on the new ground force options  I would check the total HP of your forces and compare it to the Occupation Actual to see if it is raw Hit Points or Hit Points times a factor.   

Quote
If a planet is in a political state that requires the use of occupation forces, sufficient ground troops must be provided to meet the occupation needs or unrest will result. The required occupation strength is equal to:

Population x ((Determination + Militancy + Xenophobia) / 300) x Political Status Occupation Modifier
If there are no ground forces present, the annual number of unrest points will be 100. If there are ground forces present but their combined defence strength is below required occupation strength then the annual amount of unrest points will be calculated as follows:

Unrest Modifier = 1 x (Actual Strength / Required Strength)
Unrest Points = 100 x Unrest Modifier

Quote
Lowering Unrest
Once unrest starts to build up, there are two options. If you remove the cause of the unrest, the unrest level will slowly fall by itself based on the determination (or rather, lack of determination) of the population. The alternative is to send in ground troops and forcibly suppress the unrest.

Option 1 is based on the following (assuming there is no new unrest in the increment):

Fall in Unrest Points = 20 x (1 - (Determination / 100)
Option 2 is based on the concept of Police Strength, which is equal to the defence strength of the ground forces minus any required occupation force. If that is a positive value, unrest is reduced according to the following formula:

Police Strength = Actual Occupation Strength ? Required Occupation Strength
Effective Population Size = Population x ((Determination + Militancy + Xenophobia) / 300)
Unrest Modifier = Police Strength / Effective Population Size
Reduction in Unrest = 100 * Unrest Modifier
Title: Re: Occupation Force Numbers
Post by: DFNewb on May 28, 2020, 12:08:53 PM
I am not positive but I think unit number might play a role in it too. If not the number of units then total hp or damage or something.
Title: Re: Occupation Force Numbers
Post by: liveware on June 01, 2020, 03:04:50 PM
Number of troops (or possibly total hp) definitely plays a role in suppression of unrest. I know I have run into situations where I could not build troops fast enough to reduce unrest levels at some of my colonies. Not sure if the same applies to captured colonies but I would assume that it would be the same.
Title: Re: Occupation Force Numbers
Post by: Father Tim on June 10, 2020, 01:15:30 PM
VB Aurora used total defense strength of ground units.  C# Aurora appears to use number of elements, not armour or hit point strength.

Obviously, Ground Occupation Strength is the key commander bonus.
Title: Re: Occupation Force Numbers
Post by: davidb86 on June 10, 2020, 02:23:51 PM
Steve is addressing this in the 1.12 changes

Quote
Occupation Strength and Police Modifiers

As a result of my current campaign, I've found two problems in the occupation and police code.

The first is that the Resistance Modifier of a population used for occupation or reducing unrest should be (Determination + Militancy + Xenophobia) / 300, but was actually Determination + Militancy + (Xenophobia / 300). Assuming all stats were 50, that meant the result would be 100.6 rather than the correct 0.5, creating a resistance modifier 200x higher than intended.

The second bug is that the occupation strength of ground units was far higher than intended. A ground element should have occupation strength of SQRT(Size) * Units * (Morale/100) * 0.01. However, I forgot the 0.01, so the actual occupation strength was 100x higher than intended. So the occupation strength bug countered half the effect of the resistance bug :)

For v1.12.0 the following formulae are used for occupation and police:

Occupation
Required Occupation Strength = ((Determination + Militancy + Xenophobia) / 300) * Population Amount * Political Status Occupation Modifier.
Political Status Occupation Modifier = Slave Colony 1.5, Conquered 1.0, Occupied 0.75, Subjugated 0.25, All Others 0
Actual Occupation Strength is the sum of the individual element occupations strengths.
Element Occupation Strength = (SQRT(Size) * Units * Morale) / 10000
Reduction in Unrest
Police Strength = Actual Occupation Strength - Required Occupation Strength
Effective Population Size = ((Determination + Militancy + Xenophobia) / 300) * Population Amount
Police Modifier = Police Strength / Effective Population Size
Unrest points are reduced by 100 * Police Modifier per year