Stealth mechanics proposal

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

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

Re: Stealth mechanics proposal

#16 Post by Ophiuchus »

I had some time to rethink. Lets say ships are allowed to shoot until detectable, I think all ships engaged in combat should loose stealth per bout.

Else as long we don't have multi-turn spanning combat (or at least 6 bouts per combat), CR plus good stealth would overpowered. Starting with stealth decrease in bout 3 would basically give you two levels extra stealth which in turn means in many cases that the enemy will not be able to do damage at all. I think we should prevent that case.

How about half a tier stealth decrease if not attacking/launching, else a full tier? CR would only get a 1 tier bonus. SR would be mostly like LR I think. But this actually depends on the hull type etc. So for some ships/situations it would mean either one or no extra hidden turn.
The half tier decrease would make sense for hidden unarmed ships.

I also have an idea for split multi turn combat (where ships from last turn are in close range to another in the first bout). But that would be more work.

A minimal model for multi turn combat could be: give a stealth malus if the ship was in the battle last turn (Maybe one and a half levels, so 30 stealth with current content).

edit1: thanks to oberlus: one and a half levels is 30 stealth, not 15 stealth
Last edited by Ophiuchus on Tue Jun 18, 2019 12:57 pm, edited 1 time in total.
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!

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

Re: Stealth mechanics proposal

#17 Post by Oberlus »

Ophiuchus wrote: Mon Jun 17, 2019 8:35 amI had some time to rethink.
Same here.
I think now I understand what you said, correct me if I'm wrong:

Bout = combat round.

Each bout, ships can target enemy ships that have equal or less stealth than own detection.
At the end of each combat bout, each ship gets its stealth reduced by a fixed amount (with initial description, previous page, -1 is what made sense). This implements the "ships with not enough stealth gets revealed before they shoot, but not right away from combat start" (this is what I hadn't understood, it's a nice implementation).

Shooting a weapon or launching drones cause a loss of stealth.
- Simplest: shooting anything reveals the ship (internally, this can be stealth=stealth-MAXIMUM_STEALTH).
- Nicer: each weapon has different stealth penalties, some strong enough to reveal ship no matter how much stealth it has, and some that are able to shoot one or two bouts and still get some stealth advantage (stealth=stealth - weapon_penalty)

I would go first for Simplest, but program it directly to support Nicer (implement weapon_penalty but make it MAXIMUM_STEALTH for all weapons).

