I know how I would like to do symmetric LOS, but I fear it is too big an undertaking ever to go after directly. I think it will be necessary to have at least one, and probably several, intermediate steps. I would like to suggest a first step with some obvious problems.
The basic idea is to keep the current system of sending a bolt from the player to the monster, and use that to define LOS, and then define the path from the monster to the player to be the same, just in reverse order.
All LOS is square to square, so if you can see a wall you can target a monster in it.
Above, @ and M see each other, and fire bolts through the gap.
Below, @ and M do *not* see each other. This proposal is not fully symmetric.
This also means
the @ cannot see the G above, and cannot see the wall it is in either.
Below, the @ can see and target the G, and the G can target the @ too.
This is a suggested interim approach, hopefully to be further improved at some future point in some possibly alternate universe, but reality is that sometimes "interim" fixes last effectively forever despite one's best intentions.
I don't think it would be helpful to suggest modifications. We had that thread already. I chose this due to hoped-for ease of implementation, which is the key to intermediate steps. Please at least give thumbs up or thumbs down *before* digressing.
Would this be playable? Would it be an improvement?
The basic idea is to keep the current system of sending a bolt from the player to the monster, and use that to define LOS, and then define the path from the monster to the player to be the same, just in reverse order.
All LOS is square to square, so if you can see a wall you can target a monster in it.
Code:
##### M ## ## ##@##
Below, @ and M do *not* see each other. This proposal is not fully symmetric.
Code:
##### @ ## ## ##M##
Code:
##### # G # # # # # @# #####
Below, the @ can see and target the G, and the G can target the @ too.
Code:
##### # G # # # @# # # #####
I don't think it would be helpful to suggest modifications. We had that thread already. I chose this due to hoped-for ease of implementation, which is the key to intermediate steps. Please at least give thumbs up or thumbs down *before* digressing.
Would this be playable? Would it be an improvement?
Comment