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