Objetivo
Implementar el pathfinding de unidades en el grid hexagonal con costos de movimiento por terreno, zona de control y highlight de rango.
Alcance
NavigationRegion2D adaptado a grid hex con costos por tipo de terreno
- Puntos de movimiento por unidad (3-5 según tipo)
- Costos de entrada: llanura=1, bosque=2, colinas=2, montaña=inaccesible, río=+1
- Zona de control (ZOC): las unidades enemigas bloquean el paso entre hexágonos adyacentes
- Overlay de rango de movimiento (verde) y ataque (rojo) al seleccionar unidad
- Preview del camino (línea de hexágonos resaltados) al hacer hover sobre destino
Skill de referencia
/godot-navigation-pathfinding
Tareas
Aceptación
Al seleccionar una unidad, el rango de movimiento se muestra en verde; al mover el cursor, el camino se traza en tiempo real; mover a través de ZOC enemiga termina el movimiento.
🎁 Evidencia = reward mayor
- Si tu PR incluye capturas de pantalla mostrando esto andando end to end, entra a reward de GrantFox en esta issue.
- Si además sumás un video demo corto, califica para reward mayor.
- No es obligatorio, pero pesa mucho en la evaluación.
Qué conviene mostrar en esta issue:
- Captura de una unidad seleccionada con el overlay de rango de movimiento en verde y el de ataque en rojo sobre el grid hex.
- Video del PathPreview: el Line2D siguiendo el cursor y los hexágonos del camino resaltándose en tiempo real mientras cambiás el destino.
- Clip que muestre el corte por zona de control, donde la unidad entra en un hex adyacente a un enemigo y el movimiento termina ahí aunque le queden puntos.
Pegá las capturas directo en la descripción del PR, arrastrándolas al cuadro de texto de GitHub.
Objetivo
Implementar el pathfinding de unidades en el grid hexagonal con costos de movimiento por terreno, zona de control y highlight de rango.
Alcance
NavigationRegion2Dadaptado a grid hex con costos por tipo de terrenoSkill de referencia
/godot-navigation-pathfindingTareas
HexPathfinder.gd: implementar A* en coordenadas cúbicas hexagonalesMovementCostsdiccionario estático:{ TerrainType.FOREST: 2, ... }ZoneOfControl.gd: calcular celdas bloqueadas por unidades enemigas adyacentesRangeHighlight.gd: colorearFogLayer/ capa adicional con rango de mov/ataquePathPreview.gd:Line2Dque sigue el cursor mientras se arrastra una unidadUnitController.gd: al confirmar destino, iniciar movimiento (ver #godot-animations)Aceptación
Al seleccionar una unidad, el rango de movimiento se muestra en verde; al mover el cursor, el camino se traza en tiempo real; mover a través de ZOC enemiga termina el movimiento.
🎁 Evidencia = reward mayor
Qué conviene mostrar en esta issue:
Pegá las capturas directo en la descripción del PR, arrastrándolas al cuadro de texto de GitHub.