Author Topic: C# Aurora v0.x Suggestions  (Read 349635 times)

0 Members and 3 Guests are viewing this topic.

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11661
  • Thanked: 20383 times
Re: C# Aurora v0.x Suggestions
« Reply #900 on: January 09, 2019, 05:23:15 PM »
An option to 'Create Home System' would be easy, as the NPRs already have that function. Yes, there are a number of fixed starting systems in VB6 for NPRs created at game start. That doesn't exist in C# - everything is created from scratch. It only take a second or two to generate and discard all the unsuitable systems until a suitable home system is generated. Every NPR starting system is unique.

A possibly simple addition to a 'Create Home System' function would be to allow the player to set some criteria and then generate and discard systems until one that meets the criteria is found. Possible simple criteria might be:

  • Min/Max stars
  • Min/Max planets
  • Min/Max moons
  • Min/Max asteroids
  • Min/Max asteroid belts
  • Min potential homeworlds (acceptable gravity and base temperature; atmospheric adjustments can be made by the player)
  • Min/Max distance to furthest system body

This way, if wanting to do something like a multi-faction multi-planet start in a large complex system, you could easily generate systems with the desired number of homeworlds and some larger minimums to ensure a big complex system. An option to abort in case the criteria are too strict and it just keeps running without a match would be good, or even an auto-fail after some (large, I assume it will go pretty fast) number of tries.

More complex criteria would be like min. potential homeworlds around a single gas giant, min. stars w/ at least 1 homeworld orbiting (to create a binary system with a homeworld around each component), or optional tighter homeworld criteria (like for a particular species if you want multiple homeworlds for human factions, not just good enough to generate a species that matches the homeworld). I'm sure I and others could think of many criteria, but even a fairly basic set would be useful.

it isn't easy to do what you suggest. The system generation uses a lot of science to create 'realistic' systems, including separation of planets, limits to where they can form, types of worlds likely at certain distance, etc. so you can't simply choose how many home worlds you want for example. These are an early form of the rules I use for Aurora's system generation (I can't find the latest version online anywhere). It took about a year to code this for the VB6 version (a lot faster in C#).

http://sol.trisen.com/downloads/wg.pdf
 
The following users thanked this post: SpikeTheHobbitMage

Offline zatomic

  • Petty Officer
  • **
  • z
  • Posts: 27
  • Thanked: 11 times
Re: C# Aurora v0.x Suggestions
« Reply #901 on: January 09, 2019, 09:16:46 PM »
My apologies, I may not have been clear. The idea is that it would generate a random system precisely as it does now, and then simply compare it to the criteria. If it matches, it's done. If it doesn't match, it throws it out and tries again. If I understand what you've said previously, that's how it works now to create NPR homeworlds. Since C# is so much faster, it can just keep generating and tossing systems till it gets one with a suitable body to use as a homeworld. I'm just proposing additional criteria the player can set.

Obviously, if I tell it I want exactly 576 asteroids and 17 habitable planets, it will probably run forever (hence the need for an abort or to auto fail after, say, 1000 tries or 1 minute or something). But if I tell it I want a binary system with at least 200 asteroids and at least 2 habitable planets, it will likely find one (eventually). It just automates the process of clicking 'generate system' and then looking to see if it meets your needs, then either deleting and trying again, or keeping it. (at least the needs that are easily definable and check-able by the computer).
 

Offline Profugo Barbatus

  • Gold Supporter
  • Warrant Officer, Class 1
  • *****
  • P
  • Posts: 78
  • Thanked: 19 times
  • Gold Supporter Gold Supporter : Support the forums with a Gold subscription
    2021 Supporter 2021 Supporter : Donate for 2021
    2022 Supporter 2022 Supporter : Donate for 2022
    2023 Supporter 2023 Supporter : Donate for 2023
Re: C# Aurora v0.x Suggestions
« Reply #902 on: January 09, 2019, 09:34:10 PM »
it isn't easy to do what you suggest. The system generation uses a lot of science to create 'realistic' systems, including separation of planets, limits to where they can form, types of worlds likely at certain distance, etc. so you can't simply choose how many home worlds you want for example. These are an early form of the rules I use for Aurora's system generation (I can't find the latest version online anywhere). It took about a year to code this for the VB6 version (a lot faster in C#).

http://sol.trisen.com/downloads/wg.pdf

So your saying that when I get a garbage star system, I can blame reality instead of you?

Either way, impressive. I knew Aurora used some pretty hard logic to gen the systems, but I didn't realize you based it off something this thorough.
 

Offline rhiwaow

  • Able Ordinary Rate
  • r
  • Posts: 4
Re: C# Aurora v0.x Suggestions
« Reply #903 on: January 10, 2019, 12:01:25 AM »
some things i've been sorely missing in 7.  10: when designing tech, you can have a random (or custom) company name prefix to the tech, and also the tech name is autogenerated (even when changing specs, it gets re-generated)
what i'd love to have is
a) a selection of previous company names used with this tech, ideally with a little bit of customizable information like civilian/security/military grade hardware company
b) when i modified the name, i'd prefer aurora to keep the name even if i modify the specs afterwards; maybe an additional button "autogenerate" which gets enabled/disabled by the same flag storing the "customized name" state could be added for that
c) for autogenerating names, i'd love to be able to modify the naming convention; for example, i didn't much care for the power need on energy weapons, but the recharge time instead. 
d) when designing ships (and at many other places relevant to combat), the component names column was too small, and the relevant information wasn't visible (especially when it came to fire controls and sensors, it got tricky to distinguish between the point defense systems and the anti-ship/long range systems produced by the same company); edit: maybe add a tooltip with the full name?

