Aurora 4x

C# Aurora => C# Mechanics => Topic started by: Steve Walmsley on June 01, 2020, 08:56:06 AM

Title: 1.12.0 Changes List
Post by: Steve Walmsley on June 01, 2020, 08:56:06 AM
Changes List for 1.12.0.

This post includes bug fixes or minor changes. Any more significant changes will have their own post.

Changes
Fixes
Title: Re: 1.12 Changes List
Post by: Steve Walmsley on June 06, 2020, 07:29:50 AM
Earth Death Spiral

I've added a new disaster scenario where the Earth begins to slowly spiral into the Sun, with three available speeds of 0.01, 0.02 and 0.03 AU per year.

Temperature, year length, etc. will be adjusted as the distance to the Sun decreases.

When Earth moves within one million kilometres of the Sun, it is destroyed due to the tidal stresses. Any remaining populations will also be destroyed.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on June 06, 2020, 05:30:57 PM
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
Reduction in Unrest
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on June 12, 2020, 08:56:17 AM
Change to Greenhouse Gas and Dust Mechanics

The new mechanics for the effect of greenhouses gases and dust on temperature are calculated using the following formulae:

Greenhouse Factor =  1 + (Atmospheric Pressure / 10) + Pressure of Greenhouse Gases
If Greenhouse Factor > 3 Then Greenhouse Factor = 3

Anti-Greenhouse Factor =  1 + (Dust Level / 20000) + Pressure of Anti-Greenhouse Gases
If Anti-Greenhouse Factor > 3 Then Anti-Greenhouse Factor = 3

Surface Temperature (K)  = (Base Temperature (K) * Greenhouse Factor * Albedo) / Anti-Greenhouse Factor

Note
This change was made because in v1.11, anti-greenhouse pressure is deducted from greenhouse gas pressure. However, this gives anti-greenhouse gas a potentially much greater impact than greenhouse gas. For example, assume a planet with no atmosphere to which is added 1 atm of anti-greenhouse gas. The calculation would be:

Greenhouse Factor = 1 + (1/10) -1 = 0.1

In other words, 1 atm of greenhouse gas would reduce the temperature to just 10% of the base temp. Adding 1.2 atm would reduce temp below 0K. The root cause of this problem is that temperature has a minimum value (0K) but no maximum. The new mechanics avoid this by making anti-greenhouse gases a divisor, rather than a subtraction. As dust is effectively a temporary anti-greenhouse gas, it makes sense to treat it as as such for the new mechanics. However, that doesn't mean that terraformers can remove dust.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 04, 2020, 03:19:56 PM
Tactical Map Events

When Events are active on the Tactical Map, the first line will show the date and increment length, as per the Events Window. This will be shown even if there is no event in the increment.

Events on the Tactical Map will display the same text and background colours as on the Events Window.

Double-clicking an event on the tactical map will centre on the event in the same way as on the Events Window.

