Comments (2)
Saves are here https://freeorion-test.dedyn.io/FO0026-saves.7z
from freeorion.
I think what's happening is that blockadability of fleet / its ships is determined from stealth vs. detection, and not the empire visibility of objects (which can include other factors, such as allied shared visibility or effect-derived visibility overrides).
The reason that stealth vs. detection is used, rather than the empire's visibility of objects is that it is necessary to determine whether there is any fleet that could blockade a moving fleet even when the moving fleet doesn't start its movement in the system where the blockade might occur. So, the local visibility of a not-actually-there fleet potentially needs to be determined for all the systems along the fleet's route. Since the determination of whether a fleet can blockade another depends on whether the moving fleet can be detected, this can't just use the empire's start-of-turn visibility of the moving fleet, which was determined specifically for the fleet's start-of-turn location.
Doing a full visibility update for each potential location where a blockade might occur would be complicated, since it would depend on effects and visibilty sharing between empires, and might end up with weird ordering issues and inconsistencies if the result depends on whether other fleets have moved, etc.
So, instead, it just uses detection strength of the empire vs. stealth of the (ships of the) moving fleet. This is debatably plausible in terms of allied visibility sharing, as presumably there might be a communication delay for sharing that info.
It only seems weird in this case since the moving fleet is already visible, so there's an expectation that it should be equally visible for all considerations at the same location at the same time.
It could be reworked so that departing a system you start in uses the empire visibility and not the detection vs. stealth check, but that could potentially lead to some exploits / micromanagement quirks where if you start in a system, you can't leave it due to a blockade, but if you start at another system and just pass through the first system, you can pass due to the visibility calculations working out differently between the locations.
When deciding if a ship is a potential blockader at a system, I could perhaps do something like using the max detection strength of all the ship's owner and the owner's (allies who also have a ship in the system) instead of just the owner's detection strength. That would solve all the cases, though...
from freeorion.
Related Issues (20)
- Release 0.5.0.1 preparation
- (AI) misevaluation of some weapons HOT 4
- Can't Drag-Drop a Policy Over Another HOT 3
- Border Checkpoints Policy HOT 5
- Building FreeOrion 0.5 against Boost 1.85 fails HOT 14
- Incorect Annex Sitrep HOT 2
- Turn 1 Influence Malus HOT 3
- Annex issues in multi-player HOT 10
- (multiplayer 26th) Conceeding Empire's assets disapear HOT 9
- Blockaded monster/ship doesn't count as Stationary, impacts Creative Thought Network HOT 2
- Error during compilation for musl libc in Empire/Diplomacy.cpp HOT 3
- freeorion.org inaccessible HOT 7
- Ships get stuck on a backtracking route HOT 1
- Saves sorted oldest first
- Please make Build instructions for library dependencies more specific HOT 2
- Text color in Messages window is broken HOT 2
- Annexation don't work with low stability HOT 1
- Universe generator doesn't work with boost 1.85 and python 3.12 HOT 2
- Nest Eradicator doesn't eradicate nest if monster spawns
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freeorion.