Descriptive Problem Summary:
Calculating line of sight produces some turfs where a viewer can see someone but that someone can't see the viewer in situations it would be very obvious you should see each other or neither should see each other.
https://cdn.discordapp.com/attachments/929284255593422880/ 1257898290939433053/dreamseeker_5PO6iZY2ph.png
https://cdn.discordapp.com/attachments/929284255593422880/ 1257898291203670087/dreamseeker_0SoWEBe0Pr.png
the turfs are really nothing special, and the door doesn't block vision ever.
Numbered Steps to Reproduce Problem:
1. Have someone stand diagonally in this configuration
2. You can see them but they can't see you
Expected Results: They would be able to see each other
Actual Results: Only one can see the other
Does the problem occur:
Any time with this configuration of non-visible turfs
ID:2935335
Jul 2, 9:40 pm
|
|||||||||||||
Not a bug
| |||||||||||||
Jul 2, 9:45 pm
|
|
Lummox JR resolved issue (Not a bug)
|
This is just a natural consequence of the algorithm BYOND has always used for opacity. There's really no way to change it.
|
In response to Lummox JR
|
|
Lummox JR wrote:
This is just a natural consequence of the algorithm BYOND has always used for opacity. There's really no way to change it. Any more insight into this issue? Is vision calculated from the bottom left point of turfs? Center? |
In response to Baiomu
|
|
Neither. It's calculated on a turf-by-turf basis. The problem is there is no such thing as a perfectly symmetrical line-of-sight algorithm for tiles.
BYOND also has historically handled LOS calculations a different way than, say, many Roguelikes would, so angles are not preserved with as much clarity. Whether that actually makes the problem you're facing better or worse, I'm not sure, but the algorithm isn't buggy as such; it just has its own particular quirks and limitations. |