Ответ: PlayCanvas
Массив можно отсортировать, например, по направлению вдоль взгляда - и с помощью бинарного поиска выбрать только те препятствия, которые пересекаются вдоль неё с игроком - им понадобится проверка по остальным осям. (O(logN) vs O(N)). Ещё можно размер игрока (aabb), прибавить ко всем препятствиям и считать игрока точкой.
P.S. А можно ещё проще - запоминать количество пройденных элементов - и проверять прохождение мимо следующего.
__________________
О¯О ¡¡¡ʁɔvʎнdǝʚǝdǝu dиW
|