Space Combat: Range and Detection

Past public reviews and discussions.
Message
Author
Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

Space Combat: Range and Detection

#1 Post by Tyreth »

This thread is for you to input ideas on the related ideas of range of weaponry and detection(/stealth). This is to run concurrently with discussion taking place elsewhere.

This is a cut and paste of what tzlaine wrote as the framework of discussion. We'll be using any good ideas from here to work into the other discussion, and hopefully form the 0.4 document.
tzlaine wrote:How far can units see?
How far do weapons reach?
How does stealth work?

To make the discussion more concrete, let's assume that all star systems in the game are 100AU across (or 50 AU radius from the star). It's a nice round number, and it's approximately how far out Pluto reaches in our own system. We might change this scale later, or not use AUs in the actual game, but for our purposes, let's use this convention. Note that this has the nice property that 1AU is equivalent to 1% of the system's width.

Here is a list of specific questions we need to answer, though it may not be all of them. "Range" below needs to be two numbers: the minimum-tech-level value and the maximum-tech-level value, so we can also discuss how the values evolve over time to some degree. Important: for the first part of the discussion, let's assume the tech level is exactly in the middle. In other words, let's determine the relative ranges of everything first, assuming a mid-game scenario. At the end we can determine how the ranges should scale over the range of tech levels.

What is the basic detection range of ships?
Does ship size impact detection ability, and if so, how do the sizes compare?
What is the basic detection range of fighters?
Does stealth merely modify the above ranges, or do something else?
Do we want a continuous value for stealth on ships (0%-100%)?
If so, how does a ship's stealth value affect its visibility? Does it just extend reduce the range at which it can be detected, or do something else?

What is the basic range of SR?
What is the basic range of LR?
What is the basic range of Fighters?

Bonus questions, to be answered after the above:
Do we want to have special detection equipment for ships? If so, how should it work?
Do we want to have special stealth equipment for ships? If so, how should it work?
What (besides possible special stealth equipment) affects a ship's stealth?
How do the various ranges change during the progression through the tech levels?

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#2 Post by Geoff the Medio »

Note that the above post assumes some knowledge of some already-established decisions, which are noted in the V0.4 Design Pad. Reviewing that first is reccomended before posting.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

#3 Post by eleazar »

I tend to think that without mid-late game stealth technology, any ship should be able to detect any other ship anywhere in a system. The idea of various detection ranges for various technologies modified by ship size was at first appealing, but small early-game fleets blindly searching for each other could put a serious damper on fun.

Of course these answers depend on how involved combat is supposed to be. Obviously combat is supposed to offer some meaningful tactical decisions. But quite possibly it is also supposed to be relatively short (in most cases) to make multi-player games possible?
However i admit these objections could be mostly alleviated, if spotter scouts were sufficiently fast, and could have a sufficiently wide range of sight.
Does ship size impact detection ability, and if so, how do the sizes compare?
It seems very reasonable that stealth should be proportionately much more expensive and/or less effective on larger ships. The tactical advantage of being able to sneak a death star right up to an enemy target is vastly greater than being able to sneak a tiny scout into the same position.
Do we want a continuous value for stealth on ships (0%-100%)?
I would suggest that Stealth (and many other technologies) have distinct plateaus, not provide advantages on a smooth gradient. In other words, that there be about 3-5 Stealth technologies— each significantly better than the one before. Each tech could be refined, but would fall significantly short of the effectiveness of the next tech. Counter-stealth technology would follow a similar progression
The reason is psychological. Stealth is conceptually a "powerful", "cool" technology. It should provide a significant advantage, when the enemy doesn't have sufficient counter-technology. When you've reached a new level of stealth technology, it should be an impressive accomplishment which causes your enemies to quake, until they research a counter. The dramatic value is diminished if it's just one of a long string of techs, which provides a marginal advantage over the previous state of affairs.
Do we want to have special stealth equipment for ships? If so, how should it work?
At least for earlier levels of stealth a non-radiating, non-reflective hull coating is a good explanation for stealth.