(http://www.pentarch.org/steve/Screenshots/ExampleEvents.PNG)
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 10, 2020, 06:29:38 AM
Move Fleet to Waypoint

You can already use SM mode to move a fleet instantly to any population.

v1.12 adds the option to use SM mode to move a fleet instantly to any rendezvous waypoint. Existing rendezvous waypoints are listed next to the populations on the Misc tab of the Naval Organization window. New ones can be created from the waypoint tab of the Tactical Map.

This gives a lot more flexibility to SM mode for initial setup or fixing problems.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 04:12:21 AM
Rakhas Generation Change

in V1.11, Rakhas need to be within a temperature band about a hundred degrees wide, some oxygen, no dangerous gases, available water, high accessibility minerals and no ruins. The chance of them appearing is based on a random number generated from 1-8. If that is higher than total accessibility, with Duranium counting double, they are generated.

That is proving to be a very difficult combination. Mainly because a lot of accessible minerals don't tend to appear on planets that meet the other requirements and water is often not present.

For v1.12, I am dropping the requirements for water, no dangerous gas and high mineral accessibility. Instead, if the planet meets the other requirements and there is at least one mineral present, there is a 30% chance Rakhas will be present (I may add this as a game parameter). The total mineral accessibility will determine the size of their forces.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 04:43:50 AM
New 'Load All Minerals Until Full' Move Order

I've added a new movement order called 'Load All Minerals Until Full'. This is exactly the same as the Load All Minerals order except that the same order will remain until the fleet's cargo capacity is full. Reserve levels will be observed for this order.

In mechanics terms, when the loading timer runs down to zero the order is completed if the cargo capacity is full. If not, the fleet movement ends for the sub-pulse and the loading clock is reset. The cycle repeats until the cargo holds are full.

This will allow players to set up freighter runs to bring minerals from outlying colonies without micromanagement or fuel waste.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 05:10:43 AM
New 'Pickup Nearest Lifepod' standing order

Fleets can be assigned 'Pickup Nearest Lifepod' as a standing order. This will apply to any lifepods in the same system as the fleet.

Different fleets will coordinate their pickups, so that two fleets do not attempt to pickup the same lifepod.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 05:43:27 AM
Assign New Labs

An 'Assign New' button has been added to the Research tab of the Economics window. This is used to toggle an 'Assign New' status to one or more research projects, indicated by (N) after the project name.

When new research facilities are constructed, or become available through completion of other projects that do not have associated queued projects, those facilities will automatically be assigned to projects flagged as 'Assign New' in descending order of existing facilities. Each project in the list will be assigned available facilities until it reaches maximum, then any remaining available facilities will go to the next project in the list, etc.

When research facilities are removed from a population and the number of assigned facilities has to be reduced, they will be taken first from research projects without the 'Assign New' flag. You can toggle 'Assign New' for projects that already have maximum facilities for this purpose.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 05:57:06 AM
Deployment Exceeded Condition

A new 'Deployment Exceeded' condition has been added. It will trigger the associated conditional order as soon as a ship exceeds the planned deployment for its class.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 06:22:19 AM
Repeat Orders X Times

I've added a small text box next to the Repeat Orders button. Whatever number is in the box is the number of times the orders will repeat, with 1 being the default. 0 or negative numbers will be treated as 1.

For example, if you type 3 in the box, the orders will happen four times; the original orders plus three repeats.

As with all repeat orders, they have to start and finish in the same system to be valid.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 12, 2020, 07:18:16 AM
New Conditional Order: Refuel, Resupply and Overhaul

I've added a new conditional order named 'Refuel, Resupply and Overhaul'.

If the associated condition is met, the fleet will be given an Refuel and Resupply order followed by an Overhaul order, with both issued for the population at which the overhaul will take place. The destination check is only made for the existence of sufficient maintenance capacity, not the presence of fuel and supplies. This is to avoid a situation where running out of fuel will prevent conditional overhauls taking place.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 14, 2020, 07:14:07 AM
Cycle Previous Locations

In v1.12, Aurora keeps track every time the system map is centred. This can be because you clicked on something, used the 'Centre On' options for fleets and mineral search or double-clicked an event related to the map. The locations are tracked in the order in which they were selected.

You can use Alt-F11 and Alt-F12 to cycle back and forth through the list of all centred locations since the game was loaded. This works across all systems. Every time you change locations in this way, the location you move to will be the 'current location'

If the map is centred again for any reason other than cycling through the list, everything in the list after the 'current location' is lost and the new location is added after the 'current location'. The new location will then become the current location. This is to ensure the list stays relevant to your current activity and doesn't get too long to be useful.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 28, 2020, 07:58:28 AM
Automated Assignment for Colony Governors

Assignment of colony governors has always been manual, due to the difficulty in knowing a players intentions for a given colony. For v1.12, I've added the option for players to specify what type of commander they need for a colony and then let auto-assignment handle the selection. A new Governor tab on the economics window shows details of the current colony governor and provides options for selected. The options work as follows:
I think that manual assignment will still be the best option for important colonies, but the above should significantly reduce micromanagement in governor assignment.

(http://www.pentarch.org/steve/Screenshots/Crusade2020/Governor.PNG)
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on July 28, 2020, 08:58:23 AM
Commander Assignment Priority

There has been some confusion about the commander priority for ship classes. Commander Priority is the most important factor in determining which ships are checked first for auto-assignment purposes, followed by the fixed primary and secondary priorities explained in the following v1.00 rules post:

http://aurora2.pentarch.org/index.php?topic=8495.msg104046#msg104046

Originally, zero was the highest commander priority, as it was in VB6. Then I mentioned in a bugs thread that I would change it so that 0 was the lowest priority. However, it looks like I only changed that for assignment to warships where no commander with crew training was available. Everything else still uses 0 = high. Not ideal :)

From v.1.12 onward, zero will be the lowest priority for all assignments, so it matches colony auto-assignment. I have included (0 = Low) in the label for the commander priority text box to make it clear and I have updated the original rules post. I will also set the default priority to 10, so that it is easy to make one class lower priority without having to change all the others.

Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on August 22, 2020, 05:34:32 AM
Survey Next Three Bodies or Locations

I've added a new standing order to 'Survey Next Three Bodies or Locations'. This is intended for survey ships that mount both geological and gravitational sensors. The ship will conduct either geological or gravitational surveys depending on whether survey locations or system bodies are closer.

This is mixed, so the order list may be a system body, then a survey location and then another system body.

This should save time and fuel when ships are handling both types of survey in a system.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on August 22, 2020, 05:38:44 AM
Fleet Escort Orders

Each fleet can be set to act in relation to another friendly fleet, designated the 'Anchor Fleet', and the presence of 'threats'. For example, you can order fleet A to place itself a million kilometres from fleet B in the direction of alien ship C. As fleet A and alien ship C manoeuvre, fleet B will attempt to maintain that position.

Once an Anchor Fleet is set, there is a descending order of potential threats. Firstly, you can specify a specific alien ship, even if that ship is not currently on sensors, in the same system or hostile. However, that threat will be ignored unless the specific alien ship is on sensors in the same system. Secondly, you can toggle the fleet to use the nearest hostile warship as the threat. A 'warship' in this context is an alien ship that you know has weapons (as per the Intelligence for the parent alien class). So if the specific threat is destroyed or moves out of sensor range, the fleet will use the nearest hostile warship as the threat instead. Third is the toggle for the nearest hostile contact. So with no specific threat or warship, the fleet will use any hostile contact as the threat. Finally, you can use the Anchor Fleet's destination as the 'threat'

You set a distance from the Anchor fleet and can also set an offset bearing. For example, you could have two fleets set to be 30 degrees either side and ahead of an Anchor Fleet to act as sensor pickets, or you might have your support ships set at 180 degrees so they follow the Anchor fleet.

The second and third panels on the screenshot allow you to choose anchor fleets and specific threats.

Finally, if a fleet joins another fleet using the 'Join as Sub-Fleet' order, the sub-fleet will retain its formation settings. While they won't be used by the sub-fleet while it is part of a fleet, the setting will become active again if the sub-fleet is detached and becomes a fleet again. This will allow easy detachment of escorts.

A new Detach Escorts button for Fleets will detach all sub-fleets with an Anchor Fleet set. A new Recall Escorts button will issue 'Join As Sub-Fleet' orders to any fleets in the same system that have the current fleet set as their Anchor fleet.

(http://www.pentarch.org/steve/Screenshots/Crusade2020/Formations02.PNG)
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on August 23, 2020, 10:41:11 AM
Resupply from Stationary Supply Ship

I've added a new order to "Resupply from Stationary Supply Ship".

This functions exactly like Refuel from a Stationary Tanker, except for supplies instead of fuel. The order will not work if the target fleet is moving when the fleet arrives.
Title: Re: 1.12.0 Changes List
Post by: Steve Walmsley on August 25, 2020, 04:56:29 AM
Ground Forces Replacements

There can be a lot of micromanagement involved in re-organising ground forces after combat, especially if you have a very detailed OOB. Therefore, I have added an automated replacement process for v1.12

Each formation can be assigned a Replacement Template. By default, this is the template used to construct the formation initially. It can be changed using the 'Change Temp' button on the Order of Battle tab of the Ground Forces window. The current Replacement Template for each formation is shown on the same tab when it is selected. When you change to a different template, you have the option to change all formations with the same current template to the new template. Note the new template may have a different composition of units than the original template. You might do this to add extra capabilities or even stop replacing certain types of unit.

Each formation can be assigned a replacement priority on the same tab. When replacements are available, they are assigned to formations in descending order of priority. The default priority for a new formation is 10.

You can also flag a formation as 'Use for Replacements', in which case the Replacement Template is removed for that formation. During the Ground Replacement Phase, which happens in each construction phase and after ground combat, units are moved from designated replacement formations to any formations at the same population that are in need of replacements.

(http://www.pentarch.org/steve/Screenshots/Crusade2020/Replacements.PNG)

Over time, new ground units will be designed and will often be improved versions of existing designs. For example, in my current game, I have four different versions of the Chimera, a light vehicle armed with a crew-served anti-personnel weapon. Therefore you can organise similar ground unit designs into Unit Series using a new tab for that purpose. To do so, just drag and drop from the list of non-assigned units to the desired Unit Series. Dropping on to the series name will place the unit at the top of the series. Dropping on to an existing unit in the series will place the dropped unit below the target unit. Dragging an assigned unit into empty space will remove it from a Unit Series.

When replacements are required, the replacement process will use the Unit Series of each unit in the Replacement Template, rather than the actual unit. For example, assume I have a formation that was built using Chimera MK IIs and still has that same original template. When that formation looks for replacements, it will work down the Unit Series of the Chimera MK II looking for the highest unit available. In this case, the Chimera MK IV would the preferred option, followed by the MK III, etc. This means you don't have to update Replacement Templates when you create a new version of a build template with upgraded designs. 

This system should add a lot more flexibility and automation, while maintaining the realism aspect of shipping out replacements to the frontier. You can still use the existing drag and drop functionality for manual replacements.

(http://www.pentarch.org/steve/Screenshots/Crusade2020/UnitSeries.PNG)