
Iku Pathfinding
El presente proyecto tuvo como objetivo implementar un sistema de navegación inteligente (Pathfinding) utilizando las herramientas provistas por Godot 4.7, replicando los requisitos planteados originalmente para Unity. Se desarrolló un escenario tipo laberinto en vista superior (Top-Down) donde distintos tipos de enemigos deben desplazarse desde un punto inicial hasta un objetivo final utilizando rutas calculadas mediante navegación basada en NavMesh.
Para la resolución del problema se implementaron distintos tipos de terrenos con restricciones y costos de navegación particulares para cada agente. Asimismo, se desarrolló un sistema dinámico de generación de obstáculos que obliga a los enemigos a recalcular sus rutas en tiempo real.
La solución emplea principalmente los nodos NavigationRegion2D, NavigationAgent2D, NavigationLink2D y NavigationObstacle2D, permitiendo construir un entorno de navegación adaptable y eficiente.

¿Cómo funciona la IA y el Pathfinding en el proyecto?
- El Entorno y el Mapa de Navegación (
NavigationRegion2D):- Todo el laberinto está cubierto por una región de navegación. La IA utiliza un NavMesh (malla de navegación) generado sobre el escenario para entender por dónde puede caminar libremente y qué zonas son paredes o límites infranqueables.
- Toma de Decisiones y Desplazamiento del Agente (
NavigationAgent2D):- Cada enemigo o entidad que se desplaza actúa como un NavigationAgent2D. Este nodo es el "cerebro" de la IA: calcula de forma automática y eficiente la ruta óptima (la más corta y directa) desde su punto de inicio hasta el objetivo final utilizando algoritmos de búsqueda de caminos.
- Terrenos Personalizados, Costos y Restricciones:
- El mapa cuenta con diferentes tipos de casillas o terrenos especiales que modifican el comportamiento de la IA:
- Costos de navegación: Algunos terrenos pueden hacer que la ruta sea más "cara" o lenta para ciertos agentes, obligando a la IA a evaluar si prefiere rodearlos o atravesarlos según su tipo.
- Restricciones por agente: Existen zonas bloqueadas o específicas para determinados tipos de enemigos, lo que demuestra que la IA evalúa restricciones individuales antes de trazar su camino.
- El mapa cuenta con diferentes tipos de casillas o terrenos especiales que modifican el comportamiento de la IA:
- Adaptabilidad y Recálculo en Tiempo Real (
NavigationObstacle2D):- El sistema incluye una mecánica de generación dinámica de obstáculos (como se ve en los botones de "Crear Obstáculo" o "Random" de la interfaz).
- Cuando un obstáculo bloquea repentinamente un pasillo, el nodo
NavigationObstacle2Dentra en acción: avisa a los agentes cercanos que la ruta ha cambiado, lo que fuerza a la IA a recalcular su ruta en tiempo real para rodear el obstáculo y encontrar un camino alternativo sin quedarse atascada.
- Atajos y Conexiones (
NavigationLink2D):- Para mapas complejos, se pueden emplear enlaces de navegación que permiten a la IA simular saltos,teletransportaciones o atajos especiales entre puntos desconectados del laberinto, haciendo que la navegación sea mucho más dinámica.
| Published | 3 days ago |
| Status | Released |
| Platforms | HTML5 |
| Author | IKURO SOFT |
| Genre | Educational |
| Made with | Godot |

Leave a comment
Log in with itch.io to leave a comment.