Skip to content

Godot: pathfinding de unidades en grid hex #41

Description

@leocagli

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

  • HexPathfinder.gd: implementar A* en coordenadas cúbicas hexagonales
  • MovementCosts diccionario estático: { TerrainType.FOREST: 2, ... }
  • ZoneOfControl.gd: calcular celdas bloqueadas por unidades enemigas adyacentes
  • RangeHighlight.gd: colorear FogLayer / capa adicional con rango de mov/ataque
  • PathPreview.gd: Line2D que sigue el cursor mientras se arrastra una unidad
  • Integrar con UnitController.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

  • 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSPart of the GrantFox OSS campaignMaybe RewardedMay be eligible for GrantFox rewardThird CampaignCampaign: Third CampaigngameplayMecanicas de juegogodotPort a Godot 4

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions