Glosario

89 términos técnicos usados en los tutoriales. Cada definición enlaza al tutorial donde se introduce el concepto.

A

A*

Pathfinding óptimo con sesgo direccional (1968): expande nodos por f = g + h, donde g es costo real desde el origen y h es heurística estimada al goal.

Ver tutorial: A*
AABB (Axis-Aligned Bounding Box)

Caja envolvente alineada con los ejes (no rota). Test de colisión barato: comparar mín/máx en cada eje. Fundamento de broad-phase de colisiones.

Ver tutorial: BVH y AABB
Aceleración

Cambio de velocidad por unidad de tiempo. En steering, las fuerzas se traducen en aceleración que modifica la velocidad cada frame.

Ver tutorial: Steering Behaviors
Admisible

Una heurística es admisible si nunca sobreestima el costo real al goal: h(n) ≤ costo_real(n, goal). Si lo es, A* garantiza camino óptimo.

Ver tutorial: A*
Agente

Entidad autónoma que percibe su entorno, decide y actúa. En juegos: NPCs, enemigos, vehículos IA, unidades RTS. Tiene posición, velocidad y reglas de movimiento o decisión propias.

Ver tutorial: Steering Behaviors
Alineación

Regla de flocking: cada agente ajusta su velocidad hacia el promedio de velocidades de sus vecinos. Hace que la bandada se mueva en bloque.

Ver tutorial: Flocking & Boids
Arrival

Variante de seek que reduce velocidad al acercarse al objetivo, evitando el "rebote". Decelera dentro de un radio de frenado.

Ver tutorial: Steering Behaviors
Autómata celular

Grid donde cada celda actualiza su estado siguiendo reglas locales (cuántos vecinos vivos tiene, etc.). Conway's Game of Life es el ejemplo canónico. En procgen genera cuevas y patrones orgánicos.

Ver tutorial: Autómatas celulares

B

Behavior Tree

Árbol jerárquico de nodos (compuestos, decoradores y hojas) que se "tiquean" cada frame. Cada nodo retorna Success, Failure o Running. Más declarativo y reutilizable que FSMs grandes.

Ver tutorial: Behavior Trees
BFS (Breadth-First Search)

Búsqueda en anchura: explora nodos por capas crecientes desde la fuente usando una cola FIFO. Garantiza camino más corto en grafos no ponderados.

Ver tutorial: BFS, DFS y Flood Fill
Blackboard

Memoria compartida (clave-valor) que distintos sistemas IA leen y escriben. Usado por BTs, GOAP y arquitecturas IA en general para evitar acoplamiento directo entre módulos.

Ver tutorial: Arquitectura de IA
Boid

Agente que sigue las tres reglas de flocking de Reynolds (separación, alineación, cohesión). Acuñado en 1986; produce comportamiento emergente de bandada sin lógica central.

Ver tutorial: Flocking & Boids
BSP (Binary Space Partitioning)

Subdivisión recursiva del espacio en dos mitades. Para mazmorras: divides el rectángulo, asignas habitaciones a las hojas y conectas con corredores. Garantiza estructura sin solapes.

Ver tutorial: BSP para mazmorras
Bucketing

Agrupar elementos en buckets (celdas, intervalos) para acelerar búsquedas espaciales o por rango. Sinónimo práctico de spatial hashing en grids regulares.

Ver tutorial: Grids y bucketing
BVH (Bounding Volume Hierarchy)

Árbol de volúmenes envolventes anidados, típicamente AABBs o esferas. Acelera tests de colisión y raycast: descartas subárboles enteros con un solo test.

Ver tutorial: BVH y AABB

C

Closed set

Conjunto de nodos ya expandidos en A*/Dijkstra. Evita revisitarlos cuando aparezcan de nuevo en la priority queue.

Ver tutorial: A*
Cohesión

Regla de flocking: cada agente se dirige al centroide de sus vecinos. Mantiene la bandada agrupada sin colapsarla (la separación lo evita).

Ver tutorial: Flocking & Boids
Command Pattern

Encapsula una operación como objeto con execute() y undo(). Habilita replays deterministas, networking lockstep, undo/redo y macros.

Ver tutorial: Command Pattern
Consideration

Variable de entrada en Utility AI (vida, distancia al enemigo, hambre…) que se mapea a [0,1] mediante una curva y se combina para calcular el score de una acción.

Ver tutorial: Utility AI

D

Decorator

Nodo de behavior tree con un solo hijo que modifica su resultado: invertir, repetir, condicionar, limitar tiempo, etc.

Ver tutorial: Behavior Trees
Delaunay

Triangulación dual del diagrama de Voronoi: conecta semillas vecinas formando triángulos sin que ningún punto caiga dentro del circuncírculo de otro triángulo. Base de NavMeshes y meshes generales.

