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

0 Members and 1 Guest are viewing this topic.

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #765 on: December 19, 2018, 08:42:11 AM »
Since we're talking about SM option wishes: could you add the option to let us modify a planet's characteristics as SM? Things like size, albedo, mass, density, gravity, etc.

The UI to make such a change is straightforward but the interactions are not. The density will affect mass and gravity (and vice versa), size will also affect mass and gravity while albedo will change the temperature (and therefore potentially the atmosphere, hydrosphere, dominant terrain and colony cost).

Changing the atmosphere by itself is fine as the code will react to that, but changing the more basic physical characteristics is trickier. Even when generating NPR home worlds in C# Aurora, I keep generating systems until I find a suitable planet/moon and then just adjust the atmosphere. I don't mess with the planets themselves post-generation.

 

Offline joeclark77

  • Commander
  • *********
  • j
  • Posts: 359
  • Thanked: 3 times
Re: C# Aurora v0.x Suggestions
« Reply #766 on: December 19, 2018, 09:26:31 AM »
You mentioned that you're coming up with new ideas for spoilers.  I'd like to suggest space pirates.  These would be NPC combat dropships that come out of nowhere, capture your commercial and civilian ships, then (like an infection) they add a combat drop capability to those captured ships.  By "coming out of nowhere" I suggest they're either very stealthy (disguised as commercial ships?), or they hide out in nebulas and on the unwatched sides of jump gate to strike where you might be vulnerable.
 

Offline Tree

  • Sub-Lieutenant
  • ******
  • Posts: 143
  • Thanked: 27 times
Re: C# Aurora v0.x Suggestions
« Reply #767 on: December 19, 2018, 09:52:11 AM »
The UI to make such a change is straightforward but the interactions are not. The density will affect mass and gravity (and vice versa), size will also affect mass and gravity while albedo will change the temperature (and therefore potentially the atmosphere, hydrosphere, dominant terrain and colony cost).
Aw I thought that'd be the problem.

Changing the atmosphere by itself is fine as the code will react to that, but changing the more basic physical characteristics is trickier. Even when generating NPR home worlds in C# Aurora, I keep generating systems until I find a suitable planet/moon and then just adjust the atmosphere. I don't mess with the planets themselves post-generation.
Then would it be possible to have a new button (or whatever else is convenient)? Something like "create home system", as opposed to "create system", generating systems until it makes up something suitable for an NPR, but doesn't actually spawn an NPR? Though with how fast system generation no doubt is in C#, it might become entirely useless, unlike in VB where it can take some RL time to get an inhabitable system only because generation itself takes so long.
Didn't NPR use to have fixed starting systems in VB instead and skipping the system generation entirely, by the way?
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #768 on: December 19, 2018, 09:56:40 AM »
What I would like to see is some SM options to handle NPRs better ( and also make providing feedback easier ).

1.) A SM option to view a specific NPR, but not touch anything. Basically you can go into all the interfaces like it was a normal race, but all action buttons are grayed out.
2.) A SM option to irreversibly convert a specific NPR to become a player controlled empire instead. Disables all AI functions and you now need to play it, could be helpful if the game get stuck due to some NPR/AI bug and you really want to continue it, or if you see the NPR AI doing something incredibly stupid and you want to take control to play out the "what if" scenario.

The first option is probably quite a bit of work, but I think it could be very helpful to provide feedback and improvement suggestions if we are able to observe the AI play "in action" so to speak. It could also be really cool to see some AARs written from the NPR perspective or detailing NPR vs NPR wars. Perhaps having a fully hands off start mode where you only can observe one or multiple NPRs could help with speeding up AI development and testing.

At the moment I am using the 'designer mode' option to reveal all NPRs, although all the buttons are active. Unlike VB6 I can actually give the NPR fleets orders in some cases, although they may be overridden if the fleet is a type of operational group that is periodically reviewed by a higher level AI (the interval between reviews is dependent on operational group type and whether hostile forces are nearby). It would be a lot of work to disable everything as there are a LOT of potential buttons to press. Theoretically, it would be easier to leave designer mode as is and warn people not to touch anything because it could cause errors, although I suspect some people would not be able to resist and then I end up with bug reports that aren't real :).