IMO, it makes sense that the penalty is "penalty per bout shooting", and not "penalty per shot" (I'm looking at multishot weapons).
Ophiuchus wrote: Mon Jun 17, 2019 8:35 amA minimal model for multi turn combat could be: give a stealth malus if the ship was in the battle last turn (Maybe one and a half levels, so 15 stealth with current content).
Seems great. Make it scriptable (rule game?) and balance will be easy.
Note: for current content, I think one level is 20 (what you get with each new detection/stealth tech).
Ophiuchus wrote: Sun Jun 16, 2019 7:27 pmSo for maximum effectiveness after arriving in a system one has to put one ship on aggressive (to enforce supply) and the rest silent? Are you sure you like that?
Ew! No! Good catch. We have to rethink that part, indeed.

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

Re: Stealth mechanics proposal

#18 Post by Oberlus »

Oberlus wrote: Mon Jun 17, 2019 3:12 pmWe have to rethink that part
The game effects we want from armed ships:
- Attack enemy ships and/or planets.
- Block enemy pass.
- Block enemy supply. Optionally (if own supply reaches here but is weaker than enemies') get own supply (for repairs, refuelling or getting supply on your planets in a shared system).

With current mechanics (correct me if I'm wrong) all these require ship set to Aggressive (I'm not sure about blocking supply). And most of this discussion stems from a recent change that made aggressive fleets to lose their stealth.

Arguably, we want stealth armed ships to be able to do all of the above without rendering useless all stealth investment. Otherwise, stealth ships are going to be subpar on any military task except for infiltration, and that means, IMO, that going the stealth path is a disadvantage (unbalance). Note that we are not talking about planetary stealth, only about armed stealth ships.
There is a nasty micromanagy workaround for this: you send one ship set to aggressive and the rest set to passive, so that the aggressive ship triggers combat (but loses the stealth first strike) but the rest of the fleet does not lose the stealth and enjoys the first strike advantage. I hate that kind of workarounds, it doubles the amount of clicks and stuff you need to do, and you get the same as if aggressive standing didn't give stealth away.

So I think we should choose between allowing stealth armed ships to have an effect in combat (without the need to micromanage anything), or not allowing it.

Here we could have our first pool:
Do you want stealth to have an effect within combat (let you first strike and the such) or only in the galaxy map (to move unnoticed)?

My vote is for the former, I want stealth to matter in combat.

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

Re: Stealth mechanics proposal

#19 Post by Oberlus »

Oberlus wrote: Tue Jun 18, 2019 10:05 amDo you want stealth to have an effect within combat (let you first strike and the such) or only in the galaxy map (to move unnoticed)?
Assuming we go for the "stealth has an effect in combat that requires no micromanagement", the next question to answer is then:

Blocking pass and/or supply with undetected ships: does it affect ship's stealth?

Geoff has expressed that it makes sense for the ship to reveal itself (that is, to lose all stealth from being aggressive), which, as comented in the above post, causes micromanagement, so I'm ignoring that option.


Regarding blocking supply:

1. As Ophiuchus and others, I also think it makes sense to reduce the stealth of ships that are actively blocking supply lines, but then, again, we fall into micromagament: set one ship to aggresive (loses some stealth but triggers combat/cuts supply) and the rest of the fleet to passive to keep full stealth. So a no-no for me.

2. The easiest way is to drop the idea of stealth affected by blocking supply. Then you can set all the stealth fleet to aggressive and get the same effect than with the stealth reduction plus the micromanagement workaround.

3. The harder way is to make the supply-blocking stealth malus to affect all armed allied fleets in the system, including those set to passive. This disables the workaround and compels the player to send all fleet set to aggressive. I don't know if this is a good idea because I haven't thought of the implementation. Anyone got an insight?

In the end, I would choose 3 if it is easy to implement and easy to understand for the player (that will depend, I guess, on the difficulty to show these stealth effects to the player), and 2 otherwise. In fact, I think we _should_ go for 2, since it does not require much backend work, and let 3 (if it's a goo idea in the end) for later (we might find that 3 is good enough for FreeOrion and avoid the fuss of the implementation of 3).

Also, I'm not sure it really makes sense to reveal ships just for blockading: the ships implicit in the supply might not be good at detection, or the reports they give about where and what attacked them (when supply was first blocked, and for any subsequent attempt to recover supply) gets outdated before any armed ship gets there (and so it makes no sense to reduce the stealth in any way). Yes, I think best option is 2, and only reduce stealth of ships after they have been in combat, and only for one turn (the multi-turn mechanics).

Regarding blocking pass:

That a hidden fleet ambushes a ship is part of FreeOrion since a long time and I don't know if there are any complaints about it. Sometimes my scouts have been killed by some unknown ship/monster with MAX_INT stealth (i.e. we don't know) and I could only increase my detection (or wait for that ion storm to go away).
If a player with an armed fleet blocks a system and another player crashes its fleet into it, only way for this to be a surprise for the first player is if it is sending its fleet outside of its supply range (I mean, otherwise he would have seen that system has supply block, so something hidden in there must be doing it). I think that is reasonable and enjoyable, gameplay-wise.
Even if it was a surprise and lost all the fleet in the combat, the player will get a combat report and now what's in there (unless the ambushing fleet was strong enough to kill the other fleet in one single bout, and then, probably, this wasn't a decisive battle: the decimated fleet was just a fraction of that player's forces or that player was already losing the war).
So, I don't see any problem in letting aggressive ships to stay undetected and trigger combat. Depending on what is done with the supply block (solutions 2 or 3, go go team 2), the same would apply here (that is, undetected ships blockading a system that trigger combat with an incoming enemy fleet would either have full stealth at start of combat or have some penalisation from the fact that they are blockading the system).


And then... what we do with that "Silent run" toggle? Its only purpose would be to allow for ships on the verge of stealth=detection to get some gain by sacrificing speed.

Do we want that? It would not introduce a new game mechanic, and would require some extra attention from the player for proper use. I would drop the idea.

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

Re: Stealth mechanics proposal

#20 Post by Ophiuchus »

Oberlus wrote: Tue Jun 18, 2019 10:57 am 2. The easiest way is to drop the idea of stealth affected by blocking supply. Then you can set all the stealth fleet to aggressive and get the same effect than with the stealth reduction plus the micromanagement workaround.
I think I prefer this one (active and passive having same stealth). So active would be block supply, trigger combat. Passive would be dont block supply, dont trigger combat, but fight if there is a combat. Plus a "sneaky" do-not-expose-yourself fleet order: i.e. do not block supply, stay out of combat if possible.
Oberlus wrote: Tue Jun 18, 2019 10:57 am 3. The harder way is to make the supply-blocking stealth malus to affect all armed allied fleets in the system, including those set to passive. This disables the workaround and compels the player to send all fleet set to aggressive.
Implementation is possible (but i guess awkward because of having an extra round of determining allies and searching if any of those has set an armed active fleet).
But i think it is also kind of obscure.

I also think we should go for 2 and after playtesting we can revisit the topic in the future.
Oberlus wrote: Tue Jun 18, 2019 10:57 am Also, I'm not sure it really makes sense to reveal ships just for blockading
At least there should be a sitrep or rather a ghost marker. Else one would probably miss slight changes to ones supply network.
Oberlus wrote: Tue Jun 18, 2019 10:57 amI don't see any problem in letting aggressive ships to stay undetected and trigger combat.
I think this is ok.
Oberlus wrote: Tue Jun 18, 2019 10:57 am And then... what we do with that "Silent run" toggle? Its only purpose would be to allow for ships on the verge of stealth=detection to get some gain by sacrificing speed.
Regarding your "Silent" order: It would save some micromanagement for disruptor missions (do blockade, but do not enforce supply). I think this is rare and not really worth it.

For my "Sneaky" fleet order the idea was to be able to sneak past enemies (e.g. in order to strike behind enemy fortification), not to have better stealth in combat. It would be also a way to say: stay out of combat even if we get attacked.
So sneaky: either take part in space combat/enforcing supply/blockading/planet invasion or get a stealth bonus. Half speed was mostly a fitting balancing suggestion. Maybe "Hidden" would be a better name(?).
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!

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

Re: Stealth mechanics proposal

#21 Post by Oberlus »

Ophiuchus wrote: Tue Jun 18, 2019 12:54 pmFor my "Sneaky" fleet order the idea was to be able to sneak past enemies (e.g. in order to strike behind enemy fortification), not to have better stealth in combat. It would be also a way to say: stay out of combat even if we get attacked.
So sneaky: either take part in space combat/enforcing supply/blockading/planet invasion or get a stealth bonus. Half speed was mostly a fitting balancing suggestion. Maybe "Hidden" would be a better name(?).
Maybe we can leave this (the third toggle) out for now.
But while we're here:
You can already sneak past enemies if you have enough stealth and go in passive mode. So this sneaky mode would give a stealth bonus when compared to passive (and aggressive, I guess).
I would not make effects that play different for galaxy map and combat. I mean, if sneaky mode gets you a stealth bonus for galaxy map, it must do the same for combat.
So we could make it half speed and +1 (or +2) stealth, and rest the same as passive. But then we get the micromanagement workaround you pointed out: I send on turn 1 the whole armed fleet in sneaky mode and on turn 2 the single aggressive ship to trigger combat, to get that +2 extra stealth that will get you some advantage in the combat.
Hmmm... In the end, I don't see the point for the third toggle, unless we make a fourth one: sneaky aggressive and sneaky passive, one that triggers combat one that doesn't. But this introduces something else that the player may want to keep changing every few turns, only to give some extra edge to a mechanic that is already in place.
Nah, I vote to forget about third or more toggles.

User avatar
Krikkitone
Creative Contributor
Posts: 1559
Joined: Sat Sep 13, 2003 6:52 pm

Re: Stealth mechanics proposal

#22 Post by Krikkitone »

I think an important idea in stealth ships blocking supply is not having the game hide things from you that you know.

So IF you block my supply with a stealth fleet, the fleet should be "visible" to me on the galaxy map... ie I know there is an enemy ship there (or some stealthed Monster)...I don't know anything about the fleet other than that it is an enemy and in that location.

With that mechanic in place, then a simple
Active-always attack/block
Passive-only if the other side initiates combat
Hidden-never do combat (for slipping through an active battle/spy ships.... probably not needed)

would be fine

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

Re: Stealth mechanics proposal

#23 Post by Oberlus »

Krikkitone wrote: Tue Jun 18, 2019 3:52 pmI think an important idea in stealth ships blocking supply is not having the game hide things from you that you know.

So IF you block my supply with a stealth fleet, the fleet should be "visible" to me on the galaxy map...
Agree. Currently, when there is a combat in which your fleet is destroyed before revealing the enemy fleet (you died on round 1), you get that ghost sensor that does not let you know the stats of who killed you. So we should make that ghost sensor to appear also when blocking... That might be tricky depending on how those ghost sensors are coded (no idea myself). Or, we could use some sort of visual indicator in the systems where undetected ships are blocking supply. Not if sure that is possible.

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

Re: Stealth mechanics proposal

#24 Post by Ophiuchus »

Oberlus wrote: Tue Jun 18, 2019 1:35 pm
Ophiuchus wrote: Tue Jun 18, 2019 12:54 pmFor my "Sneaky" fleet order the idea was to be able to sneak past enemies (e.g. in order to strike behind enemy fortification), not to have better stealth in combat. It would be also a way to say: stay out of combat even if we get attacked.
So sneaky: either take part in space combat/enforcing supply/blockading/planet invasion or get a stealth bonus. Half speed was mostly a fitting balancing suggestion. Maybe "Hidden" would be a better name(?).
Maybe we can leave this (the third toggle) out for now.
But while we're here:
You can already sneak past enemies if you have enough stealth and go in passive mode. So this sneaky mode would give a stealth bonus when compared to passive (and aggressive, I guess).
If I got your proposal right you need +3 stealth difference in order to sneak past enemies. So in most cases this becomes practically impossible. That was the reason I mentioned the sneaky toggle in the context of your proposal (in the context of different kinds of stealth, going silent has more concrete effects).

I thought by making the the sneaky toggle only fire if the enemy uncovers your ship I could get around the send-an-unhidden-ship-along-for-the-best-result hack.
But I found that you can still get a combat advantage if you have bad stealth with SR and CR weapons. I was also pondering if using that send-an-unhidden-ship-along-for-the-best-result hack could be considered tactical mastery, but the hack is always the best choice and there is no counter to that it so it is only boring and micromanagy technical mastery.

So I suggest that sneaky ships should play dead even when being attacked. This means a fleet on sneaky do not shoot their weapons at all. This would give an option for slow hidden deep incursion and slow hidden retreat. Maybe speed should not be halved but quartered(?).

If we do not include an extra-stealthy fleet mode we need different mechanism for allowing sneaking-by.
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!

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

Re: Stealth mechanics proposal

#25 Post by Oberlus »

Ophiuchus wrote: Sat Jun 22, 2019 11:27 amIf I got your proposal right you need +3 stealth difference in order to sneak past enemies.
I don't discard that there is somre problem in my proposal, but the idea wasn't that one:
Oberlus wrote: Thu Jun 13, 2019 4:19 pm[*] Stealth greater than detection (stealth-detection=H>0): +H combat round before being targettable, ships are not visible in galaxy map.[/list]
So, a ship set to passive with stealth>detection+1 is enough to pass any blockade, same as currently.

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

Re: Stealth mechanics proposal

#26 Post by Ophiuchus »

Oberlus wrote: Sat Jun 22, 2019 11:36 amSo, a ship set to passive with stealth>detection+1 is enough to pass any blockade, same as currently.
Oh, I misremembered. My mistake :oops:

So sneaky mode is optional ;)
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!

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

Re: Stealth mechanics proposal

#27 Post by Ophiuchus »

Back to the OP: with current content and without ranges implemented this basically means for all ships without ShortRange weapon parts (including stealth bombers) that stealth is reduced by 20 per combat bout, correct?

Hidden ships with shortrange weapons will be visible after first bout.
This probably should only happen if the weapon actually shoots - sometimes there is no applicable target.
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!

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

Re: Stealth mechanics proposal

#28 Post by Oberlus »

Ophiuchus wrote: Mon Jun 24, 2019 2:35 pm Back to the OP: with current content and without ranges implemented this basically means for all ships without ShortRange weapon parts (including stealth bombers) that stealth is reduced by 20 per combat bout, correct?

Hidden ships with shortrange weapons will be visible after first bout.
This probably should only happen if the weapon actually shoots - sometimes there is no applicable target.
For current state of FreeOrion (and for 0.4.9), the only ships affected by this "-20 stealth per combat bout" are stealth carriers and stealth scouts/troopers/colonisers/outposters that happen to be in the system.
I wouldn't make stealth non-armed ships subject to this stealth reduction per bout, since they should not be actively participating in the combat, just trying to keep a low profile and stay out of trouble.

So I would go for simple implementation of the weapon noisiness (more of a reusable placeholder) that would be compatible with ranges and whatnot (I'm sure I posted this elsewhere, can't find it):
- Make all ships lose some MACRO_VALUE_DEFINED_SOMEWHERE stealth after each shot of whatever weapon, launch bays included.

Or, if there is enough time and energy:
- Add one attribute (if it isn't there) to every weapon object, "noisiness", and use that value for the stealth reduction instead of a global, shared one.

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

Re: Stealth mechanics proposal

#29 Post by Oberlus »

Vezzra wrote: Sun Jul 28, 2019 3:19 pmGetting rid of the all-or-nothing effect of stealth must also work in all other [non-combat] cases where stealth comes into play.
Fair enough.
At start I had no idea of what to do with stealth and visibility in map (out of combat), apart from current all-or-nothing.

For combat I can come up with two ways: time a ship remains hidden/untargetted OR difficulty to target the ship. This thread is about the former. The latter isn't a crazy idea: give some change for a shot to miss depending on stealth, but that mechanic (shots having a probability to miss its target) isn't currently present in FreeOrion. Any chances for that to change in a foreseeable future? If yes, I guess we should present an alternative stealth mechanic based on that and compare with the current proposal.

For map visibility, a probability of detection depending on detection-stealth (or detection/stealth) seems weird to me. I guess I'm not fond to the idea of such randomness: each time you try to send, say, a hidden coloniser past an enemy (empire or monster) system you are playing roulette. If enough players like the idea, then that could be a way to get rid of the all-or-nothing visibility issue.
Another way could be to reduce stealth of fleets of ships depending on their size: a single ship would work right as it does now (if stealth>detection, ship can go undetected), but the more ships you try to sneak past the enemies or to stay undetected in a given system would require more stealth advantage. This would still be all-or-nothing in the sense that the fleets would be either detected or undetected but nothing in between. But would be less all-or-nothing than currently.
A third way could be to only reveal part of the fleet: big fleets need big stealth advantage (stealth>>detection) to stay fully undetected, and when stealth is only marginally superior to detection then some of the fleet could be seen by the enemies. Problem with this is that you might want to stay at that marginal stealth superiority to trick your enemy into attacking you with less forces than optimal, and so we get into the odd situation where having not so much stealth is better than having more.

And I can't come up with anything else. Thoughts?

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

Re: Stealth mechanics proposal

#30 Post by Vezzra »

Oberlus wrote: Sun Jul 28, 2019 5:10 pmFor combat I can come up with two ways: time a ship remains hidden/untargetted OR difficulty to target the ship. This thread is about the former. The latter isn't a crazy idea: give some change for a shot to miss depending on stealth, but that mechanic (shots having a probability to miss its target) isn't currently present in FreeOrion. Any chances for that to change in a foreseeable future?
Apparently, from what I've read of ancient design discussions and on the old "design pads" about the original design of the combat system, it had been decided that shots always hit and that there would be no chance-to-hit in FO combat. I don't remember the reasons given, I think it had something to do with keeping the combat system simple.

Geoff, TheSilentOne and Krikkitone may know more as they have already been around when that decision was made.

Having stealth influence the time a ship remains hidden in combat sounds like a viable approach though, so I don't see any problem here.
For map visibility, a probability of detection depending on detection-stealth (or detection/stealth) seems weird to me. I guess I'm not fond to the idea of such randomness: each time you try to send, say, a hidden coloniser past an enemy (empire or monster) system you are playing roulette.
I'm completely agree with that assessment, and I strongly suspect most of the other devs feel the same.

Originally detection and stealth worked this way on the map: the distance at which you could detect an object was detection range of the detector - stealth of the detectee. Meaning, if an objects stealth surpassed your detection range, you couldn't detect it at all. The more your detection range exceeded the stealth of the object, the farther away you could detect it.

I don't want to get into the gory details, but it turned out that system encouraged micromanagement when playing cat-and-mouse to catch stealthy things, which is why it was replaced with the current system. Although I have to say that the issues of the current system are worse than the micromanagement issues of the old one (IMO).
Another way could be to reduce stealth of fleets of ships depending on their size: a single ship would work right as it does now (if stealth>detection, ship can go undetected), but the more ships you try to sneak past the enemies or to stay undetected in a given system would require more stealth advantage. This would still be all-or-nothing in the sense that the fleets would be either detected or undetected but nothing in between. But would be less all-or-nothing than currently.
That's very similar to something I had already pondered myself: make stealth work in a way that you don't need so much stealth for a single, "tiny" ship to go undetected, and increasingly difficult the "larger" and more numerous the ships in your fleet are.

So you have a decent chance to get a small, single scout behind enemy lines, but very hard to do so with a doomstack of behemoths.

So yes, I like that approach. :D IMO that's sufficiently less all-or-nothing to be viable.

Post Reply