Author Topic: Update on Progress  (Read 255025 times)

0 Members and 1 Guest are viewing this topic.

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11666
  • Thanked: 20428 times
Re: Update on Progress
« Reply #255 on: August 04, 2019, 06:13:20 PM »
Just a quick progress update. The new campaign has helped me spot quite a few significant bugs. It's surprising how much you can play and still miss fairly large problems :)

The campaign is also highlighting missing areas, such as forgetting to add code for refuelling ships in hangars, plus I've been fixing the AI as (fairly minor) problems become apparent. I still have some areas to add to the AI, such as attacking and/or invading colonies, plus more options for starting NPR design themes. In general though, the AI seems a lot better than VB6.

Increments are still MUCH faster than VB6 with sub-second increments nine years into my current campaign, which has a large player race and two NPRs.

In terms of major functional areas, they are 95% done (probably higher) with Diplomacy remaining the area that needs the most work. At some point I plan to start a test campaign with multiple NPRs in Sol, so that will force me to tackle the Diplomacy AI code :)

I'm still not ready to predict a release date, as a lot depends on my available free time and enthusiasm, but I am starting to see light at the end of the tunnel :)  Just hope it isn't an oncoming train.

Offline Kristover

  • Gold Supporter
  • Lt. Commander
  • *****
  • K
  • Posts: 259
  • Thanked: 135 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: Update on Progress
« Reply #256 on: August 04, 2019, 10:00:03 PM »
Thanks for the update.  Are NPRs designing varied ground formations and launching invasions of other worlds with them?  Are they loading transports and conducting internal troop movements?
 
The following users thanked this post: bro918

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11666
  • Thanked: 20428 times
Re: Update on Progress
« Reply #257 on: August 05, 2019, 02:33:39 AM »
Thanks for the update.  Are NPRs designing varied ground formations and launching invasions of other worlds with them?  Are they loading transports and conducting internal troop movements?

Yes, not yet, yes, yes.
 
The following users thanked this post: Garfunkel, Kristover

Offline Shuul

  • Sub-Lieutenant
  • ******
  • S
  • Posts: 108
  • Thanked: 28 times
Re: Update on Progress
« Reply #258 on: August 05, 2019, 02:42:38 AM »
Will NPRs in 1.0 of c# have the ability to have at least basic adaptation to the enemies thy encounter? Like, changing % of missile ships if missiles are ineffective?
 
The following users thanked this post: Kristover

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11666
  • Thanked: 20428 times
Re: Update on Progress
« Reply #259 on: August 05, 2019, 04:24:54 AM »
Will NPRs in 1.0 of c# have the ability to have at least basic adaptation to the enemies thy encounter? Like, changing % of missile ships if missiles are ineffective?

That is a lot trickier to code than it sounds. How does the AI determine that the situation in which its missiles were ineffective is representative of the potential combat situations against that particular opponent and how does it factor in other potential opponents that may have different defensive capabilities?
 

Offline alex_brunius

  • Vice Admiral
  • **********
  • Posts: 1240
  • Thanked: 153 times
Re: Update on Progress
« Reply #260 on: August 05, 2019, 05:30:57 AM »
Will NPRs in 1.0 of c# have the ability to have at least basic adaptation to the enemies thy encounter? Like, changing % of missile ships if missiles are ineffective?

That is a lot trickier to code than it sounds. How does the AI determine that the situation in which its missiles were ineffective is representative of the potential combat situations against that particular opponent and how does it factor in other potential opponents that may have different defensive capabilities?

Would real Militaries be capable of judging such things unbiased and factfully though?

If a real Navy suffered say 3 severe defeats in a row where zero % of their missiles made contact with their targets would they not adapt and scale back on missiles even if other potential future enemies might be more vulnerable to missiles?

Military history is full of examples of Navies drawing erroneous conclusions about combat effectiveness based on fluke events. For example in the very early age of Steam warships all warships were designed with rams and tactical formations supporting ramming were discussed everywhere because the only heavy ship sunk in the last larger battle was sunk via ramming.
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11666
  • Thanked: 20428 times
Re: Update on Progress
« Reply #261 on: August 05, 2019, 08:06:00 AM »
Will NPRs in 1.0 of c# have the ability to have at least basic adaptation to the enemies thy encounter? Like, changing % of missile ships if missiles are ineffective?

That is a lot trickier to code than it sounds. How does the AI determine that the situation in which its missiles were ineffective is representative of the potential combat situations against that particular opponent and how does it factor in other potential opponents that may have different defensive capabilities?

Would real Militaries be capable of judging such things unbiased and factfully though?

If a real Navy suffered say 3 severe defeats in a row where zero % of their missiles made contact with their targets would they not adapt and scale back on missiles even if other potential future enemies might be more vulnerable to missiles?

Military history is full of examples of Navies drawing erroneous conclusions about combat effectiveness based on fluke events. For example in the very early age of Steam warships all warships were designed with rams and tactical formations supporting ramming were discussed everywhere because the only heavy ship sunk in the last larger battle was sunk via ramming.

it will rarely be as clear-cut as a series of severe defeats in fair battles against a single opponent though. If a small force fires missiles ineffectively against a large force, does that count? Or vice versa? Does a defeat mean stop using missiles or invest more money in missile development or just bring more ships next time? Or maybe avoid deep space engagements and fight defensively. What if you are facing multiple enemies with different defensive challenges? In the reverse situation, what causes my energy-focused fleet to change to missile-focused, without ending up with all AIs following that path.

These are the areas where humans are far superior at judging the right strategy. I'm not saying the AI won't adapt, as some adaptation is already coded, plus the way the AI is setup I can adjust the future fleet mix for an NPR without too much trouble. The really tricky part is deciding when that is appropriate based on strategic trends and potentially non-representative battles.
 

