Geoff the Medio wrote:Some questions we still need to address include:
* Assuming the stealth / detection mechanics are the same for the galaxy map and the battle map, do we need entirely separate stealth and detection meters (and techs and ship parts and buildings, etc.) to set / modify / boost them? Either way, we can have effects that only alter the meters in one context or the other, but should the values be presented to players and stored internally as a single or multiple meters of each type?
I say yes. I'd like people to be able to concentrate one branch of the tech tree, and use that branch to exercise a strategic advantage. The two strategies here would be 1) You can see me coming, but you can't stop me from staying around/passing through your systems, and 2) You can't see my assault fleet coming until its too late, even though you can see all the ships once they arrive. I also think that omni-stealth will be too powerful -- I worry that it will allow a player to cruise around at will, undetected on either the galaxy or tactical maps.
* How far away, measured in units of the typical distance between systems on the map, should it be possible to see the following types of objects? This is about typical objects of their type, and doesn't imply that special cases couldn't be harder or easier to see.
** Systems (stars) - Currently all these can be seen by all players. However, this makes exploration of the galaxy less interesting and could potentially give advantages to human players over AIs in that humans are better able to infer what direction to scout based on the direction towards the centre of the galaxy.
I'd like to hide stars before they're explored. When faced with a branching path, the AI will have a hard time figuring out that taking the left fork is more likely to allow the exploration of all those stars on the left, assuming there's only one or two on the right. This is trivial for a human. AIs are hard to get right, so I don't want to handicap ours in the first "X".
** Planets - Currently all are visible after a system is explored, but if systems can be seen before reaching them, should planets as well? Being able to see into other systems without sending ships could be a valuable ability for certain strategies that don't use a lot of ships.
I vote for planets being visible only when a star is visited. They should be visible thereafter, but changes to their contents, like buildings, etc., should not change until they are revisited.
** Buildings - Currently buildings are visible when the planet they are on is visible, but it might be interesting to make it generally harder to see buildings... A much more refined or advanced long-range detection system would be useful if it allowed a player to see buildings in other systems that would otherwise be undetectable.
Same as for planets. I think all of a star system's contents should be visible to anyone currently in that system. This applies to defenses, starbases, buildings, etc. This does not apply to settings, like focus, etc.
** Other Empires' Fleets - Currently these are visible on starlanes adjacent to systems the player can see or in systems the player can see.
*** Should it matter if a fleet is in a system or travelling on a starlane?
Yes. This can be used to confer an advantage to the defender. Moving fleets should be more detectable.
** Starlanes - Currently these are visible after one of the systems they are connected to is explored (ie. the planets in the system are visible).
If stars are only revealed when explored, I'd also like the starlanes leading to them not to be fully revealed either. For example, if you reach star A and it has a starlane to star B, which is not yet visible, you should know that there's a starlane there, but not how long it is, until you actually follow it and reach B.
*** Could you see a fleet travelling on a starlane even if the lane itself isn't yet known / visible?
I say no. KISS.
* Are there levels of visibility? Fleets could be detected just as "a fleet", with no further information about contents, or the approximate number of ships could be known, or the exact number but no details about their designs, or rough classifications of designs could be known, or exact design information could be known. Similarly for planets, the environment type, whether it is populated, approximately how populated and how developed it is could be known at with sufficient levels of detection.
** What determines how much detail is available? One option is to provide more information depending on how much the detection meter exceeds an object's stealth meter and distance from the detector.
*** Detection >= Stealth + Distance ... Can see object and its basic type (ship, system, etc.)
*** Detection >= Stealth + Distance + 10 ... Can see some additional information
*** Detection >= Stealth + Distance + 20 ... Can see more additional information, etc.
** Even if the special case for detection, where objects with stealth 0 are always visible, is in effect, seeing details about the object could require meeting the above more-restrictive conditions.
This all sounds good to me. I don't have a strong opinion about what information the different detection levels should tell you though. I only want to apply stealth to ships, though (and to fleets, where a fleet's stealth is min(ship stealth meters)).
* Should the special case for detection, where objects with stealth 0 are always visible, that is mentioned in the battle map detection vs. stealth discussion in the v0.4 Design Pad, be applicable for galaxy map detection as well? If systems are always visible, this would make sense to do, but if systems are invisible unless a player gets a detecting object close enough to see them, this is perhaps not necessary.
** Then again, we might want a way to reliably make an object visible to the whole universe on the map without requiring another special case... Perhaps a star goes nova; the whole galaxy could be expected to see this.
** Even if systems aren't always visible, we could just give systems a base stealth of 0.01 (or other suitably small but non-zero number) so that they fall under standard detection rules, and not the stealth 0 special case.
I think we should mirror the tactical stealth mechanics in the galaxy map as closely as possible, unless there is good reason not to.
* Is it important or beneficial for players to get bonuses to detecting ships if their empire knows something about the ships that are being detected? In particular, if the player has knowledge of the ship's design, should that give a bonus, or is this too complicated to worry about? Assuming appropriate espionage functionality exists, having bonuses to detect known ship designs could make spying to steal ship design more useful, even if an empire has no plans to build such designs for its own use.
I think this would be a great addition to the spying minigame, but it will probably adding too much detail to incorporate scans from tactical battles, etc.
* How should we deal with cases where a more-visible object is contained within a less-visible object? For example, a planet might have stealth 5 and the system it is in might have stealth 20. A ship would see the planet before it could see the system. We can't (or won't) have any way to show an isolated planet, apparently without a system, on the map, so either the planet will remain invisible until the system can be detected, or the visible planet will force the system to be visible as well.
** If there are levels of visibility, say 1 and 2 where level 2 gives more detailed info than level 1, should a level 2 planet make its system visible at level 2 as well?
** What if the system is at level 1, which doesn't reveal the system's contents (planets) but the planet is a level 2? Revealing just the level 2 planet, but not any other planets in the system (since the system's visibility isn't high enough to reveal its contents), could be complicated and prone to UI issues and would likely be best avoided.
If we apply stealth only to ships/fleets, these problems go away. If not, I think a contained object's detection should be impossible if its containing object is not already detected.