Fundamentos de Física, Matemáticas y Lógica para Videojuegos (Lo que nadie te dice)
¿Odias las matemáticas? Entonces no puedes ser programador de juegos. Explicamos para qué sirven los Vectores, el Producto Punto y las Máquinas de Estados en el código real.

Carlos Lara
Senior Audio Engineer & Founder
Publicado
2025-12-26
Lectura
10 min

Carlos Lara
Senior Audio Engineer & Founder
Publicado
2025-12-26
Lectura
10 min
1. Vectores: La Unidad Fundamental
Todo en el espacio 3D se define con vectores. Posición `(x,y,z)`, Velocidad `(vx,vy,vz)` y Aceleración. La operación más común es la Resta de Vectores para obtener un vector dirección:
// Código para que un enemigo mire al jugador
Vector3 targetDir = Player.Position - Enemy.Position;
float distance = targetDir.Magnitude(); // Pitágoras: sqrt(x*x + y*y + z*z)
// Importante: Normalizar para tener solo dirección
Vector3 direction = targetDir / distance;
// Ahora podemos mover al enemigo
Enemy.Position += direction * Speed * DeltaTime;2. Producto Punto (Dot Product): El Ojo Matemático
¿Cómo sabe un NPC si te está viendo? No tiene ojos. Usa matemáticas. El Producto Punto entre el vector 'Hacia donde miro' (Forward) y el vector 'Hacia el jugador' nos da un número escalar.
| Resultado Dot Product | Interpretación Geométrica | Uso en Gameplay |
|---|---|---|
| 1.0 | Vectores idénticos | Jugador está justo enfrente. |
| 0.0 | Perpendiculares (90°) | Jugador está al lado. |
| -1.0 | Opuestos (180°) | Jugador está justo detrás. |
| > 0.5 | Dentro de 60° (aprox) | Rango de visión (Cono de visión). |
3. Producto Cruz (Cross Product)
El Cross Product toma dos vectores y te devuelve un tercero *perpendicular* a ambos. Esto es magia negra vital para:
- ◆Calcular Normales: Para que la luz sepa cómo rebotar en una superficie triangular.
- ◆Movimiento Lateral: Si tienes el vector 'Adelante' y el vector 'Arriba', su producto cruz te da 'Derecha'. Así es como funciona el strafing en los FPS.
Integración Física: Euler vs Verlet
Cuando simulas física, estás integrando (sumando) pequeños pasos de tiempo. El método simple (Euler) es impreciso y acumula error. Los ingenieros de verdad usan Verlet Integration o Runge-Kutta 4 para simulaciones estables como telas (ropa) o vehículos.
Reto de Ingeniería
¿Podrías programar el rebote de una granada contra una pared inclinada? Necesitas calcular el Vector de Reflexión usando el Producto Punto y la Normal de la pared: R = V - 2(V·N)N. Si no entendiste la fórmula, necesitas estudiar en Cardan.
Conclusión
No necesitas ser un genio matemático para hacer juegos, pero necesitas perderle el miedo a las fórmulas. En Cardan, no memorizamos ecuaciones; visualizamos su efecto en el mundo virtual. Las matemáticas son el pincel del programador.
FAQ
Q.¿Qué es un Vector Normalizado?
Un vector de longitud 1. Es crucial porque representa una DIRECCIÓN pura sin magnitud. Si no normalizas tus vectores de movimiento, tu personaje se moverá más rápido en diagonal (raíz cuadrada de 2) que en línea recta.
Q.¿Para qué sirve el Producto Punto?
Es un 'detector de similitud'. Nos dice qué tan alineados están dos vectores. Si el resultado es 1, miran al mismo lado. Si es 0, son perpendiculares. Si es -1, son opuestos. Se usa para calcular visión de IA y sombreado (iluminación).
Q.¿Qué es un Quatérnion?
Es un sistema numérico complejo (4 dimensiones) usado para representar rotaciones. Usamos cuaterniones en lugar de Ángulos de Euler (X, Y, Z) para evitar el temido 'Gimbal Lock' donde dos ejes de rotación se superponen.
