No combat on system with visible adversaries

Describe your experience with the latest version of FreeOrion to help us improve it.

Moderator: Oberlus

Forum rules
Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
Message
Author
User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

No combat on system with visible adversaries

#1 Post by Oberlus »

Scout Voltaire arrives at unexplored system Rai beta at turn 26. There is a Sentry in that system, but no combat ensues. There is an ion storm south of Rai beta but checking its borders in turns 25 and 26 it is well away from Rai beta. Why there is no combat at Rai beta?
why_no_combat.png
why_no_combat.png (297.82 KiB) Viewed 5547 times
Reloading turn 25 and issuing the same orders give the same result, no combat.

Side note: to make the screenshot on turn 26 clearer, I double-clicked on two SitReps about combat and invasion of a native colony elsewhere in the map to remove/hide them. After reloading and replaying turn 25, the two removed SitReps remain hidden. Is that as intended? I'd say it should show up again.

Anything of this worth opening an issue on GitHub?

Jaumito
Space Kraken
Posts: 189
Joined: Tue May 16, 2017 3:42 am
Location: Catalonia, France, Europe, Earth, Sol, Orion Arm, Milky Way, Virgo Cluster

Re: No combat on system with visible adversaries

#2 Post by Jaumito »

Oberlus wrote: Thu Jan 03, 2019 1:07 pmThere is an ion storm south of Rai beta but checking its borders in turns 25 and 26 it is well away from Rai beta.
Borders are always fuzzy. What you should check instead if it had any effect on the Sentry's detection meter on turn 25.
Side note: to make the screenshot on turn 26 clearer, I double-clicked on two SitReps about combat and invasion of a native colony elsewhere in the map to remove/hide them. After reloading and replaying turn 25, the two removed SitReps remain hidden. Is that as intended? I'd say it should show up again.
I don't know if it's intended, but I've always seen it work like this. I too would say it should show up again.

User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

Re: No combat on system with visible adversaries

#3 Post by Oberlus »

