View Issue Details

IDProjectCategoryLast Update
0012662Bionic DuesBug - GameplaySep 26, 2013 6:46 pm
Reporterwindgen Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product Version0.919 
Fixed in Version0.923 
Summary0012662: Bot becomes alerted when moving outside vision range
DescriptionIn the attached screenshot, moving south a square has caused the Blunderbot to become alerted, even though it's no longer in vision range!

I think this might be due to the line-of-sight calculations not being totally symmetric. That is, sometimes the game calculates a blocked line of sight from A to B, but a clear line of sight from B to A. (B is the BlunderBot in this example.)

The "proper" way to fix it would be to make sure the line of sight algorithm is symmetric.

The dirty shortcut hack would be to break the symmetry by forcing all LoS calculations to come from the player. That is, when the game is checking whether a bot can see the player, to fire or become alerted, the line-of-sight code simply computes whether the player can see the bot! (Of course you still have to take into account that the bot has a different sight range than the player.)

I'm marking this as "Major" because I assume that line-of-sight for alerting uses the same calculation as line-of-sight for firing. That is, I'm guessing that if the BlunderBot is replaced by a bot with a long-range weapon, it will be able to fire on the player from the fog-covered square!
TagsNo tags attached.
Internal WeightFor New Player Experience

Activities

windgen

Sep 23, 2013 5:15 am

reporter  

bug12662.save (98,786 bytes)

windgen

Sep 23, 2013 5:15 am

reporter  

bug12662.jpg (248,344 bytes)   
bug12662.jpg (248,344 bytes)   

keith.lamothe

Sep 26, 2013 1:45 pm

administrator   ~0034086

FYI, we already use the "cheating" solution of having all LOS come from the player, though it's possible there are some exceptions to that in the alert code.

keith.lamothe

Sep 26, 2013 6:46 pm

administrator   ~0034095

For 0.923:

* Fixed a bug where not all line-of-sight checks were symmetric (that is, if point X can see point Y, then Y always and in every condition can see X; this is interestingly enough NOT a given with simple raytracing) So sometimes an enemy would alert despite just barely not being able to see you (because they could, actually, but you just barely could not see them).

Thanks :)

Issue History

Date Modified Username Field Change
Sep 23, 2013 5:13 am windgen New Issue
Sep 23, 2013 5:15 am windgen File Added: bug12662.save
Sep 23, 2013 5:15 am windgen File Added: bug12662.jpg
Sep 23, 2013 5:16 am windgen Description Updated
Sep 23, 2013 4:35 pm tigersfan Internal Weight => For New Player Experience
Sep 23, 2013 4:35 pm tigersfan Assigned To => Chris_McElligottPark
Sep 23, 2013 4:35 pm tigersfan Status new => assigned
Sep 26, 2013 1:45 pm keith.lamothe Note Added: 0034086
Sep 26, 2013 6:46 pm keith.lamothe Note Added: 0034095
Sep 26, 2013 6:46 pm keith.lamothe Status assigned => resolved
Sep 26, 2013 6:46 pm keith.lamothe Fixed in Version => 0.923
Sep 26, 2013 6:46 pm keith.lamothe Resolution open => fixed