Author Topic: C# Aurora Changes List v1.00  (Read 573294 times)

skoormit and 8 Guests are viewing this topic.

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #180 on: December 16, 2019, 11:33:47 AM »
Refit Size

The 'size difference' element of refit cost has changed for C# Aurora. In C#, the size difference acts as a modifier to the refit cost, rather than as a standalone cost.

In VB6 the size element cost is: ABS(Current HS - Refit HS) * 5.

For C# the size element cost is: (ABS(Current HS - Refit HS) / Current HS) * Refit Cost.

While this change is more realistic in general, it can lead to some weird situations where the refit cost from a large ship to a small ship is relatively low because the small ship is a version of the large ship with systems removed and no other changes. Therefore, C# adds a new restriction that you cannot refit to a design that is more than 20% smaller or 20% larger than the existing design. This also avoids cluttering the 'Refit from' dropdown when you have a lot of classes.

This change affects what can be built in shipyards. As in VB6, you can build the class for which the shipyard is tooled, or any other class to which the build class can be refitted for less than 20% of its cost. The new size restriction will prevent some classes from being eligible in this situation.
 
The following users thanked this post: Garfunkel, Britich, DIT_grue, TMaekler, Rye123, Stryker, Tikigod, Warer

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #181 on: December 16, 2019, 12:23:31 PM »
Civilian Destinations

In VB6 Aurora, civilians will treat any population of less than 25m as an automatic destination. Once a population is above 25m, the player can choose whether the population is a destination for colonists, a source of colonists or neither.

For C#, the population level at which the player can intervene has changed to the lower of 10m or half the capacity of the system body. Since the jump point generation changes in the later versions of VB6, the universe is more 'stretched out', so populations are much slower to reach the 25m mark.

I've also changed the population at which all trade goods become available to 10m (it was 20m for five trade good types).

10m aligns with the point at which civilians will consider creating mining colonies in the same system.
 

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #182 on: December 18, 2019, 08:09:27 AM »
Multiple Window Instances

I'm not sure if I mentioned this anywhere so...

In C# Aurora, you can open multiple instances of each window except for the tactical map. So you can have multiple class windows, galactic map windows, fleet windows, etc.. Each time you click the Fleet window button (for example) another Fleet window opens.

This is useful for comparing classes for example. However, you can also drag and drop between two windows of the same type. For example, you could drag a ship from a fleet on one window and drop it on a fleet on a second window, or drag a ground unit from one Ground Forces windows under the hierarchy of an HQ on the second Ground Forces window.

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #183 on: December 21, 2019, 06:20:26 AM »
Populations as Text

This change is purely to aid AARs.

The Economics window has two new buttons; 'Pop as Text' and 'All Pop as Text'. Pressing the first pops up a window with a text version of the population. The text lists population amount, shipyard capacity, maintenance capacity and the number of each installation present. This is intended for copying directly into an AAR. The text is already highlighted so you just press ctrl - c to copy it. An example is shown below.

The 'All Pop as Text' button does the same, but for all populations instead of just one. This 'press a button and copy' was how I did the 'State of the Imperium' section in my last campaign post. The populations will appear in the same order as the population tree on the left of the window. If you exclude civilian colonies from the tree, they will be excluded from the text as well.

Terra
Population: 1576.67m
Naval Shipyard Capacity: 489,622 tons
Commercial Shipyard Capacity: 2,520,000 tons
Maintenance Capacity: 666,000 tons
Research Facility: 48
Ground Force Construction Complex: 9
Construction Factory: 562
Ordnance Factory: 246
Fighter Factory: 100
Mine: 104
Automated Mine: 10
Fuel Refinery: 400
Maintenance Facility: 333
Financial Centre: 132
Deep Space Tracking Station: 9
Mass Driver: 1
Military Academy: 5
Naval Headquarters: 1
Spaceport: 1
Infrastructure: 30
Low Gravity Infrastructure: 100
« Last Edit: December 21, 2019, 07:08:14 AM by Steve Walmsley »
 
The following users thanked this post: Garfunkel, Britich, DIT_grue, TMaekler, Rye123, Stryker, joansam

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #184 on: December 21, 2019, 07:07:43 AM »
Delete Empty Colonies

With the new ground survey rules, I find I am creating colonies for the purpose of the survey and then being left with empty colonies scattered throughout the Imperium. I also have colonies that were created for various purposes but are now abandoned or never exploited.