apologies if i missed some/all of these changes already having been discussed, or even better implemented.   there's been so many beautiful changes for c# version, i might have missed them :)
« Last Edit: January 10, 2019, 08:11:37 AM by rhiwaow »
 

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #904 on: January 10, 2019, 04:20:33 AM »
Would it be possible to see some kind of "projection" as to how much minerals (in production and maintenance) and fuel demand a certain size of fleet does have (other than manually calculating them in an excel sheet for myself)? Would be nice to have a dialog in Aurora where I can insert the planned size of a fleet or army and I can see how much the total production cost & time would be, as well as the maintenance for that over a certain time periode. For fleets it would also be interesting to see how much fuel such fleet would need if it would be driving around permanently (to see how long it would take until one runs out of fuel).
 

Offline tobijon

  • Warrant Officer, Class 1
  • *****
  • t
  • Posts: 91
  • Thanked: 11 times
Re: C# Aurora v0.x Suggestions
« Reply #905 on: January 10, 2019, 06:35:59 AM »

it isn't easy to do what you suggest. The system generation uses a lot of science to create 'realistic' systems, including separation of planets, limits to where they can form, types of worlds likely at certain distance, etc. so you can't simply choose how many home worlds you want for example. These are an early form of the rules I use for Aurora's system generation (I can't find the latest version online anywhere). It took about a year to code this for the VB6 version (a lot faster in C#).

http://sol.trisen.com/downloads/wg.pdf

wow, that is such an awesome document, thank you
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11661
  • Thanked: 20383 times
Re: C# Aurora v0.x Suggestions
« Reply #906 on: January 10, 2019, 06:40:53 AM »
http://sol.trisen.com/downloads/wg.pdf

wow, that is such an awesome document, thank you

No problem. It has been invaluable for me and I still have the copy of the updated version that I printed out about 20 years ago. I have shared it before but it deserves as wide an audience as possible.
 

Offline amram

  • Lieutenant
  • *******
  • a
  • Posts: 154
  • Thanked: 79 times
Re: C# Aurora v0.x Suggestions
« Reply #907 on: January 10, 2019, 07:11:03 AM »
b) when i modified the name, i'd prefer aurora to keep the name even if i modify the specs afterwards; maybe an additional button "autogenerate" which gets enabled/disabled by the same flag storing the "customized name" state could be added for that
c) for autogenerating names, i'd love to be able to modify the naming convention; for example, i didn't much care for the power need on energy weapons, but the recharge time instead.
d) when designing ships (and at many other places relevant to combat), the component names column was too small, and the relevant information wasn't visible (especially when it came to fire controls and sensors, it got tricky to distinguish between the point defense systems and the anti-ship/long range systems produced by the same company)
^ This, so much this.

I'd kill for formatting tokens that can be used in the name which pull details from the design specifications, both selected tech and calculated results.

Given the quantity of useful information, perhaps enumerate alphabetically with a-z as tokens or the actual variable names wrapped in angle brackets(<var_name>)?  Something of the sort. Anyways, I'll assume a-z tokens for now.

