En este momento estoy usando el algoritmo de línea de Bresenham para la línea de visión. El problema es que he encontrado un caso de borde donde los jugadores pueden mirar a través de las paredes. Ocurre cuando el jugador mira entre dos esquinas de una pared con un espacio en el otro lado en ángulos específicos.
El resultado que quiero es que el mosaico entre dos paredes se marque como no válido.
¿Cuál es la forma más rápida de modificar el algoritmo de línea de Bresenham para resolver esto? Si no hay una buena solución, ¿hay un algoritmo más adecuado? Cualquier idea es bienvenida. Tenga en cuenta que la solución también debe ser compatible con 3d.
Editar: Mi solución simple fue verificar si ambas esquinas están cerradas cuando cambian las coordenadas x e y de una línea. Para ver el código fuente de trabajo y una demostración interactiva del producto completo, consulte http://ashblue.github.io/javascript-pathfinding/