Therefore, I have added the 'Delete Empty' button to the Economics window. This button will remove any colonies where all the following conditions are true.

There are no colonists
There are no installations
There are no abandoned installations
There are no ground forces at the colony
There is no ordnance stored at the colony
There are no components stored at the colony
There are no fleets orbiting the colony
There are no fleets with this colony as a destination
There is no ground survey potential
The colony is not exempt from deletion (see below)

A second button 'Empty Exempt' toggles a flag to prevent the colony from being deleted when the 'Delete Empty' button is pressed. The exempt status is noted on the colony summary. This is for those worlds that you do plan to exploit at some point, even though it currently meets the conditions for deletion.
 
The following users thanked this post: Ayeshteni, Garfunkel, Britich, Doren, JacenHan, DIT_grue, CAPFlyer, TMaekler, serger, Xtrem532, Rye123, Stryker, gpt3

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #185 on: December 21, 2019, 12:49:55 PM »
Fleet Distance and Time

When a fleet is given orders, the Naval Org window will show both the distance and time required for those orders, so you now know (for example) when vital Gallicite shipments will reach your home world. See at the top of the screenshot below.

There are a few other enhancement, such as military tonnage in the fleet (which helps with checking maintenance requirements) and total fleet cost.

 
The following users thanked this post: Garfunkel, Marski, Britich, QuakeIV, Neophyte, DIT_grue, TMaekler, Rye123, King-Salomon, Stryker, Kiri, gpt3

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #186 on: December 26, 2019, 07:52:29 AM »
Fire Delay

The Fire Delay mechanic for inexperienced ships has changed for C#. The delay is about half that in VB6 and is on a bell curve. I decided to reduce the delay because it was never a major issue for long-range missile combat but it could be a very long time in energy range combat. The new mechanic reduces the delay overall and makes the maximum delay far less likely. Note that this is not the same as a jump delay, which remains the same.

A fire delay happens when a ship with less than 100% Fleet Training either opens fire or changes target. The formula is as follows:

Round ((1 - (Fleet Training Points / 500)) * (1 - Reaction Bonus) * Random(10) * Random(10) * 0.5)

For example, a ship with 20% fleet training (100 points) and a 10% reaction bonus would be: Round (0.8 * 0.9 * Random(10) * Random(10) * 0.5), which is anything from no delay to 36 seconds, with the likely outcomes in the middle of that range. 15-20 seconds for a relatively inexperienced ship is long enough to disrupt coordination in a close-range battle, but not so long it is crippling or difficult to accept in terms of reality. A ship with 100% fleet training will suffer no delay and ships with high percentages are more likely to have no delay.
 
The following users thanked this post: Garfunkel, Britich, Doren, DIT_grue, RagnarVaren, TMaekler, serger, Rye123, Stryker, joansam

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #187 on: December 26, 2019, 07:56:39 AM »
Fleets as Text

This is similar to the earlier 'Populations as Text' function. A new button on the Naval Organization window will open a window with a text version of the ships in the fleet. The text lists each ship class in the fleet with the names of each ship of that class alongside. For ships of 1000 tons or less, the number of ships is displayed, rather than the names. This is intended for copying directly into an AAR. The text is already highlighted so you just press ctrl - c to copy it. An example is shown below. I added the italics manually afterwards.

Expeditionary Fleet
Lunar III class Cruiser: Agrippa
Dictator II class Cruiser: Fortitude
Dominator class Cruiser: Ultima Praetor
Endeavour II class Light Cruiser: Endeavour, Sword of Voss
Dauntless IV class Light Cruiser: Divine Crusade, Guardian, Hammer of Truth, Vigilant
Vanguard III class Strike Cruiser: Angelic Blade, Dread Argent
Cobra III class Destroyer: Arbitrator, Omnis Arcanum
Firestorm IV class Frigate: Harrower, Just Persecution, Liberator
Sword III class Frigate: Achilles, Mariatus, Rapier
Falchion III class Jump Frigate: Scimitar
6x Thunderhawk II class Assault Transport:
16x Starhawk III class Bomber:
5x Aquila class Lander:
 

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #188 on: December 27, 2019, 02:56:52 PM »
Ground Combat Hostile Force Intelligence