marhawkman wrote:question is it set in stone that we will be having set techs in the game?
I think i remember you alluding to this concept in threads on other topics. IIRC it seems to be different than where the current tech tree is going. But it would probably be best to start a thread for your concept, or link to it, if a through explanation exists.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#4 Post by Geoff the Medio »

A potential system for stealth and detection is to have each ship (or other object) have two ratings: stealth, and detection radius. Both of these values would be standard meters, with values in the range 0 to 100.

To determine whether a target can be seen by a detector, the target's stealth, say 5, would be subtracted from the detector's rating, say 10, giving an effective radius of 5. The, the detector would see the target if they were within a distance of 5 (in whatever units) of eachother. If the difference is 0 or negative, then the detector could never see the target.

This system would allow there to be an ongoing battle of technology between detection and stealth, up the tech tree. It becomes possible to have a ship that's totally undetectable with one set of detection equipment become easily detectable with better detector equipment. If a ship design can be easily detected, a more advanced version with better stealth equipment would be much harder, and possibly impossible to detect.

This also makes it almost always useful to add more stealth or more detection ability to ship designs, as it will either make your ships immediately able to detect further or be detected less far, or you'll future-proof your designs somewhat against anticipated enemy improvements.

Thoughts? Objections? Agreements?
eleazar wrote:I tend to think that without mid-late game stealth technology, any ship should be able to detect any other ship anywhere in a system. The idea of various detection ranges for various technologies modified by ship size was at first appealing, but small early-game fleets blindly searching for each other could put a serious damper on fun.
We could treat steath = 0 as a special case, in which a target can be seen by any other object, regardless of the detector's detection ability or the distance between them. Stealth tactics and calculations would only come into play for objects with stealth > 0, indicating at least some effort has been made to limit easily-detectable with modern-day real-world tech-level visible-light or radio telescopes. Ships, and most other things, would default to 0 stealth, and only get higher than this if specially designed to be stealthy.

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

#5 Post by loonycyborg »

There should be two types of detection systems: active and passive. Active systems emit some form of radiation to detect other ships, which gives away their presence and maybe location. Passive systems do not emit anything and therefore can be used when hiding, but have much shorter range.
Active systems can be switched on and off, so, say, a fleet that makes a surprise attack can temporarily switch off its active scanners so the enemy will not detect them too soon.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#6 Post by Geoff the Medio »

loonycyborg wrote:Active systems [give] away their presence and maybe location. Passive systems do not [...] but have much shorter range.
With the above system, we could have, for example, two detector systems. System A gives a detection range of 10, but has a -20 stealth penalty. System B gives a detection range of 3, and has no stealth penalty.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

#7 Post by eleazar »

Geoff the Medio wrote:This system would allow there to be an ongoing battle of technology between detection and stealth, up the tech tree. It becomes possible to have a ship that's totally undetectable with one set of detection equipment become easily detectable with better detector equipment. If a ship design can be easily detected, a more advanced version with better stealth equipment would be much harder, and possibly impossible to detect.

This also makes it almost always useful to add more stealth or more detection ability to ship designs, as it will either make your ships immediately able to detect further or be detected less far, or you'll future-proof your designs somewhat against anticipated enemy improvements.

Thoughts? Objections? Agreements?
I agree with these kind of results/goals, but i'm going to go out on a limb and propose a different formula to provide a slightly different balance. Caveat: Math isn't my thing.

Ships detection ability = GVR - GVR * (ST-DB)
(further elaborations to the formula might take into account the size of ships)

GVR= Global vision range: A constant for an entire game used to adjust the amount of hunting possible/neccesary. Let's assume it's 25 AUs for now.
DB = Detecting Bonus: A percentage normally between 0 and 1, (though higher values would be possible for super detection.)
ST = Stealth: A percentage normally between 0 and 1, (though higher values would be possible for super stealth.)