Offline Kristover

  • Gold Supporter
  • Lt. Commander
  • *****
  • K
  • Posts: 259
  • Thanked: 135 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: Update on Progress
« Reply #262 on: August 05, 2019, 12:25:51 PM »
Thanks for the update.  Are NPRs designing varied ground formations and launching invasions of other worlds with them?  Are they loading transports and conducting internal troop movements?

Yes, not yet, yes, yes.

Thanks for the answer.  I'm code ignorant but I imagine it is a challenge determining logic thresholds for when the AI thinks it has sufficient ground and space forces available, conditions set around the target (space/orbital superiority), and whether it has sufficient force ratio to deal with the enemy ground opposition and of course all the logistics set to maintain those forces - all the while keeping its own colonies sufficiently garrisoned.  Any rate glad to hear about the light at the end of the tunnel because this has become my #1 game I'm looking forward too.
 

Offline Desdinova

  • Lt. Commander
  • ********
  • D
  • Posts: 280
  • Thanked: 280 times
Re: Update on Progress
« Reply #263 on: August 05, 2019, 01:54:03 PM »
In order to make the AI more adaptable, I would suggest the following:

The function that determines AI ship construction assigns a different weight to each type (escort, beam ship, missile ship), that determines how many of each type are built/assigned to task groups

Each ship type has an associated fitness function: percentage of incoming missiles destroyed vs missiles engaged for escorts, damage dealt vs damage received for anti ship combatants, broken down by weapon type.

During a battle, defined as when opposing sides are in sensor contact, integrate the fitness function for each ship type.

Also integrate the type of damage (beam/missile/fighter) received.

After the battle, adjust the weights so that ineffective types (poor fitness) are deemphasized.

Also look at damage received: if incoming damage is mostly missile-based, increased the ratio of escorts built/allocated to task groups. If incoming damage is mostly beam-based, build more beam combatants.
 

Offline Garfunkel

  • Registered
  • Admiral of the Fleet
  • ***********
  • Posts: 2790
  • Thanked: 1052 times
Re: Update on Progress
« Reply #264 on: August 05, 2019, 01:57:49 PM »
Define a battle.
 

Offline Desdinova

  • Lt. Commander
  • ********
  • D
  • Posts: 280
  • Thanked: 280 times
Re: Update on Progress
« Reply #265 on: August 05, 2019, 02:09:41 PM »
During a battle, defined as when opposing sides are in sensor contact
 

Offline Titanian

  • Sub-Lieutenant
  • ******
  • T
  • Posts: 105
  • Thanked: 20 times
Re: Update on Progress
« Reply #266 on: August 05, 2019, 04:35:43 PM »
[...]

Let's imagine a simplified situation where I am in a fight with an npr which has two similar ship classes. For some reason, I focus my fire on ships of class A first, and only after those are destroyed I start shooting class B ships. Now just because they survived longer, they are going to have dealt a lot more damage themselves compared to the damage recieved, and thus recieve a better rating for no good reason. Filtering all such situations is a really involved task!
 
The following users thanked this post: Kytuzian

Offline Desdinova

  • Lt. Commander
  • ********
  • D
  • Posts: 280
  • Thanked: 280 times
Re: Update on Progress
« Reply #267 on: August 05, 2019, 05:17:52 PM »
Good point, maybe it could be normalized as damage dealt divided by shots fired multiplied by some factor proportionate to the size of the battle, so that fleet battles have a bigger effect than small skirmishes.
 

Offline Garfunkel

  • Registered
  • Admiral of the Fleet
  • ***********
  • Posts: 2790
  • Thanked: 1052 times
Re: Update on Progress
« Reply #268 on: August 06, 2019, 12:14:07 PM »
I asked because the sensor contact might not mean anything. Unarmed ships can have active sensors. Would passive sensor contacts also qualify? What if the NPR never spots what fired the missiles at them?

I mean, I totally support better AI and an adaptable, learning AI for NPRs - modified by racial details - would be awesome, but very few strategy games have good AI to begin with and I can't think of any that can actually adapt in a reasonable manner. Most cheat like motherfrakkers in order to give the illusion of challenge.

Trying to figure out all the possible contingencies that could happen in a game as complex as Aurora, and the possible consequences of them all is quite a daunting task, for very little gain in the end.
 

Offline Steve Walmsley (OP)

  • Moderator
  • Star Marshal
  • *****
  • S
  • Posts: 11666
  • Thanked: 20428 times
Re: Update on Progress
« Reply #269 on: August 06, 2019, 01:04:59 PM »
Trying to figure out all the possible contingencies that could happen in a game as complex as Aurora, and the possible consequences of them all is quite a daunting task, for very little gain in the end.

Yes, I have spent the last two evenings doing nothing but optimise the AI code that decides when a ship reloads missiles :)

It is surprising how many factors have to be considered to make a decision that at first glance would seem to be trivial. There can be multiple ships in an AI fleet, only some of which are missile-armed, and different ships have different values in terms of whether the fleet can accomplish its missions, which means reloading some ships is more urgent than others, plus the presence, proximity and capability of hostile units can change the decision and also the location of the reload point versus the ship's current location. The current amount of ordnance vs maximum possible is also a factor. I've also had to handle the situation where a ship is firing from a location in which it can simultaneously reload to make sure it doesn't just fire a single missile as soon as it arrives in the magazine (because reloading now takes time).

Consider that relatively minor decision vs all the other decisions that the AI has to make and you get an idea of the scale of the AI programming task :)
 
The following users thanked this post: Demonides, AlStar, Scandinavian, Jovus