I've already posted the rules regarding how you learn about the different classes of hostile ground units: http://aurora2.pentarch.org/index.php?topic=8495.msg116121;topicseen#msg116121

This post covers intelligence regarding the size and composition of the hostile force in a given ground combat zone. After each combat round, an update is provided on the estimated hostile force. The estimate becomes more accurate as time passes. For each type of hostile ground unit om the combat zone, the following process is used:

The Intel Error Range is 200 / Number of Combat Rounds.
Intel Error is 1 + (Random (Intel Error Range) / 100);
50% of the time, the actual number of alien units is multipled by the Intel Error and 50% of the time the actual number of alien units is divided by the Intel Error.

For example, if there are 1000 units of a particular alien class, the intelligence following the second combat round could indicate between 500 and 2000 units. After 10 combat rounds, the intelligence reporting range will be 833 to 1200 units.
 
The following users thanked this post: Garfunkel, Britich, Doren, DIT_grue, TMaekler, Munashe, Rye123, JustAnotherDude, Stryker

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #189 on: January 02, 2020, 07:44:04 AM »
Civilian Movement Restrictions

A system can be flagged as 'Military Restricted' on the Miscellaneous tab of the Galactic Map. Once flagged, civilians will avoid the system. Civilians will also avoid any system flagged as alien-controlled.

A population can be flagged as 'Military Restricted' on the Civilian Economy tab of the Galactic Map. Once flagged, civilians will avoid the population.

When a system or population is flagged as restricted, any colony ships en route will be diverted to other destinations. Freighters en route will abandon their cargo and seek new trade runs. You will receive a popup warning on that basis before confirming the new status.

N.B In the past, I have been very reluctant to have restrictions on civilians, mainly because this would allow the players to effectively exercise direct control and consequently the civilians would just become an extension of the government. For example, using the above option, you could restrict every system except the one that you would like civilians to colonise. However, there are many ways to exploit Aurora if that was the goal of the player, so I've decided to leave it to players to role-play their preferred way of handling civilians.

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #190 on: January 04, 2020, 03:35:40 PM »
Point Defence Fire Control

VB6 has a restriction that each fire control can only engage a single target during point blank fire. I've removed that restriction for C#. Each weapon can still only engage a single salvo.

In VB6, missiles moved in descending order of speed. In C# that has changed to descending order of speed then by descending order of salvo size, so the largest salvos of the same type of missile will move first. Consequently, your point defence will engage the largest salvos first.

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #191 on: January 12, 2020, 10:05:46 AM »
Tractor Any Ship

I've added a new order to "Tractor Any Ship in Fleet". A tug with this order will tractor the largest ship in the target fleet, without you having to specify the ship.

This allows you to create an order cycle to move a group of space stations (terraformers, fuel harvesters, orbital miners, etc.) from one location to another without having to specify each ship individually. With the new space station rules in C# Aurora, this will happen a lot, so this new order is designed to protect my sanity :)

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #192 on: January 22, 2020, 05:12:45 AM »
Story Characters

A commander can be flagged as a 'Story Character'. A Story Character will not suffer accidents or ill health and will not be automatically retired. This could be abused for scientists :) but I will leave it up to players how they want to use this option.

You can also flag a commander as 'Do Not Promote'. The commander will remain in his current rank and not undergo automatic promotion.

Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #193 on: January 22, 2020, 08:24:32 AM »
Engine Technology Progression

I've updated the engine technology progression to include a couple of extra early levels that will smooth out the speed progression. In addition, Ion has been increased from 12 to 12.5 and Plasma Core Anti-matter changed from 60 to 64. See below for old and new engine progressions. Also (not shown), I've changed conventional engine power from 0.2 to 1.0 to make the conventional era more interesting.



Power plants have been updated on the same lines, with two new additions and minor changes to power ratings


Offline Steve Walmsley (OP)

  • Aurora Designer
  • Star Marshal
  • S
  • Posts: 12036
  • Thanked: 22710 times
Re: C# Aurora Changes List
« Reply #194 on: January 22, 2020, 12:30:39 PM »
Diplomacy Part 1: Basic Framework

This post replaces the previous post on the Diplomacy module and covers the basic framework for Diplomacy in C#. Future posts will provide more detail, such as territorial claims.

