Parte 3 — Física y matemáticas de juegos aplicadas
⬅️ Volver al programa · 📚 Índice completo · ⏮️ Parte anterior · ⏭️ Parte siguiente
18 clases · rango 068–085 · Las matemáticas y la física que hacen creíble un juego: cuaterniones, colisiones, respuesta a impulsos, joints, ragdolls, vehículos, proyectiles, curvas, easing y steering
Fuentes de referencia de esta parte:
- Ian Millington, Game Physics Engine Development (2ª ed., CRC Press).
- Christer Ericson, Real-Time Collision Detection (Morgan Kaufmann).
- Eric Lengyel, Mathematics for 3D Game Programming and Computer Graphics.
- Glenn Fiedler, Gaffer On Games (serie de artículos sobre física y networking).
🎯 ¿De qué trata esta parte?
Los motores traen física integrada, pero para hacer un juego que se sienta bien —proyectiles que aciertan, coches que se controlan, personajes que reaccionan a los golpes— hay que entender qué ocurre por debajo. Esta parte toma las matemáticas de la Parte 0 y las aplica a problemas reales de física de juegos: cómo se representan y componen las rotaciones en 3D con cuaterniones (y por qué evitan el gimbal lock), cómo se detectan y resuelven colisiones (AABB, esferas, SAT, impulsos y restitución), y cómo la fricción, el arrastre y la amortiguación dan peso al movimiento.
Después construimos sistemas concretos: joints y restricciones, ragdolls, física de vehículos, proyectiles con balística y predicción, movimiento a lo largo de curvas (Bézier, splines), interpolación y easing para transiciones suaves, y steering behaviors (seek, flee, arrive, wander) que son la base del movimiento de agentes. Cerramos con determinismo y física de paso fijo (clave para multijugador y replays) y un capstone de física jugable.
🧩 Problemas que resuelve
- Rotaciones 3D que "saltan" o se bloquean (gimbal lock) por usar ángulos de Euler mal.
- Colisiones que atraviesan objetos rápidos (tunneling) o rebotan de forma poco natural.
- Movimiento sin peso: todo acelera y frena de golpe, sin inercia ni amortiguación.
- Vehículos incontrolables, ragdolls que explotan, proyectiles que no aciertan a blancos móviles.
- Transiciones bruscas por no usar interpolación ni curvas de easing.
- Física que "corre distinto" en cada PC o partida por no ser determinista.
🎓 Resultados de aprendizaje
Al terminar la parte, el alumno podrá:
- Usar cuaterniones para rotaciones 3D estables y componerlas correctamente.
- Implementar detección y respuesta de colisiones con impulsos y restitución.
- Modelar fricción, arrastre y amortiguación para dar peso al movimiento.
- Construir joints, ragdolls, vehículos y sistemas de proyectiles.
- Mover objetos a lo largo de curvas y aplicar interpolación y easing.
- Programar steering behaviors reutilizables para agentes.
- Diseñar una simulación determinista de paso fijo apta para multijugador/replays.
🧱 Prerrequisitos
- Partes 0, 1 y 2 (vectores, matrices, integración numérica, física 2D/3D del motor).
- Soltura con vectores y transformaciones; ganas de razonar con matemáticas aplicadas.
- Godot 4.x (los laboratorios usan su motor de física 2D/3D y GDScript).
📚 Las 18 clases
Con la física dominada, la Parte 4 entra en lo visual: el pipeline de render, shaders y post-procesado modernos.