Converting an NPR to a player race would not be difficult, as it would just be a case of removing the AI. There is an AI object in each NPR Race, System, Fleet, Ship and Population object (composition rather than inheritance). If I take those out and flip the Race level 'NPR' flag, the NPR will suddenly be a player race.

 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #769 on: December 19, 2018, 10:02:11 AM »
Then would it be possible to have a new button (or whatever else is convenient)? Something like "create home system", as opposed to "create system", generating systems until it makes up something suitable for an NPR, but doesn't actually spawn an NPR? Though with how fast system generation no doubt is in C#, it might become entirely useless, unlike in VB where it can take some RL time to get an inhabitable system only because generation itself takes so long.
Didn't NPR use to have fixed starting systems in VB instead and skipping the system generation entirely, by the way?

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.
 
The following users thanked this post: Tree

Offline King-Salomon

  • Lieutenant
  • *******
  • Posts: 153
  • Thanked: 38 times
Re: C# Aurora v0.x Suggestions
« Reply #770 on: December 19, 2018, 11:02:32 AM »
An idea for a new Spoiler Race or a "special and rare NPR":

A race with a specially ability/tech which shields from missiles to 100% - somethink like a craft field which let's detonate missiles in a save distant

This would lead the Player to get "0 damage" results in the overview as his missiles detonate so he might miss the fact that his missiles are useless the first few times...

to balance this, the Spoiler/NPR itself is not allowed to have missile launcher itself too but would need to have fast ships...

so it would bring a race into the game which must be attacked/defended against with other weapons than missiles - and give the player a nasty suprise if he encounter them the first time... no more "missile only" battles/research... but it should be rare enough to suprise the player

the tech for these (if not coded as a Spoiler-ability but added as a ship module) is strictly non-player ... which means even if it is a ship module it can't be research by the player but it MIGHT (very rare!!) be salvaged but will not give tech or research when disassembled (just some message "the tech is too alien to get any usefull information" and the module is destroyed)

This would allowthe player to - very rare - build it into one of his ships but only these modules he has luckily found in wracks... but the same rule (no missile launchers of any kind) would also go for a player ship with these modules

a module could come in different variants (100t for a 1000t ship, 500t for a 5000t ship, 1000t for a 10000t ship etc...)

the modules I am not sure about but the possibility to meet an alien Race which is invulnerable to missiles in very rare possibilities could be really fun - especially as it would be a shock for the military and would bring them "around" to review there battleline in view of the new thread...
 

Offline Garfunkel

  • Registered
  • Admiral of the Fleet
  • ***********
  • Posts: 2791
  • Thanked: 1052 times
Re: C# Aurora v0.x Suggestions
« Reply #771 on: December 19, 2018, 01:29:28 PM »
You mentioned that you're coming up with new ideas for spoilers.  I'd like to suggest space pirates.  These would be NPC combat dropships that come out of nowhere, capture your commercial and civilian ships, then (like an infection) they add a combat drop capability to those captured ships.  By "coming out of nowhere" I suggest they're either very stealthy (disguised as commercial ships?), or they hide out in nebulas and on the unwatched sides of jump gate to strike where you might be vulnerable.
Where are they coming from? Are they spawned by your own civilization? Are they spawned by competing human factions? Are they spawned by NPRs? How will they interact with spoilers? If they are created from your own faction, then how can a player prevent their creation in the first place? How can a player eradicate them completely? Where are they getting their ships and crew and missiles and maintenance supplies and fuel? Does a space empire need to be X size before they appear? How many military ships need to be in a system to prevent their spawning? How can they scout things out? Are they completely nullified the moment a player puts down a heavily armed defensive station on a jump point?
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #772 on: December 19, 2018, 01:48:01 PM »
An idea for a new Spoiler Race or a "special and rare NPR":