Results:
• Equally advanced stealth and detection makes ships detectable at the same range that totally undeveloped ships would be. I.E. a Stealth of .5 is totally canceled by a Detection Bonus of .5.
• The amount of hiding/seeking can be calibrated without reworking the stealth/detection techs.
• The game result is pretty obvious:
•• A stealth advantage (ST-DB) of 1 (or 100%) makes a ship completely undetectable.
•• A ship with a stealth advantage of .5 (or 50%) halves the range at which a ship can be detected.
•• A max detection tech 1 (or 100%) doubles the range at which un-stealthed ships can be detected.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#8 Post by Geoff the Medio »

eleazar wrote:Ships detection ability = GVR - GVR * (ST-DB)
Rearranging,

Code: Select all

DA = GVR * (1 - ST + DB)
I assume ST is a properety of the target, and DB is a property of the detector, both dependent mainly on respective ship designs.

I'd much rather have the relevant ship ratings be in the range 0 to 100, in order to be consistent with (and more so, actually be) meters, and because, as we've discussed, whole number increments are better than fractions for numbers presented to users. Obviously presenting the fractions as a % accomplishes this, so it's a minor point.

Code: Select all

DA = GVR * (100 - ST + DB) / 100
I have reservations about including the 100% default detection radius. This would often eliminate or trivialize an important choice in ship design: whether to include a scanner. Ideally, we'd force the player to chose between a few options:
- Designing a support ship class with long-range powerful scanners, leaving the main combat ships dependent on the scanner ships for detection.
- Use cheaper scout ships to scan
- Using fighters to scan
- Putting scanners on all combat ships, so that they're self-sufficient, but more costly and possibly less stealthy themselves

It would also seem to make the variations in scanner radius much less dramatic. With just

Code: Select all

detection_range_eff = base_detection_range - target_stealth
it's much more likely to see much larger shifts in effective scanning radius, from full scanning range, to unable to see target ships. (Aside: I expect that weapons will typically have large penalties to stealth that apply on the turns on which or soon after they fire, so that ships that are completely stealthy when running silent are often still visible after they start shooting).

The 100% built-in radius also makes, at least at the start of the game, improvements in stealth or scanning technology rather insigificant. I assume we won't have early-game stealth and detection equipment with bonuses on on the order of 50%... Or if we did, then what would later game techs do? Bonuses of 100%? 200%?
• The amount of hiding/seeking can be calibrated without reworking the stealth/detection techs.
We can include a global range scale factor without the 100% factor in the formula:

Code: Select all

detection_range = detection_scale_factor * (base_detection_range - target_stealth)

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

#9 Post by loonycyborg »

IMHO undetectable ships make no sense. Even most advanced stealth systems are bound to have some flaws that make them detectable on very close range.

This formula never gives negative detection range:

Code: Select all

detection_range = base_detection_range * exp( - stealth / detection )
where:
base_detection_range is function of ship's size
stealth is function of the ship's stealth hardware
detection is function of opponent's detection hardware
Geoff the Medio wrote: System A gives a detection range of 10, but has a -20 stealth penalty. System B gives a detection range of 3, and has no stealth penalty.
Since the opponent will use active scanner's emissions to detect the ship, its stealth is irrelevant. Active scanners should not give penalties to stealth but have their own "stealth".

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#10 Post by Geoff the Medio »

loonycyborg wrote:IMHO undetectable ships make no sense. Even most advanced stealth systems are bound to have some flaws that make them detectable on very close range.
There's more to stealth than reducing emissions or using radar-reflective paint. The assumption here is that there's very advance active camouflage, spacetime manipulation or other technobabble being used, that could only be seen through by equally advanced detector technology, even up close.

