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

0 Members and 6 Guests are viewing this topic.

Offline Whitecold

  • Commander
  • *********
  • W
  • Posts: 330
  • Thanked: 88 times
Re: C# Aurora v0.x Suggestions
« Reply #750 on: December 13, 2018, 10:57:18 AM »
This only works if the human is prepared to follow the same constraints as the AI in setting up his colonies and forces (creating the correct types of ground forces, forming the right operational groups, designing and building the required ship classes with the required capabilities).
My main idea is to have some minor nations in a multi-nation start being AI, but also being given general alliance orders but not having to micromanage every one of them. So, yes, if that would be possible with the restrictions you mentioned, why not... . Let's see how your AI performs and reserve this idea maybe for a later release.

I presume the AI has some flags/internal codes to know what ship types are used for. That could be exposed in a semi-AI mode, if you design a custom ship for it, you can tell the AI what it is good for, if it cannot figure it out itself.
 

Offline Garfunkel

  • Registered
  • Admiral of the Fleet
  • ***********
  • Posts: 2788
  • Thanked: 1051 times
Re: C# Aurora v0.x Suggestions
« Reply #751 on: December 13, 2018, 12:53:19 PM »
Paradox and Firaxis have, in their later games, shown how extremely difficult it is to get a helper-AI to work competently. In both games, it is far more useful to have player to control everything manually and if the AI is ever given permission to handle something even temporarily, the time-savings are lost when the player takes control back and has to fix the mess that the AI has done.

Perhaps better would be to allow SM to force a permanent alliance between a player faction and an NPR-faction IF that faction was created by a human player and not the game itself.
 

Offline the obelisk

  • Sub-Lieutenant
  • ******
  • t
  • Posts: 109
  • Thanked: 11 times
Re: C# Aurora v0.x Suggestions
« Reply #752 on: December 13, 2018, 07:41:58 PM »
Paradox and Firaxis have, in their later games, shown how extremely difficult it is to get a helper-AI to work competently. In both games, it is far more useful to have player to control everything manually and if the AI is ever given permission to handle something even temporarily, the time-savings are lost when the player takes control back and has to fix the mess that the AI has done.

Perhaps better would be to allow SM to force a permanent alliance between a player faction and an NPR-faction IF that faction was created by a human player and not the game itself.
Distant Worlds let's you more or less set whatever part of the game you don't want to be involved in to AI control, and as far as I'm aware it works quite well.
 

Offline QuakeIV

  • Registered
  • Commodore
  • **********
  • Posts: 759
  • Thanked: 168 times
Re: C# Aurora v0.x Suggestions
« Reply #753 on: December 13, 2018, 10:32:57 PM »
Paradox and Firaxis also couldn't AI their way out of a wet paper bag.  I mean, they show its not easy at the very least, but they don't necessarily show much about whats hard.
 

Offline Whitecold

  • Commander
  • *********
  • W
  • Posts: 330
  • Thanked: 88 times
Re: C# Aurora v0.x Suggestions
« Reply #754 on: December 14, 2018, 04:17:37 AM »
Paradox and Firaxis also couldn't AI their way out of a wet paper bag.  I mean, they show its not easy at the very least, but they don't necessarily show much about whats hard.

Part of the problem with AI is that some people expect it to read their minds and do EXACTLY what they would have done. Yes, stellaris sector AI could have been smarter, but the way some people are trying to micromanage it instead of leaving it chugging along at good enough is to some degree their own fault.
 

Offline QuakeIV

  • Registered
  • Commodore
  • **********
  • Posts: 759
  • Thanked: 168 times
Re: C# Aurora v0.x Suggestions
« Reply #755 on: December 14, 2018, 11:53:32 AM »
It's okayish as of 2.1 (appears to have blown up again in 2.2) but it was almost useless for a long time there.
 

Offline Hazard

  • Commodore
  • **********
  • H
  • Posts: 643
  • Thanked: 73 times
Re: C# Aurora v0.x Suggestions
« Reply #756 on: December 14, 2018, 11:57:30 AM »
Of course the AI blew up with Stellaris 2.2

I mean, it's not as if the entire economical system of the game just got reworked.
 

Offline QuakeIV

  • Registered
  • Commodore
  • **********
  • Posts: 759
  • Thanked: 168 times
Re: C# Aurora v0.x Suggestions
« Reply #757 on: December 14, 2018, 12:02:33 PM »
I agree, and I think the fact that you see decent AI from them right out of the gate as a borderline impossibility shows that on some level you agree with me.

People have done fairly clever AI right off the bat since Warcraft 3 at the very least.  It's not easy but it can be done.
 