A race with a specially ability/tech which shields from missiles to 100% - somethink like a craft field which let's detonate missiles in a save distant

This would lead the Player to get "0 damage" results in the overview as his missiles detonate so he might miss the fact that his missiles are useless the first few times...

to balance this, the Spoiler/NPR itself is not allowed to have missile launcher itself too but would need to have fast ships...

so it would bring a race into the game which must be attacked/defended against with other weapons than missiles - and give the player a nasty suprise if he encounter them the first time... no more "missile only" battles/research... but it should be rare enough to suprise the player

the tech for these (if not coded as a Spoiler-ability but added as a ship module) is strictly non-player ... which means even if it is a ship module it can't be research by the player but it MIGHT (very rare!!) be salvaged but will not give tech or research when disassembled (just some message "the tech is too alien to get any usefull information" and the module is destroyed)

This would allowthe player to - very rare - build it into one of his ships but only these modules he has luckily found in wracks... but the same rule (no missile launchers of any kind) would also go for a player ship with these modules

a module could come in different variants (100t for a 1000t ship, 500t for a 5000t ship, 1000t for a 10000t ship etc...)

the modules I am not sure about but the possibility to meet an alien Race which is invulnerable to missiles in very rare possibilities could be really fun - especially as it would be a shock for the military and would bring them "around" to review there battleline in view of the new thread...


I don't mind having an NPR which is particularly resistant to missiles, but it should come from an extension or advancement of in-game tech. I don't want a situation where an alien has what is effectively a 'magic' weapon or defence that the player cannot even come close to duplicating at any point.
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #773 on: December 19, 2018, 01:52:46 PM »
You mentioned that you're coming up with new ideas for spoilers.  I'd like to suggest space pirates.  These would be NPC combat dropships that come out of nowhere, capture your commercial and civilian ships, then (like an infection) they add a combat drop capability to those captured ships.  By "coming out of nowhere" I suggest they're either very stealthy (disguised as commercial ships?), or they hide out in nebulas and on the unwatched sides of jump gate to strike where you might be vulnerable.

The reason there are currently no 'space pirates' in Aurora is that it is very difficult to create any form of in-game justification for them. An NPR that raids other races may be possible (and is on my list) but they need the infrastructure to support that effort, some form of safe harbour or well-protected base (which needs an economic base to build it) and an economic or political justification for that behaviour.

At the moment, Precursors and Swarm fill the pirate niche (a localised enemy with a reason to fight).
 

Offline clement

  • Pulsar 4x Dev
  • Sub-Lieutenant
  • *
  • c
  • Posts: 137
  • Thanked: 13 times
Re: C# Aurora v0.x Suggestions
« Reply #774 on: December 19, 2018, 06:40:18 PM »
What I would like to see is some SM options to handle NPRs better ( and also make providing feedback easier ).

1.) A SM option to view a specific NPR, but not touch anything. Basically you can go into all the interfaces like it was a normal race, but all action buttons are grayed out.
2.) A SM option to irreversibly convert a specific NPR to become a player controlled empire instead. Disables all AI functions and you now need to play it, could be helpful if the game get stuck due to some NPR/AI bug and you really want to continue it, or if you see the NPR AI doing something incredibly stupid and you want to take control to play out the "what if" scenario.

The first option is probably quite a bit of work, but I think it could be very helpful to provide feedback and improvement suggestions if we are able to observe the AI play "in action" so to speak. It could also be really cool to see some AARs written from the NPR perspective or detailing NPR vs NPR wars. Perhaps having a fully hands off start mode where you only can observe one or multiple NPRs could help with speeding up AI development and testing.

At the moment I am using the 'designer mode' option to reveal all NPRs, although all the buttons are active. Unlike VB6 I can actually give the NPR fleets orders in some cases, although they may be overridden if the fleet is a type of operational group that is periodically reviewed by a higher level AI (the interval between reviews is dependent on operational group type and whether hostile forces are nearby). It would be a lot of work to disable everything as there are a LOT of potential buttons to press. Theoretically, it would be easier to leave designer mode as is and warn people not to touch anything because it could cause errors, although I suspect some people would not be able to resist and then I end up with bug reports that aren't real :).

