Well what if the invasion was accidental? Or you would rather them leave without inciting them to war? How are you going to deal with this without wasting more time than the incident is worth? Are you going to waste playing time escorting the ships across the tactical map?
If the invasion was accidental, then the other player might not like it if I blow up his ships. It's still not putting him at any sort of unfair disadvantage. Exploring the galaxy is dangerous, and in any case, he'll probably have time to retreat before he's completely destroyed. As for wasting playing time escorting his ships across the tactical map, no there would be no need for that. Assuming I have the power, I would either destroy his ships, or ask him to leave (via tactical diplomacy). If the latter, I would just give my ships on the galaxy map the command to tail his vessel, if that's the only way I can keep an eye on him, or if I have good enough visibility of his ship, I wouldn't have to actually follow him at all.
Or you are not so sure that you can actually blow up the ship with available resources?
This is really the heart of our disagreement, for blockades just as much as for closed borders. Your philosophy seems to be that having the resources to do something should be tantamount to doing it, whereas I say that your ships should actually have to go and do it.
You say having closed borders towards someone means that they must
declare war on you if they want to violate your territory. I say that having closed borders towards someone should give you a huge advantage in keeping them out of your territory (unless they declare war on you), but your ships actually have to go get rid of them, blockade their supply lines, etc.
You say that having a ship or planet uncontested in a system should mean a blockade - I say you need a ship patrolling a starlane entry point or orbiting a planet to blockade it.
You say having a friendly ship in a system should allow your supplies to pass through - I say your ship actually needs to drive the enemy ships away from the planet or starlane entry to break the blockade.
In all these cases, the planned stealth mechanics make it exceedingly awkward for your version to work well without giving players metagame information about the presence of enemy ships. In the first example, you enter enemy territory with a stealthy ship thinking you can't be detected. When you get the pop-up to "declare war or leave", you know something in there could see you, even though you didn't have the detection to see it yourself. In the second example, you have ships in the system and can't detect any enemy ships - yet supply is still passing through. Now you know that there are cloaked enemy ships in the area.
By making the player actually do
something to make stuff happen, you get rid of complex abstractions such as pop-ups asking the player whether to "hide" or "blockade". Instead, the entire trade-off is manifest in a single "type" of decision - what to order your ships to do. Order your ships to attack enemies who are blockading a system, and you reveal their presence, but break the blockade. Order your ships to blockade a system, and they become more visible to the planet they're orbiting, or by virtue of proximity to the starlane entry point.
I realize that a reasonable player might sometimes want more options than i've outlined, but this is not a terribly significant thing to spend the player's or developer's time on. So i've proposed what is as close to a "one-size-fits-all" solution as i can get, that wastes as little time as possible.
The ultimate "one-size-fits-all" solution is the one where the player controls all the actions and effects of his units simply by giving orders to his units - no meta-game abstractions, no pop-ups, just simple cause and effect based on the actions of the player's ships.
In a single sentence: "The effect of a player's ships should be the direct result of their action and location, and be unaffected by the action and location of ships belonging to other empires."
In other words, if a ship is doing something to cause a blockade, another empire's ships shouldn't be able to stop that just by being there - they need to force the ship to cease the action that is causing the blockade.
Anyhow, that was a bit tangential, but it bears a relation to the topic in that ships encroaching upon enemy territory shouldn't be forced to either leave or declare war just because they're visible to a ship belonging to the other empire. The enemy empire needs to actively take advantage of their "Closed Border" status to get rid of the enemy ship, which will lead to the natural conclusion of the violating ship either leaving, or declaring war.
So here's what I suggest for Closed Borders and War:
- If Red has "Closed Borders" towards Green, then any of Red's ships set to blockade planets or starlane entry points in a system containing Red planets will stop Green supplies (or if blockade occurs just by having ships in a system, then Red ships blockade Green supplies only in systems with Red planets)
- If Red has "Closed Borders" towards Green, then Red can attack Green without any diplomatic penalty while in a system containing Red planets.
- If Red is at war with Green, both Green and Red will blockade each other's supplies whenever applicable.
- If Red is at war with Green, each may attack the other without diplomatic penalty.
P.S. Why is this in "General" instead of "Brainstorming"?