Then, for engines, perhaps something like what I buried in the OT tag for brevity.
Off-Topic: show
token   variable
a   Engine Technology
b   Power/Efficiency Modifier
c   Fuel Consumption Technology
d   Fuel Use Per Hour
#e   Fuel Use Per Hour - Rounded
f   Fuel Consumption per Engine Power Hour
#g   Fuel Consumption per Engine Power Hour - Rounded
h   Thermal Reduction Technology
i   Thermal Signature
#j   Thermal Signature - rounded
k   Engine Size (HS)
#l   Engine Size (HS) - Padded
m   Engine Size (tons)
#n   Engine Size (tons) - Padded
o   EP
#p   EP - Rounded
q   Engine Technology

Possibly using % as the token identifier?  %% to escape and get a % in the name.  Rounding tokens taking an integer as total digits precision from left most digit.  Padded tokens taking an integer for inserting leading zeroes if necessary to keep them that many digits so they both text align and sort correctly.

Assuming the following tech input for an engine, Magnetic Confinement Fusion, 1.15 Power/Efficiency, 0.3 Fuel Consumption, 0.35 Thermal reduction, 19 hull size.
I could then enter a name such as:
HS:%k P:%b F:%c T:h EP:%o
and I'd get something like :
HS:19 P:1.15 F:0.3 T:0.35 EP:546.25
or

Assuming the following tech input for an engine, Magnetic Confinement Fusion, 0.85 Power/Efficiency, 0.3 Fuel Consumption, 0.35 Thermal reduction, 7 hull size.
I could then enter a name such as:
Vega Mk2 %#2lHS %3eFPH %2pEP Engine
to get:
Vega Mk2 07HS 27.6FPH 150EP Engine
where un-rounded, FPH is 27.64, and EP is 148.75


Or the aforementioned energy weapons, say, laser:
Off-Topic: show
token   variable
a   Focal Size
b   Focal Size - Final
c   Wavelength
d   Capacitor Recharge Rate
e   Reduced Size
f   Energy Weapon Mount
g   Damage Output
h   Rate of Fire
i   Rate of Fire - 5s Increments
j   Range Modifier
k   Max Range
l   Max Range - 10k km
m   Max Range - Practical
n   Max Range - Practical - 10k km
o   Effective Range
#p   Effective Range - 10k km
q   Size (HS)
r   Size (Tons)
s   Power Requirement
t   Power Recharge

Where the practical range is the game restricted maximum range rather than the weapon range, end effective range takes an integer specifying damage to yield range for.

then, assuming the following tech input:
40cm, X-ray, Capacitor 8, Reduced Size 0.75, Spinal
and a name such as the default is:
%bcm C%u %c Laser
or:
50cm C2 X-Ray Laser

alternatively, this name might be used:
%bcm Laser (Spinal %a) ROF-%j D64-16-4=%20p-%10p-%5p k km %rt

50cm Laser (Spinal 40) ROF-32 D64-16-4=7-28-112 k km 600t

Indicating that its a 40cm focal size, uprated to 50cm via spinal, takes 32 increments to recharge, and puts out 64 damage to 70,000km, 16 damage to 280,000km, and 4 damage to 1,120,000km, and masses 600t.

15cm, X-ray, Capacitor 12, Reduced Size 1.0
%bcm Laser ROF-%j D64-16-4=%64p-%16p-%4p k km

15cm Laser ROF-2 D64-16-4=0-2-10 k km


The obvious insertion of flavour is as simple as its ever been under this system, just place raw text as you see fit, and use as few or many tokens as desired.

If we had that, naming schemes other than stock which involve one or more criteria from the design become painless to utilise, rather than an effort to remain consistent with theme/past designs due to having to manually edit the name for every design you ever make, patterned or not.
 
The following users thanked this post: Scandinavian

Offline Father Tim

  • Vice Admiral
  • **********
  • Posts: 2162
  • Thanked: 531 times
Re: C# Aurora v0.x Suggestions
« Reply #908 on: January 10, 2019, 08:48:33 PM »
. . .  If we had that, naming schemes other than stock which involve one or more criteria from the design become painless to utilise, rather than an effort to remain consistent with theme/past designs due to having to manually edit the name for every design you ever make, patterned or not.

I would love such a system, though I would note that this is pretty much exactly what I do now, only manually.  Either by including actual summary code (Sz3, Cap3, etc.) or 'tags' corresponding to certain qualities (such as Muzzle Loading, Breech Loading, or Quick-Firing for a general indication of RoF).
 

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #909 on: January 11, 2019, 04:34:23 AM »
Will planetary sensor stations still be available in C#? If so, I would suggest to remove them. Having a building that essentially can give you "unlimited" passive sensor range goes contrary to the reduced ranges of the new sensor model, I think.