Converting an NPR to a player race would not be difficult, as it would just be a case of removing the AI. There is an AI object in each NPR Race, System, Fleet, Ship and Population object (composition rather than inheritance). If I take those out and flip the Race level 'NPR' flag, the NPR will suddenly be a player race.

Steve, two possible solutions.
1. When a user gives a command to an NPR, set a global flag in the game that is included in the bug report so you can weed those out.

2. Extend the WPF Button class and add a check to see if the game is in SM mode && selected race flag is NPR, then disable the button. Buttons would still be active for you in designer mode assuming the game treats that as a distinct mode from SM.

 

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: C# Aurora v0.x Suggestions
« Reply #775 on: December 19, 2018, 07:20:04 PM »
At the moment, Precursors and Swarm fill the pirate niche (a localised enemy with a reason to fight).

Another idea for spoilers: a nomadic (like Swarm) 'race' that cannibalizes other resources for growth and movement, also much like the swarm. The difference is, while the swarm will eat your ships out of space (and bomb you into the Stone Age? Iono.) these guys focus primarily on landing ground troops and cannibalizing your colonies and/or mining operations. They'd have a respectable presence in space, but nothing special - perhaps a little nastier than the Precursors, but not much. But if they manage to land troops, on the ground they're truly nasty.

Of course the question would be how are these different from a particularly aggressive NPR with an advanced start, but methinks you could make their internal mechanics quite distinct. For example, instead of mining and building infrastructure to build ships and ground troops, they would instead consume infrastructure and convert it into ships and ground troops, eventually leaving a planet de-colonized (with, perhaps, some minor ruins) before moving on.

It would also give you a chance to showcase the newly reworked ground combat and organization system.
 

Offline Rich.h

  • Captain
  • **********
  • R
  • Posts: 555
  • Thanked: 55 times
Re: C# Aurora v0.x Suggestions
« Reply #776 on: December 20, 2018, 02:30:43 AM »
A quick idea for a sort of medical system, if feasible then how about a method of medical emergencies/plagues? At it's most basic this could work on a simple percentage calculator, each year a colony has X% to contract a medical emergency, the further out from the capital system the higher the change of such. To simulate contagious passengers and the like, have a modifier for systems with an existing emergency, so they get an increase in the chance to contract an emergency. To couteract this have a new installation that simply generates "medical points", if there is no current emergency then this installation reduces the chance of one happening by a set percentage per installation, and if an emergency if currently happening then there is a set percentage chance of curing the emergency per installation. As with construction brigades, have a ground unit capable of generating medical points so that you can cure emergencies on colonys with no installations etc. To prevent this being simply paying lip service to the medical services, make the Installations and ground units both expensive to create in the first place, and also consume a large amount of upkeep. This would mean most installations would end up being shutdown for much of the time unless a healthy supply of minerals is fed to them.

So if a colony develops an emergency then what? My thinking is to begin with an ever increasing reduction in population growth, say on a yearly basis. Also the same for unrest and construction. This way it will not instantly cripple a colony, but can be debilitating to new small colonies, and if left long enough can wipe out even a homeworld

Thinigs that come to mind on this that may or may not be doable.

1. Make the distance factor not due to just how many systems, but inside a system also. So an Earth based start would factor in colonies out on Titan as a higher risk factor than Earth.

2. If a colony is set to a destination of colonists then it gets an increase in the chance of emergency, this replicate possible lower standards of quarantine in various civillian shipping lines.

3. Have the emergency as something that is fixed to the planet itself. A colony with So if a colony contracted an emergency it will gain "disease points" each year. The medical installations will remove an amount of points equal to their combined rating for the number of installations/ground units. Once all the disease points are removed the eergency is over and cured. But assuming this did not happen and the colony got wiped out. The disease points would stay fixed onto the planet and then slowly dissipate in a way similar to current radiation and dust. This means you could not simply ship in a set of new colonists and start over without first curing the emergency. Doing so would just start up the disease point increase once more.