Offline Hazard

  • Commodore
  • **********
  • H
  • Posts: 643
  • Thanked: 73 times
Re: C# Aurora v0.x Suggestions
« Reply #758 on: December 14, 2018, 03:29:24 PM »
Warcraft 3 also had a lot less interdependent moving parts. The 2.2 Stellaris AI has to manage food, minerals, energy, influence, unity and 3 different not interchangeable research resources as the basic empire wide stockpileable resources. It also has to cope with the more advanced resources, of which consumer goods and alloys are the simplest, have different purposes and are both manufactured from minerals and minerals alone, the advanced resources which can be made from minerals at great cost or mined directly, the planetary populations and relevant happiness factors, the planetary housing and amenity availability, the planetary stability and criminality scores, the soft empire size cap, the soft military unit cap, the soft starbase cap...

The list continues. Extensively. And that's just the resources involved, we're not even talking about unit design, fleet composition, diplomacy, expansion of the empire or a multitude of other factors.

Warcraft 3 only had gold and wood and a hard unit cap. Although Warcraft's combat mechanics are rather more involved than Stellaris', its economical factors are in comparison rather trivial in complexity and interaction.
 

Offline Garfunkel

  • Registered
  • Admiral of the Fleet
  • ***********
  • Posts: 2788
  • Thanked: 1051 times
Re: C# Aurora v0.x Suggestions
« Reply #759 on: December 14, 2018, 11:41:52 PM »
I was more talking about the helper-AI in Hearts of Iron 3 who was supposed to manage your troops for you, while the player focused on diplomacy, research and production. And the governor-AI in Civ4 that was supposed to take city-micro away from the game.

Both cases were terrible disasters.
 

Online Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11658
  • Thanked: 20379 times
Re: C# Aurora v0.x Suggestions
« Reply #760 on: December 16, 2018, 10:47:10 AM »
I presume the AI has some flags/internal codes to know what ship types are used for. That could be exposed in a semi-AI mode, if you design a custom ship for it, you can tell the AI what it is good for, if it cannot figure it out itself.

Rather than knowing what a ship is used for, the AI is given a role to fill and designs a ship to meet that role. The design philosophy and design theme provided to the AI provide a framework for all of its designs, so the interaction of those with the intended role is what creates the ship design. The AI also has a set of operational groups, each with a combination of different ship roles. In fact, the operational group setup for a particular theme is how the AI knows what ship roles it needs to fill. So it isn't just a case of the AI knowing what a ship is supposed to so - it also needs to know how that fits into its overall operational group framework. To use the NPR-AI, a human player would have to add that higher-level framework before telling the AI what ships to use for each role. Because the AI setup is more complex in C# Aurora, it isn't straightforward to use parts of it for a human, because it is all inter-connected.
 

Offline Jovus

  • Lt. Commander
  • ********
  • J
  • Posts: 220
  • Thanked: 81 times
Re: C# Aurora v0.x Suggestions
« Reply #761 on: December 18, 2018, 08:50:09 AM »
A quick update on NPR Research.

There have been problems in VB6 with NPRs duplicating research or not following sensible research strategies. Therefore, each NPR design theme in C# Aurora has a built-in tech progression. This consists of many tech groups, each of which contains one or more tech types. For example, a group might simply contain armour, or it may contain a group of energy weapon related tech types, including the major components for the NPR's preferred weapon plus beam fire control techs. An engine-related tech group may contain reactor, engine and fuel consumption tech types. The NPR may have the same tech group multiple times in its design theme progression.

An NPR will check the total research cost for the tech group, based on the next tech within each tech type, and then dedicate all research in its empire toward achieving that total. For example, if the tech group is engines (reactor, engine, fuel consumption) and the NPR already has ion tech, it will total Stellarator Fusion Reactor (12,000), Magneto-plasma Drive Technology (20,000) and Fuel Consumption: 0.6 Litres per Engine Power Hour (8000) for a total of 40,000 RP. Once the total is hit, it gains all the techs in that tech group. Certain tech groups will trigger a redesign for NPR ship types and/or ground forces.

Each tech group has an associated research field based on the majority field within the group. Progression will be based on either the best scientist for that field, regardless of admin rating, or the best overall scientist if that bonus exceeds 4x the specialist bonus.

This gives some advantages over players (no admin limit) and some disadvantages (less flexible). Most importantly, this should provide a much more cohesive NPR research strategy and make NPRs more challenging as they improve their technology. This code has been working since before the current campaign.