Ver tutorial: Voronoi y Delaunay
Determinismo

Misma entrada → misma salida, siempre. Crítico para replays, lockstep networking y testing reproducible. Requiere PRNG seeded y orden fijo de operaciones.

Ver tutorial: Command Pattern
DFS (Depth-First Search)

Búsqueda en profundidad: avanza por una rama hasta el fondo antes de retroceder. Pila LIFO. No garantiza camino más corto pero es útil para detección de ciclos y backtracking.

Ver tutorial: BFS, DFS y Flood Fill
Dijkstra

Algoritmo de camino más corto en grafos con costos no negativos (1959). Mantiene una priority queue ordenada por g-cost; expande el nodo de menor costo acumulado.

Ver tutorial: Dijkstra
Distancia Chebyshev

max(|dx|, |dy|). Distancia exacta en grids 8-conexos donde la diagonal cuesta lo mismo que la ortogonal (movimiento de rey en ajedrez).

Ver tutorial: A*
Distancia Euclidiana

√(dx² + dy²). Distancia recta entre dos puntos. Heurística admisible para movimiento libre; subestima en grids 4-conexos.

Ver tutorial: A*
Distancia Manhattan

|dx| + |dy|. Distancia exacta en grids 4-conexos sin diagonales. Heurística admisible y muy informada para pathfinding ortogonal.

Ver tutorial: A*
Distancia Octile

max(dx, dy) + (√2 − 1)·min(dx, dy). Distancia exacta en grids 8-conexos donde la diagonal cuesta √2.

Ver tutorial: A*

E

Effect

En GOAP, cambio que una acción produce en el estado del mundo al ejecutarse. El planner los usa para encadenar acciones.

Ver tutorial: GOAP
Estado

En una FSM, situación actual del agente (Patrullando, Atacando, Huyendo). Define qué hace y qué transiciones puede tomar.

Ver tutorial: FSM y HFSM
Evade

Inverso de pursuit: huye de la posición predicha del perseguidor.

Ver tutorial: Steering Behaviors II
Event Bus

Canal pub/sub donde sistemas emiten eventos sin conocer a sus suscriptores. Desacopla producers y consumers a costa de trazabilidad.

Ver tutorial: Arquitectura de IA

F

f-cost

En A*, suma g + h. La priority queue se ordena por f-cost: combina "cuánto te costó llegar" con "cuánto se estima que falta".

Ver tutorial: A*
Flee

Inverso de seek: el agente se aleja del objetivo. Fuerza igual a (posición − objetivo) normalizado.

Ver tutorial: Steering Behaviors
Flood Fill

Algoritmo que rellena una región conectada de celdas equivalentes empezando desde una semilla. Variante de BFS/DFS sin objetivo: visita todo lo alcanzable.

Ver tutorial: BFS, DFS y Flood Fill
Flow Field

Mapa donde cada celda almacena la dirección al goal. Se calcula una vez (BFS/Dijkstra inverso desde el goal) y luego N agentes lo siguen en O(1) por consulta. Ideal para RTS con cientos de unidades.

Ver tutorial: Flow Fields
FOV (Field of View)

Cono de visión del agente: ángulo + distancia máxima. Solo dentro del FOV cuenta una posible LOS para "ver" un objetivo.

Ver tutorial: Percepción de NPCs
FSM (Finite State Machine)

Modelo de decisión con estados discretos y transiciones explícitas entre ellos. El agente está en exactamente un estado por vez. Simple, predecible, escala mal con muchos estados.

Ver tutorial: FSM y HFSM
Funnel Algorithm

Tras A* sobre NavMesh, suaviza el camino "estirando una cuerda" por los portales entre triángulos para producir el camino más corto real, no el path por centroides.

Ver tutorial: A* sobre NavMesh

G

g-cost

En A*/Dijkstra, costo real acumulado desde el origen hasta el nodo actual.

Ver tutorial: A*
GOAP (Goal-Oriented Action Planning)

Sistema de IA donde el agente tiene un goal y un conjunto de acciones con preconditions y effects. Un planner (A* sobre estados) genera la secuencia de acciones para alcanzar el goal.

Ver tutorial: GOAP
Grid

Estructura de celdas en filas y columnas. Para pathfinding puede ser 4-conexo (movimiento ortogonal) u 8-conexo (incluye diagonales).

Ver tutorial: BFS, DFS y Flood Fill

H

h-cost

En A*, valor de la heurística: estimación del costo desde el nodo actual hasta el goal.

Ver tutorial: A*
Heading

Dirección hacia la que un agente "mira" o avanza, normalmente la velocidad normalizada. Útil cuando velocidad es cero pero el agente aún tiene orientación.