4. A database of various diseases, essentially they each act in the same way but can occur in multipe instances. Let us say colony A has plague A and colony B has plague B. On the next cycle colony A fails its check and contract plague B. This means it now has both plagues and suffers 2X the amount of penalties, as well ass generating 2X the number of disease points each year. Both plagues are logged seperately for the purpose of curing, and both now together contribute double the amount of check increases to neighbouring systems/colonies. In this way an unchecked emergency could cause devestation across an empire.

5. Allow for cross species contamination, to begin with I am not sure if genetically creating a new species means they are logged in the database as an entirely new species or a subspecies. However allow emergencies to cross into other empires that have made contact with each other. If they are at war then reduce the chance, if the have any kind of agreements then incrase the chance for each one. Have this start lower than the normal inter empire chance, and maybe go upto this basic rate once the two empires are both best of friends. As far as species go, if an entirely different species then say 1/4 of the spreading chance, and a subspecies 1/2 chance. This would simulate different physiologies etc.

6. A new research line in biology, this would work similar to the ones for research and construction and simply allow medical installations to generate more points per installation.

7. The obvious progression from the previous two points is a tech line of research to create new diseases for use in bio warfare. But I think this could get very complicated very fast.


Overall I think this could add a nice new dynamic of parts to keep an eye on in empire management, in addition it has the potential to create new "ruins" planets. Perhaps an NPR colony could get wiped out by some disease but never bother or be unable to claim back the colony. Another empire could then find a planet with what appeared as a ghost colony on the surface, perhaps still with a tiny amount of the contagion still left alive ready to spring back up should no precautions be taken. It would also mean carefully looking at potential new allies, sure those squid guys seem friendly enough, but they seem to be under developed and have tiny colonies. Would opening the trade lanes to them also open a doorway to tentacle diseases?
 

Offline TMaekler

  • Vice Admiral
  • **********
  • Posts: 1112
  • Thanked: 298 times
Re: C# Aurora v0.x Suggestions
« Reply #777 on: December 20, 2018, 06:51:04 AM »
The reason there are currently no 'space pirates' in Aurora is that it is very difficult to create any form of in-game justification for them. An NPR that raids other races may be possible (and is on my list) but they need the infrastructure to support that effort, some form of safe harbour or well-protected base (which needs an economic base to build it) and an economic or political justification for that behaviour.
Maybe a corporation that has grown too big, can channel some of its money in funding a pirate branch... (idea not inspired by Megacorp in any way, shape or form :) ).
 

Offline Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11668
  • Thanked: 20440 times
Re: C# Aurora v0.x Suggestions
« Reply #778 on: December 20, 2018, 07:00:15 AM »
At the moment, Precursors and Swarm fill the pirate niche (a localised enemy with a reason to fight).

Another idea for spoilers: a nomadic (like Swarm) 'race' that cannibalizes other resources for growth and movement, also much like the swarm. The difference is, while the swarm will eat your ships out of space (and bomb you into the Stone Age? Iono.) these guys focus primarily on landing ground troops and cannibalizing your colonies and/or mining operations. They'd have a respectable presence in space, but nothing special - perhaps a little nastier than the Precursors, but not much. But if they manage to land troops, on the ground they're truly nasty.

Of course the question would be how are these different from a particularly aggressive NPR with an advanced start, but methinks you could make their internal mechanics quite distinct. For example, instead of mining and building infrastructure to build ships and ground troops, they would instead consume infrastructure and convert it into ships and ground troops, eventually leaving a planet de-colonized (with, perhaps, some minor ruins) before moving on.

It would also give you a chance to showcase the newly reworked ground combat and organization system.

The updated Star Swarm in C# will have a significant ground-based component.
 
The following users thanked this post: Jovus

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: C# Aurora v0.x Suggestions
« Reply #779 on: December 20, 2018, 11:37:25 AM »
The updated Star Swarm in C# will have a significant ground-based component.

Sssshh! No spoilers!