Diplomacy Module
The Diplomacy Module is new for C# Aurora and replaces Diplomatic Teams. It also affects communication attempts. The module is 30 HS, costs 300 BP and requires 50 crew. The minerals required are Corbomite, Mercassium and Vendarite. It is a starting technology in both TN and conventional starts.

Communication
For communication checks to take place both sides must have ships and/or populations in the same system and both sides must be able to detect the other. Communication checks will only take place if both sides have a status of "Attempting Communication". In other words, you can't translate their language if they refuse to talk to you. Diplomacy cannot take place until full communication is established. Alien races may take exception to your presence in this situation, based on a number of factors will be covered in a future post.

For communication attempts, the highest Communication bonus of any commander of a ship with a Diplomacy module in one or more of the contact systems will boost any positive results achieved through the communication process (which is otherwise the same as VB6). If no Diplomacy module is present in any of the contact systems or the commander has no communication bonus, any positive gains toward full communication are halved.

Basic Diplomacy
Basic diplomacy follows similar principles to VB6 Aurora. Actions by each side generate positive or negative diplomatic points. As the total of diplomatic points goes above or below certain thresholds, high level treaties (trade, sharing of data, etc.) are put in place and the general level of cooperation changes (hostile, neutral, friendly, allied).

The primary method of generating diplomatic points is via the Diplomacy module. The module must be located in a system where the target alien race has ships and/or populations and both sides must be able to detect the other. Diplomacy can only take place when full communication has been established. The highest Diplomacy bonus of any commander of a qualifying ship is used. The number of points generated per year is as follows:

Diplomacy Points = ((Diplomacy Bonus * 4) + 1) * 100 * (1 – (Target Racial Xenophobia / 100))

For example, an officer with 20% Diplomacy trying to influence an alien race with Xenophobia of 40 would have the following calculation: (((0.2) * 4) + 1) * 100 * (0.6) = 108 Points.

If there is contact but no Diplomacy module in a contact system or the commander has no Diplomacy bonus, then no points are generated from this process (although other factors may generate points - covered in a future post).

If there is no contact at all, even via civilian ships, then Diplomacy Points will move toward zero, from either direction. The annual rate of change is the Xenophobia of the viewing race when the starting point is positive and 100 – Xenophobia when the starting point is negative. For example, the view of a race with 25 Xenophobia will only fall 25 points when the starting point is positive but will rise by 75 points when the starting point is negative. Low Xenophobia races are quicker to forgive transgressions and vice versa.

Existing treaties or diplomatic statuses will improve relationships over time. Different treaties have a base influence that is measured in diplomatic points per year multiplied by (1 – (Racial Xenophobia / 100)). For example, a trade treaty has a base influence of 100 diplomatic points per year. If two races have respective Racial Xenophobia of 30 and 60, then while a treaty is in place the view of the first race will improve by 70 diplomatic points per year while the view of the second ace will improve by 40. It takes longer to build trust with higher Xenophobia races.

Trade, Geological and Gravitational treaties all have a base influence of 100. A research treaty has a base influence of 200. A diplomatic status of friendly has a base influence of 100, while a diplomatic status of allied has a base influence of 200.

Positive and Negative diplomatic points will be gained through other events, many of which will be defined in future posts. An example of a negative impact is combat. Negative diplomatic points are suffered due to damage inflicted by an alien race using the following rules:

Each point of damage from a hit that only damages shields: 0.1
Each point of damage from a hit that causes armour damage but not internal: 0.25
Each point of damage from a hit that causes internal damage: 1.0
Each point of space-based damage to populations, ground forces or shipyards: 1.0
Each ton of ground forces destroyed in ground-based combat: 0.01

If diplomatic relations are above the hostile level (-100), then even a single point of damage through combat will reduce relations to that point. However a period of mutual non-interaction following a small clash will probably return the diplomatic status to neutral. For example, if communications are established you may ask a survey ship to leave your system (mechanics in a future post). If that didn't work or you did not have communication, you can slightly damage that ship. An unarmed ship would retreat from hostile aliens and the immediate impact would be the alien race treating you as hostile. However, with no further combat in the short term, the status would soon return to a wary neutrality. Future communication and diplomacy would still be an option. Larger wars are harder to resolve but peace treaties will be covered in a future post.

I know that "future posts" are mentioned several times, but I wanted to lay out the basic framework so I can build upon it.
« Last Edit: March 26, 2020, 01:23:12 PM by Steve Walmsley »