If I recall correctly, they are needed for an empire to be able to contact other races. I once created two races on one planet without having sensors buildings - and they couldn't see each other - so no communication. Maybe then repurposing this building into a "central radio antenna system". You have to have it once in a system to be able to communicate.
« Last Edit: January 11, 2019, 04:37:25 AM by TMaekler »
 

Offline King-Salomon

  • Lieutenant
  • *******
  • Posts: 153
  • Thanked: 38 times
Re: C# Aurora v0.x Suggestions
« Reply #910 on: January 11, 2019, 04:54:57 AM »
Will planetary sensor stations still be available in C#? If so, I would suggest to remove them. Having a building that essentially can give you "unlimited" passive sensor range goes contrary to the reduced ranges of the new sensor model, I think.

If I recall correctly, they are needed for an empire to be able to contact other races. I once created two races on one planet without having sensors buildings - and they couldn't see each other - so no communication. Maybe then repurposing this building into a "central radio antenna system". You have to have it once in a system to be able to communicate.

The new sensor formula reduces the benefits of creating large numbers of deep space tracking stations a lot ... so I guess it is just uneconomical to build them in such numbers that they give "unlimited sensor range" http://aurora2.pentarch.org/index.php?topic=8495.msg103085#msg103085
 

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #911 on: January 11, 2019, 06:27:06 AM »
Two ideas for the "Game Start Options":

a) Invert "No Maintenance Required". All other options are formulated in the positive - only this one isn't. For logical consistency I suggest to turn it around, and mark is by default: "Maintenance Required" at the start of a new game.

b) Add "(in Years)" after "Truth Countdown". So you know what time increment is meant here.

And one for the "Economics"-Screen:
Show also Population Limit for "Size of Planet" next to "Supported by Infrastructure"
« Last Edit: January 11, 2019, 06:33:20 AM by TMaekler »
 
The following users thanked this post: Barkhorn

Offline King-Salomon

  • Lieutenant
  • *******
  • Posts: 153
  • Thanked: 38 times
Re: C# Aurora v0.x Suggestions
« Reply #912 on: January 11, 2019, 11:54:52 AM »
About the new "Genetically Enhanced Soldiers" I would suggest that they can only be chosen when a Genetic Modification Center is also on the planet/body.
 

Offline Scandinavian

  • Lieutenant
  • *******
  • S
  • Posts: 158
  • Thanked: 55 times
Re: C# Aurora v0.x Suggestions
« Reply #913 on: January 11, 2019, 02:01:58 PM »
About the new "Genetically Enhanced Soldiers" I would suggest that they can only be chosen when a Genetic Modification Center is also on the planet/body.
That seems unnecessary. The GMC is for mass conversion of entire civilian populations. A facility for small scale enhancements on a few thousand soldiers should be possible to fit within a GFTF.

Something else to consider is allowing players to apply subspecies mods to their ground forces, and have colony cost modify their HP (or supply/maintenance consumption). That way you could play gene tweaking as being pioneered in order to harden soldiers against extreme cold or low gravity operational environments, and then rolled out for general civilian deployment in colonist communities.
 

Offline TCD

  • Lt. Commander
  • ********
  • T
  • Posts: 229
  • Thanked: 16 times
Re: C# Aurora v0.x Suggestions
« Reply #914 on: January 11, 2019, 03:17:49 PM »
Something else to consider is allowing players to apply subspecies mods to their ground forces, and have colony cost modify their HP (or supply/maintenance consumption). That way you could play gene tweaking as being pioneered in order to harden soldiers against extreme cold or low gravity operational environments, and then rolled out for general civilian deployment in colonist communities.
While the extra possibilities of that are appealing, at the same time I'd worry about the extra complexity. I mean ground combat is already getting a lot more complicated, it would be easy to get carried away and go too far.

If you wanted to add more genetics/biology options then I'd prefer to see something else. How about "advanced medicine" research that reduced the chance of serious illness/death events for leaders?

Or even biological warfare? W40k is full of viral bombing of planets. Hard to get the balance right. Perhaps a weapon that kills a % of the population but that had be deployed on the ground as a unit weapon rather than from a missile? Then you'd need to at least force a landing, rather than just nuke from space. I'd assume the % starts small and then increases for each extra research level.

The follow up questions would be whether soldiers are also killed, or do we assume them to have sealed battle suits anyway? And would you also create a tech line to reduce the impact? Maybe a "Viral containment unit" vehicle component so that we can have unmarked trucks full of haz-mat suited scientists and soldiers "cleaning up" infected areas.