This sounds great. What I would like in addition is variation in the AI research assignment weights, if possible. For example, let's say one NPR's racial idea of research is 'get powerful weapons, worry about fire controls later,' and so it would end up with high-tech weapons but its BFCs (or MFCs, as appropriate) might lag behind. Or, of course, in reverse. Similarly an NPR might worry about power generation more than beam research, because its racial AI figures advanced powergen (and drives) are more useful and it's ok lagging behind with only visible light lasers while it has magneto-pulse, for example.
 

Online Steve Walmsley

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11658
  • Thanked: 20379 times
Re: C# Aurora v0.x Suggestions
« Reply #762 on: December 18, 2018, 08:55:03 AM »
A quick update on NPR Research.

There have been problems in VB6 with NPRs duplicating research or not following sensible research strategies. Therefore, each NPR design theme in C# Aurora has a built-in tech progression. This consists of many tech groups, each of which contains one or more tech types. For example, a group might simply contain armour, or it may contain a group of energy weapon related tech types, including the major components for the NPR's preferred weapon plus beam fire control techs. An engine-related tech group may contain reactor, engine and fuel consumption tech types. The NPR may have the same tech group multiple times in its design theme progression.

An NPR will check the total research cost for the tech group, based on the next tech within each tech type, and then dedicate all research in its empire toward achieving that total. For example, if the tech group is engines (reactor, engine, fuel consumption) and the NPR already has ion tech, it will total Stellarator Fusion Reactor (12,000), Magneto-plasma Drive Technology (20,000) and Fuel Consumption: 0.6 Litres per Engine Power Hour (8000) for a total of 40,000 RP. Once the total is hit, it gains all the techs in that tech group. Certain tech groups will trigger a redesign for NPR ship types and/or ground forces.

Each tech group has an associated research field based on the majority field within the group. Progression will be based on either the best scientist for that field, regardless of admin rating, or the best overall scientist if that bonus exceeds 4x the specialist bonus.

This gives some advantages over players (no admin limit) and some disadvantages (less flexible). Most importantly, this should provide a much more cohesive NPR research strategy and make NPRs more challenging as they improve their technology. This code has been working since before the current campaign.

This sounds great. What I would like in addition is variation in the AI research assignment weights, if possible. For example, let's say one NPR's racial idea of research is 'get powerful weapons, worry about fire controls later,' and so it would end up with high-tech weapons but its BFCs (or MFCs, as appropriate) might lag behind. Or, of course, in reverse. Similarly an NPR might worry about power generation more than beam research, because its racial AI figures advanced powergen (and drives) are more useful and it's ok lagging behind with only visible light lasers while it has magneto-pulse, for example.

All that is possible. There is a master list for progression but different design themes can choose which parts they include and there are alternate paths already built into the progression (and more can be added).
 
The following users thanked this post: Jovus

Offline alex_brunius

  • Vice Admiral
  • **********
  • Posts: 1240
  • Thanked: 153 times
Re: C# Aurora v0.x Suggestions
« Reply #763 on: December 19, 2018, 05:17:28 AM »
Having seen the lates AI reports, an idea came into my mind.
One limitation to tell large scale stories is the amount of detail work you have to do with multiple nations. So how about different levels of control?

One: Full AI Empire - the AI controls all levels of this empire
Two: High Level Human - The human player can issue general decisions (negotiate peace, go to war, explore jump point XY, settle in system / on planet ABC); but everything below that is controlled by the AI
Three: Medium Level Human - The human player can issue additional commands like construct new ships or facilities, move fleets to XYZ, etc.
Four: Human Empire - The human player controls everything

What also would be interesting: to be able to switch between modes. For example control an empire on L2 until it goes to war, then switch to L4 and control all aspects of the war, when it is done switch back to L2... .

This only works if the human is prepared to follow the same constraints as the AI in setting up his colonies and forces (creating the correct types of ground forces, forming the right operational groups, designing and building the required ship classes with the required capabilities). The C# AI will be a lot better at handling unexpected situations or even using captured ships than in VB6, but it would not be difficult for human intervention to confuse the AI, even if only temporarily.

Some more basic form of human assistant might be possible on a limited scale (in fact, you already have that to a degree with standing orders). However, I would not want to restrict the AI code in order to have an on/off option for human intervention.

What I hope with C# Aurora, is that I can play a reasonable multiple start with one player and multiple AIs, that will not inevitably turn into a free-for-all Armageddon :)

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.
« Last Edit: December 19, 2018, 05:23:31 AM by alex_brunius »
 

Offline Tree

  • Sub-Lieutenant
  • ******
  • Posts: 143
  • Thanked: 27 times
Re: C# Aurora v0.x Suggestions
« Reply #764 on: December 19, 2018, 06:55:04 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.