But regardless, that's essentially a realism argument. Is there a gameplay reason why targets need to be always detectable if you get close enough (rather than if you get a better detector, or they do something to compromise their stealth)?
Geoff the Medio wrote: System A gives a detection range of 10, but has a -20 stealth penalty. System B gives a detection range of 3, and has no stealth penalty.
Since the opponent will use active scanner's emissions to detect the ship, its stealth is irrelevant. Active scanners should not give penalties to stealth but have their own "stealth".
I don't follow what you're trying to say here. Use the same terminology I used above, where detectors use their detection rating to try to see targets which use their stealth to avoid detection. It's not clear what the difference is between stealth and "stealth" as used by you.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

#11 Post by eleazar »

Geoff wrote:I have reservations about including the 100% default detection radius. This would often eliminate or trivialize an important choice in ship design: whether to include a scanner. Ideally, we'd force the player to chose between a few options:
- Designing a support ship class with long-range powerful scanners, leaving the main combat ships dependent on the scanner ships for detection.
- Use cheaper scout ships to scan
- Using fighters to scan
- Putting scanners on all combat ships, so that they're self-sufficient, but more costly and possibly less stealthy themselves
I don't think we are doing the player a favor in allowing the construction of blind ships. It simply makes the learning curve a little steeper, by allowing catastrophically useless ships if the player doesn't know to take up a slot with scanners. The player still has these choices, in mid-late game a ship without advanced detection may be nearly blind. However giving ships a minimum sight range without taking up a slot, seems the user-friendly thing to do.
Geoff wrote:The 100% built-in radius also makes, at least at the start of the game, improvements in stealth or scanning technology rather insigificant. I assume we won't have early-game stealth and detection equipment with bonuses on on the order of 50%... Or if we did, then what would later game techs do? Bonuses of 100%? 200%?
The point here is that the scale is easy to understand. Equal levels of stealth and detection tech produce a "normal" range of sight rather than perfect stealth. Building the tech tree is a different question but there's no inherent problem with starting with 50% and ending up at 300% I would of-course argue for a tech set-up that minimizes hide-and-seek scenarios.

loonycyborg wrote:IMHO undetectable ships make no sense. Even most advanced stealth systems are bound to have some flaws that make them detectable on very close range.
FO in no way limits itself to real (or plausible) science. The desired gameplay is chosen, then plausible explanation or fluffy technobabble is applied as decoration.

However it could be argued that perfect stealth isn't fun, an idea i'm willing to entertain. However with current proposals it seems the technology differential would have to be huge to allow perfect stealth at close range.

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

#12 Post by loonycyborg »

Geoff the Medio wrote: Is there a gameplay reason why targets need to be always detectable if you get close enough (rather than if you get a better detector, or they do something to compromise their stealth)?
There is no gameplay reason I can think of, but this will make the code more simple, since there is no need to consider cases of negative detection ranges.
I don't follow what you're trying to say here. Use the same terminology I used above, where detectors use their detection rating to try to see targets which use their stealth to avoid detection. It's not clear what the difference is between stealth and "stealth" as used by you.
I want to say that that the ship's stealth technologies should not help it to reduce it's detection range when it has active scanner turned on.
There may be technologies to make active scanners more stealthy, but they must be applied to scanner, not to ship.
eleazar wrote: However with current proposals it seems the technology differential would have to be huge to allow perfect stealth at close range.
Is it such a bad thing? Besides, if stealth can be increased not only by technologies, but also by decreasing size, small ships will be more useful.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

#13 Post by eleazar »

Geoff the Medio wrote:(Aside: I expect that weapons will typically have large penalties to stealth that apply on the turns on which or soon after they fire, so that ships that are completely stealthy when running silent are often still visible after they start shooting).
Makes sense.
Geoff the Medio wrote:The 100% built-in radius also makes, at least at the start of the game, improvements in stealth or scanning technology rather insigificant.
Another benefit of stealth could be a decrease in a stealthed ship's chance to be hit. So a stealth of 10% (after subtracting the detection bonus), if it also decreased the chance-to-be-hit by (something like) 10%, at any range, would be a worth while technology, even if it's not as impressive as the Klingon's.