Ver tutorial: Steering Behaviors
Heurística

Función h(n) que estima el costo desde el nodo n hasta el goal sin calcularlo realmente. En A*, una buena heurística reduce drásticamente la exploración.

Ver tutorial: A*
HFSM (Hierarchical FSM)

FSM donde los estados pueden contener sub-FSMs. Reduce la explosión combinatoria de transiciones agrupando estados relacionados.

Ver tutorial: FSM y HFSM
HPA* (Hierarchical Pathfinding A*)

A* en dos niveles: cluster grueso para encontrar la ruta general, A* fino solo dentro de los clusters atravesados. Escala a mapas enormes (10000×10000+).

Ver tutorial: Pathfinding avanzado

I

Influence Map

Grid donde cada celda almacena un valor escalar (amenaza, control, deseo). Sumando influencias de unidades amigas y enemigas se obtiene una vista táctica para decisiones IA.

Ver tutorial: Territorio en Civilization

J

JPS (Jump Point Search)

Optimización de A* sobre grids uniformes 8-conexos: salta nodos simétricamente equivalentes hasta encontrar puntos de decisión. Hasta 10× más rápido que A* puro.

Ver tutorial: Pathfinding avanzado

L

Lemmings

Juego clásico (1991) donde asignás roles a unidades autónomas que avanzan sin control directo. Caso de estudio en asignación de roles + path forced.

Ver tutorial: TD, Snake y Lemmings
Lockstep

Modelo de networking donde cada cliente simula la partida en paralelo enviando solo inputs. Requiere determinismo total. Usado en RTS clásicos (StarCraft, Age of Empires).

Ver tutorial: Command Pattern
LOD (Level of Detail)

Reducir fidelidad (modelo, IA, física) en función de la distancia o relevancia. En IA: NPCs lejanos tiquean menos veces o usan FSM simplificada.

Ver tutorial: LOD para IA
LOS (Line of Sight)

Línea recta sin obstrucción entre dos puntos. Se calcula con raycast contra geometría o con shadowcasting sobre grids tile-based.

Ver tutorial: Line of Sight

N

O

Object Pool

Reutilizar instancias en vez de crear/destruir. Crítico para balas, partículas, enemigos spawneados — evita pausas por GC.

Ver tutorial: Arquitectura de IA
Obstacle Avoidance

Comportamiento steering que evita colisiones con obstáculos estáticos o dinámicos detectados con raycast o sensores delanteros.

Ver tutorial: Steering Behaviors II
Octree

Versión 3D del quadtree: subdivide el espacio en ocho octantes. Usado en motores 3D para culling, colisiones y voxel games.

Ver tutorial: Quadtree y Octree
Open set

Conjunto de nodos ya descubiertos pero no expandidos en A*/Dijkstra. Suele almacenarse en una priority queue.

Ver tutorial: A*

P

Path Following

Steering que sigue una secuencia de waypoints. El agente seek al waypoint actual y avanza al siguiente al entrar en su radio.

Ver tutorial: Steering Behaviors IV
Pathfinding

Encontrar una ruta válida entre dos puntos en un grafo o grid. Cubre BFS, Dijkstra, A* y derivados. Diferente de steering: pathfinding planea, steering ejecuta.

Ver tutorial: BFS, DFS y Flood Fill
Planner

Componente de GOAP que busca, sobre el espacio de estados del mundo, una secuencia de acciones que lleve del estado actual al goal. Suele ser A* con estados como nodos.

Ver tutorial: GOAP
Precondition

En GOAP, condición del mundo que debe cumplirse para que una acción sea ejecutable.

Ver tutorial: GOAP
Priority Queue

Cola ordenada por prioridad: el siguiente elemento en salir es el de menor (o mayor) prioridad. Núcleo de Dijkstra y A*. Se implementa con min-heap o buckets.

Ver tutorial: Dijkstra
PRNG

Pseudo-Random Number Generator. Función determinista que dada una seed produce una secuencia "aleatoria" reproducible.

Ver tutorial: Ruido de Perlin
Pursuit

Seek hacia donde estará el objetivo en el futuro, no donde está ahora. Predice posición futura usando velocidad actual del objetivo.

Ver tutorial: Steering Behaviors II

Q

Quadtree

Árbol jerárquico que subdivide el espacio 2D en cuatro cuadrantes recursivamente. Bueno cuando los agentes están distribuidos de forma desigual; se adapta a la densidad local.

Ver tutorial: Quadtree y Octree

R

Raycast

Lanzar un rayo desde un origen en una dirección y reportar la primera colisión. Base de detección de visión, disparos hitscan, picking con cursor.

Ver tutorial: Line of Sight
Ruido de Perlin