Jaumito wrote: Thu Jan 03, 2019 2:07 pmBorders are always fuzzy. What you should check instead if it had any effect on the Sentry's detection meter on turn 25.
Working on that (must reload a previous save and enable supertesters to see the Sentry before scouting Rai beta.
But first I tried checking the storm borders with the mouse:
no_ion_storm_1.png
no_ion_storm_1.png (184.2 KiB) Viewed 5541 times
no_ion_storm_2.png
no_ion_storm_2.png (184.28 KiB) Viewed 5541 times
no_ion_storm_3.png
no_ion_storm_3.png (184.94 KiB) Viewed 5541 times
The ion storm is affecting the deep space where the scout is before reaching Rai beta (the "?" system in this screenshots), but not the Rai beta itself, or that is what it seems from the screenshots: ion storm overlaps (and is in front of) the molecular cloud; when clicking on the storm it always shows the ion storm tooltip even if the cloud is behind. The third screenshot is to make sure that the molecular cloud isn't hiding the ion storm in the second screenshot: at that distance from the storm centre there is no tooltip available, no storm in there.

So... maybe the scout isn't attacked when arriving Rai beta because it is carrying with it the stealth bonus it had when in the deep space spot under the ion storm?

Jaumito
Space Kraken
Posts: 189
Joined: Tue May 16, 2017 3:42 am
Location: Catalonia, France, Europe, Earth, Sol, Orion Arm, Milky Way, Virgo Cluster

Re: No combat on system with visible adversaries

#4 Post by Jaumito »

Oberlus wrote: Thu Jan 03, 2019 3:00 pm So... maybe the scout isn't attacked when arriving Rai beta because it is carrying with it the stealth bonus it had when in the deep space spot under the ion storm?
That should be it. I've actually used ion storms this way to get scouts past sentries and other guardian ships.

User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

Re: No combat on system with visible adversaries

#5 Post by Oberlus »

Hmmm... That seems a bit buggy (at least counter-intuitive) to me.

Jaumito
Space Kraken
Posts: 189
Joined: Tue May 16, 2017 3:42 am
Location: Catalonia, France, Europe, Earth, Sol, Orion Arm, Milky Way, Virgo Cluster

Re: No combat on system with visible adversaries

#6 Post by Jaumito »

Oberlus wrote: Thu Jan 03, 2019 3:53 pm Hmmm... That seems a bit buggy (at least counter-intuitive) to me.
I agree, but at least it's consistent. The stealth bonus from asteroid belts (for asteroid hulls), solar hulls, artificial moons and (I think) multi-spectral shields all work the same.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: No combat on system with visible adversaries

#7 Post by Vezzra »

Jaumito wrote: Thu Jan 03, 2019 6:03 pm
Oberlus wrote: Thu Jan 03, 2019 3:53 pm Hmmm... That seems a bit buggy (at least counter-intuitive) to me.
I agree, but at least it's consistent. The stealth bonus from asteroid belts (for asteroid hulls), solar hulls, artificial moons and (I think) multi-spectral shields all work the same.
These are known issues, due to the way/order effects are applied during turn execution. We had a discussion about this in the past, but didn't reach a conclusion. Anyway, needs to be fixed, because I agree, it is buggy/counter-intuitive and confusing.

defaultuser
Juggernaut
Posts: 854
Joined: Wed Aug 26, 2015 6:15 pm

Re: No combat on system with visible adversaries

#8 Post by defaultuser »

Some of the effects things can be non-intuitive. You get something similar with molecular clouds. You can get a free combat round with shields against unshielded foes depending on who moved from where.

User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

Re: No combat on system with visible adversaries

#9 Post by Oberlus »

Vezzra wrote: Sat Jan 05, 2019 6:12 pmThese are known issues, due to the way/order effects are applied during turn execution. We had a discussion about this in the past, but didn't reach a conclusion. Anyway, needs to be fixed, because I agree, it is buggy/counter-intuitive and confusing.
defaultuser wrote: Tue Jan 08, 2019 5:50 amSome of the effects things can be non-intuitive. You get something similar with molecular clouds. You can get a free combat round with shields against unshielded foes depending on who moved from where.
I would expect that the effects of fields like ion storms and molecular clouds would be in place only within such fields. Having ships affected by them while they are out of such fields (even just for one turn), and ships within them that are not (yet) affected, seems plainly wrong.

Is the order of effects processing documented anywhere, or what are the source files that control it?

Ophiuchus
Programmer
Posts: 3427
Joined: Tue Sep 30, 2014 10:01 am
Location: Wall IV

Re: No combat on system with visible adversaries

#10 Post by Ophiuchus »

Oberlus wrote: Tue Jan 08, 2019 8:57 amIs the order of effects processing documented anywhere, or what are the source files that control it?
Best we have is in FOCS Scripting Details.

But it is only part of the picture. If you dive into the cpp code

In ./server/ServerFSM.cpp there is sc::result ProcessingTurn::react(const ProcessTurn& u) . Which calls to server/ServerApp.cpp:
  1. server.PreCombatProcessTurns();
  2. server.ProcessCombats();
  3. server.PostCombatProcessTurns();
There you'll find more details.

p.s.: I would actually like to simplify and base effect ordering on priority only.
Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Look, ma... four combat bouts!

defaultuser
Juggernaut
Posts: 854
Joined: Wed Aug 26, 2015 6:15 pm

Re: No combat on system with visible adversaries

#11 Post by defaultuser »

Oberlus wrote: Tue Jan 08, 2019 8:57 am I would expect that the effects of fields like ion storms and molecular clouds would be in place only within such fields. Having ships affected by them while they are out of such fields (even just for one turn), and ships within them that are not (yet) affected, seems plainly wrong.
If you want an in-game explanation for the way it is now, you could say that it takes time for these natural phenomena to affect the equipment and for the effect to dissipate, so that moving between systems involves a bit of hysteresis that is greater than the typical time it takes to engage in a combat round.

User avatar
Oberlus
Cosmic Dragon
Posts: 5704
Joined: Mon Apr 10, 2017 4:25 pm

Re: No combat on system with visible adversaries

#12 Post by Oberlus »

defaultuser wrote: Wed Jan 09, 2019 10:50 pmIf you want an in-game explanation for the way it is now, you could say that it takes time for these natural phenomena to affect the equipment and for the effect to dissipate, so that moving between systems involves a bit of hysteresis that is greater than the typical time it takes to engage in a combat round.
Fair enough. I'd like to buy it, but I can't.
In the time that a ship goes from one system to another, generations of humans are born, nebulae collapse, colonies are invaded, but the effect of an Ion Storm last even when the ship is several light years away.

I'll have to stick to the out-game reason: it works and developers are busy doing more necessary/interesting stuff.

User avatar
em3
Vacuum Dragon
Posts: 630
Joined: Sun Sep 25, 2011 2:51 pm

Re: No combat on system with visible adversaries

#13 Post by em3 »

I think that freeorion could benefit from formalization of turn phases. Something like:
  • Growth phase. All natural meter growth takes place, ships are repaired and resupplied
  • Movement phase
  • Combat phase. All combat takes place
  • Construction phase. PP is spent on buildings. Build offers are completed and returned effects applied
  • Research phase. RPs are spent on research
  • Planning phase. UI is active and orders can be issued
Each phase has a Before and After events, that can be used to apply effects.
The order here is arbitrary, but should be shown in sitreps.

This would make situation more clear to the players: that stuff does not happen all at once, but instead in a predictable order.
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: No combat on system with visible adversaries

#14 Post by Vezzra »

defaultuser wrote: Wed Jan 09, 2019 10:50 pmIf you want an in-game explanation for the way it is now, you could say that it takes time for these natural phenomena to affect the equipment and for the effect to dissipate, so that moving between systems involves a bit of hysteresis that is greater than the typical time it takes to engage in a combat round.
While you can come up with fluff explanations for a lot of things, IMO there are still limits to how far you can stretch suspension of disbelieve. While that explanation might work to some degree in some scenarios, it will become just too silly in others.

That aside, even if you can find a sufficiently believable fluff explanation, it doesn't solve the actual problem, which is that the current behavior goes against natural expectation, and is counter-intuitive and confusing. As a player you intuitively expect the effects of a field to apply to objects within the field, anything else leads to confusion. Hence the correct solution for the issue is to fix the engine so that it matches what you naturally/intutively expect as a player.

User avatar
Vezzra
Release Manager, Design
Posts: 6090
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: No combat on system with visible adversaries

#15 Post by Vezzra »

em3 wrote: Fri Jan 11, 2019 5:09 pmEach phase has a Before and After events, that can be used to apply effects.
The order here is arbitrary, but should be shown in sitreps.
That's more or less what I've suggested in one of the past discussions about this issue, and IMO the best/only way to fix the problem correctly.

Post Reply