loonycyborg wrote:
eleazar wrote: However with current proposals it seems the technology differential would have to be huge to allow perfect stealth at close range.
Is it such a bad thing?
My point is that it probably will be very uncommon for a ship to be so technologically superior that it can approach to point blank without being detected.
Last edited by eleazar on Sun Mar 18, 2007 5:25 pm, edited 1 time in total.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

#14 Post by Geoff the Medio »

eleazar wrote:I don't think we are doing the player a favor in allowing the construction of blind ships. It simply makes the learning curve a little steeper, by allowing catastrophically useless ships if the player doesn't know to take up a slot with scanners. The player still has these choices, in mid-late game a ship without advanced detection may be nearly blind. However giving ships a minimum sight range without taking up a slot, seems the user-friendly thing to do.
There are a few things we can do to alleviate the learning-curve issue...
- As suggested above, any target with stealth 0 could be exempt from stealth / detection rules, and would be always visible to any enemy scanning ship, regardless (of quality or lack) of detection equipment. Stealth 0 should be fairly common in practice.
- We can add a base 3 to detection rating, for crew eyeballs
- We can distinguish between navigational and battle scanners. Any ship could be said to have a navigational scanner that is installed as part of the engine. This scanner would work in battle to give a base level of detection, particularly at the start of the game or for ships without specialized battle scanners. This would give, +5 or +3 or something similar, which is enough to make a ship useful at the start of the game, but not enough to see through anything but the most basic of stealth technologies.

Either base-level of stealth options would be explained on the ship design screen. There would be a detection rating box, that lists all the +'s and -'s affecting the rating. The first (or last?) line would be the total, and the remaining lines would be the list, with "Base Rating +3" or "Navigational Scanner +5", followed by "Racial Detection Bonus +5" and then "Active Radar Battle Scanner +5", etc.
The point here is that the scale is easy to understand. Equal levels of stealth and detection tech produce a "normal" range of sight rather than perfect stealth.
I don't see this as any better than stealth equal to detection being on the border between detectable and not. Range = Detction - Stealth is quite easy to understand...
Building the tech tree is a different question but there's no inherent problem with starting with 50% and ending up at 300%
I suppose not... Declaring a particular range to be the natural one, and then defining other ranges relative to that seems rather arbitrary though. Another aspect of this is that I'd prefer that if something is presented as a percentage, that it's value actually vary between 0% and 100%. If you can go over 100%, then what's special about 100%?
I would of-course argue for a tech set-up that minimizes hide-and-seek scenarios.
The plan is to have stealth and detection be interesting and important in of themselves, not just an annoyance to get through before the battle starts.
loonycyborg wrote:There is no gameplay reason I can think of, but this will make the code more simple, since there is no need to consider cases of negative detection ranges.
The code complexity difference is negligible.

Code: Select all

double radius = std::max(0, detection - stealth);

//OR

double radius = detection - stealth;
if (radius > 0) {
    // ...
}
I want to say that that the ship's stealth technologies should not help it to reduce it's detection range when it has active scanner turned on.
There may be technologies to make active scanners more stealthy, but they must be applied to scanner, not to ship.
OK, I get what you're saying... and I agree it's less realistic, but in practice I think we can ignore this detail without significant problems with gameplay. Getting stealth points should be fairly difficult, and require forgoing many useful components due to their stealth penalties. A -20 penalty from an active scanner would make most stealth technology useless. And then, it's still plausible that really advanced stealth tech could still make the ship undetectable, even if it's using active scanning equpiment.

User avatar
loonycyborg
Compilation Expert
Posts: 219
Joined: Thu Jul 06, 2006 10:30 pm
Location: Russia/Moscow

#15 Post by loonycyborg »

Geoff the Medio wrote: The code complexity difference is negligible.

Code: Select all

double radius = std::max(0, detection - stealth);

//OR

double radius = detection - stealth;
if (radius > 0) {
    // ...
}
OK, its not simpler but IMHO more elegant. I don't like mixing logic and arithmetic in single calculation.

Locked