Aurora is on version 1.9.5 C#, available at the Aurora Forums.

Contact Erik on the forum for a wiki account.

C-NPRs

From AuroraWiki
Jump to navigation Jump to search

NPR Setup

Starting NPR Locations

There is a new option on the New Game window that allows you to specify the minimum and maximum distance (in light years) of starting NPRs in Known Stars games. The NPR starting location will be selected from the list of known star systems within that distance range from Sol. This gives you some control over how fast you will run into the starting NPRs.

Once a known system is selected, the system bodies for that system will be generated and checked for a suitable planet or moon to establish the NPR. This potential body needs to be in the acceptable range for gravity, temperate and hydro extent. The atmosphere will be changed to something suitable. If nothing is found, the system is generated again and again until a suitable location appears (this won't take long).

A check is also made to see if the NPR location is within reasonable range of the primary star; either by orbiting within about 12 billion kilometres or orbiting within 12b km of a star that allows travel by Lagrange point to the primary (with the LPs also within 12b of each star). I've even checked for the planet/moon orbiting a star with no Lagrange points but that star is within 12b km of the primary, or orbiting a star with no Lagrange points but that star is within 12b km of another star that does have LPs to the primary :) This is to ensure no NPRs created that are unlikely to interact with the player.

Date 29.01.2019

NPR Economy

Basics

NPRs don't pay (wealth) for research so they are running OK. Still close to running out at times but they adjust production in that situation until finances improve. Date 17.01.2019


Quote from: MarcAFK on Today at 06:36:14

Bankrupting the civilians is a good solution to endgame lag, but what about the NPRs? They still build hundreds of hsits. I don't know if they use similar mechanics in regards to hipping lines, do they even have 'civilians"?

For freighters and colony ships, they only have civilians. There didn't seem to be any point in having two types of AI for NPR colony ships and civilians, so they are all created in shipping lines. This is true for C# too. 10.01.2019

Doesn't that mean NPRs can't carry minerals from a system to another, or is that abstracted for them?

Mineral movement is automatic, although it does mean they won't create colonies or move automated mines. Date 10.12.2019

Standing Order for Unload Colonists

I've completely rewritten the standing order (VB6 default order) for unloading colonists (used by shipping lines, NPRs and your own ships if desired). The process is as follows:

  • 1) Colony fleet looks for a suitable population with less than 25m pop and no other colony fleets inbound, checking its current system first and then using the path finding algorithm to search everywhere else in the empire.
  • 2) Same as 1) but without the check for inbound colony ships.
  • 3) Searches for any suitable population with a status of Colonist Destination (which you can set for any pop of at least 25m).

When determining if a population is a suitable destination, the fleet checks the following:

  • 1) How many colonists it is carrying.
  • 2) If the species is the same as the colonists.
  • 3) The available capacity of the system body on which the population is situated, taking into account other populations.
  • 4) The available capacity of the infrastructure (normal or LG depending on the gravity), taking into account the current population size.
  • 5) The lesser of 2) and 3) is used as the base capacity of the population to accept new colonists.
  • 6) Any available space in orbital habitats is added to that capacity.
  • 7) The total number of colonists on ships already inbound to the colony is deducted from that capacity.
  • 8) if the capacity exceeds the number of colonists in the checking fleet and the species match, the colony is suitable.

This should prevent the current problem of many colony ships delivering to a colony without the capacity to support them all. As soon as a fleet determines a colony is suitable, the orders are issued, which means other fleets checking in the same increment will be aware of the extra inbound colonists.

Because of these changes, Passenger Liners will no longer search their current system for a potential destination (otherwise they could load and unload at the same population).

Date 24.02.2018

Fuel and Refuelling Infrastructur

In C# Aurora, NPR ships consume fuel and therefore require refuelling. They also need to use the same refuelling infrastructure as players (fuel transfer stations, refuelling systems, etc.) and require the same time to refuel (allowing for technology differences).

NPR Tankers will move fuel from harvesters and populations with excess fuel to populations with logistical infrastructure that require fuel. As NPR ships become low on fuel, they will return to the nearest population or tanker that has fuel.

NPR ships and fleets have a concept of Mission Capable Status, which is affected by a number of factors such as fuel status, damage status and ordnance status.

When an NPR fleet is very low on fuel, it will be unable to do anything except search for refuelling options. However, to avoid the NPR getting into any logic issues, NPR ships will still be able to move with zero fuel while they move to a refuelling point.

This should add more constraints to NPR deployment, add an interesting layer to NPR operations and provide the player with a new way to attack NPRs (attacking their fuel supplies instead of their ships). While it isn't completely the same as players due to the 'search for fuel while empty' concept, I think that is the best trade-off between realism and avoiding any unforeseen logic issues.

Date 12.10.2018

NPR Warfare

Automated Weapon Assignment

C# has a more intelligent auto-assignment for weapons and fire controls. You can set up a ship with a single click and then adjust as necessary. The code assumes that

  • Any missile fire control with a resolution of 1 is an anti-missile fire control
  • Any missile fire control with a resolution greater than 1 is a 'normal' missile fire control
  • Any beam fire control with a tracking speed at least 2x racial speed is a point defence fire control (some leeway here for older ships)
  • Other beam fire controls are for offensive weapons
  • Weapons within the given category (missile PD, missile offensive, beam PD, beam offensive) are split equally between fire controls of the same category
  • More powerful beam weapons are assigned first
  • ECCM is assigned as available with the priority order of offensive launcher, PD launcher, offensive beam, PD beam

The assignment code will take account of damage to the ship and adjust accordingly. In most cases, the above will be sufficient (and will be used for NPR designs). For more bespoke and unusual player ships, some tweaking may be necessary.

for examples and screenshots please see http://aurora2.pentarch.org/index.php?topic=8495.msg107378#msg107378

Date 25.03.2018

Contributors

King-Salomon