Función de ruido suave (Ken Perlin, 1983) que da valores continuos pseudo-aleatorios. Base para generar terrenos, texturas, mapas de altura naturales.

Ver tutorial: Ruido de Perlin

S

Seek

Comportamiento steering que dirige al agente hacia un punto objetivo: aplica una fuerza igual a (objetivo − posición) normalizado, escalada a la velocidad máxima.

Ver tutorial: Steering Behaviors
Selector

Nodo compuesto de behavior tree que tiquea hijos en orden hasta que uno retorna Success. Equivale a un OR.

Ver tutorial: Behavior Trees
Semilla

Valor inicial del PRNG. Misma seed → misma generación. Crítica para reproducibilidad, mundos compartibles y debugging procgen.

Ver tutorial: Ruido de Perlin
Separación

Regla de flocking: cada agente se aleja de vecinos demasiado cercanos para evitar colisiones. Fuerza opuesta y proporcional a la inversa de la distancia.

Ver tutorial: Flocking & Boids
Sequence

Nodo compuesto de behavior tree que tiquea hijos en orden hasta que uno falla. Equivale a un AND.

Ver tutorial: Behavior Trees
Service Locator

Registro central donde se buscan servicios por interfaz. Más fácil que dependency injection, pero oculta dependencias y dificulta tests.

Ver tutorial: Arquitectura de IA
Shadowcasting

Algoritmo de FOV en grids tile-based (rogue-likes): proyecta la sombra de cada obstáculo en sectores y marca como visibles las celdas no sombreadas.

Ver tutorial: Line of Sight
Spatial Hashing

Indexar agentes por la celda del grid en la que caen (hash de posición → bucket). Reduce búsquedas de vecinos de O(n²) a O(n + k) donde k son agentes en celdas cercanas.

Ver tutorial: Grids y bucketing
Steering

Familia de comportamientos de movimiento autónomo (Reynolds, 1999) que producen fuerzas combinables: seek, flee, arrival, wander, etc. La suma ponderada genera trayectorias orgánicas sin pathfinding.

Ver tutorial: Steering Behaviors
Subsumption

Arquitectura IA por capas (Brooks, 1986): comportamientos prioritarios suprimen a los inferiores. Útil para reactividad robótica; en juegos, base de los layered AI controllers.

Ver tutorial: Arquitectura de IA

T

Theta*

Variante de A* que añade comprobaciones de línea de visión entre nodos no adyacentes. Produce caminos suavizados, sin esquinas duras del grid.

Ver tutorial: Pathfinding avanzado
Tick

Evaluación periódica del árbol de comportamiento desde la raíz. Usualmente cada frame o cada N ms. Devuelve Success, Failure o Running.

Ver tutorial: Behavior Trees
Tower Defense

Género donde enemigos siguen un path predefinido y el jugador coloca torres para detenerlos. Pathfinding precomputado + flow fields o waypoints rígidos.

Ver tutorial: TD, Snake y Lemmings
Transición

Regla que mueve a un agente de un estado a otro cuando se cumple una condición (vio al jugador, vida < 20%, llegó al destino).

Ver tutorial: FSM y HFSM

U

Utility AI

Modelo de decisión donde cada acción tiene una función score basada en el estado del mundo. El agente elige la acción de mayor score (o muestrea entre las top-N).

Ver tutorial: Utility AI

V

Vector

Tupla de números con dirección y magnitud. En juegos 2D suele ser Vec2 (x, y); en 3D Vec3. Se usan para posición, velocidad, fuerzas y direcciones.

Ver tutorial: Steering Behaviors
Velocidad

Vector que indica cuánto y en qué dirección se mueve un agente por unidad de tiempo. Distinta de "rapidez", que es solo la magnitud.

Ver tutorial: Steering Behaviors
Voronoi

Partición del espacio en celdas: cada celda contiene los puntos más cercanos a una semilla dada. Útil para territorios, biomas, distribuciones de recursos.

Ver tutorial: Voronoi y Delaunay

W

Wander

Movimiento errático "natural": el agente apunta a un objetivo en un círculo proyectado al frente, y desplaza ese objetivo aleatoriamente cada frame.

Ver tutorial: Steering Behaviors III
Weighted A*

Variante de A* que multiplica la heurística por w > 1 (típicamente 1.2–2). Pierde garantía de optimalidad pero corre mucho más rápido. Camino a lo sumo w veces el óptimo.

Ver tutorial: A*
WFC (Wave Function Collapse)

Algoritmo de procgen que genera contenido (mapas, sprites) a partir de una muestra de ejemplo, propagando restricciones de adyacencia hasta colapsar cada celda en un único tile.

Ver tutorial: Wave Function Collapse