El juego que Nuria Cifuentes Aguado presentó en el curso de especialización, en Valencia, saca una oleada de enemigos cada 120 fotogramas. En el ordenador del aula la oleada llega cada 2 segundos. En el monitor de 144 hercios que tiene en casa llega cada 0,83, y el juego es injugable sin que ninguna línea haya cambiado.
No es un fallo del monitor. Es que 120 fotogramas no son una duración: son una duración distinta en cada pantalla, y el juego estaba midiendo el tiempo con la unidad equivocada.
Contar fotogramas en vez de segundos ata el juego a la pantalla, y es el primer error de todo el mundo porque en una sola máquina no se ve nunca.
Un bucle que corre haya pasado algo o no
Un programa normal espera: no hace nada hasta que alguien pulsa, pide o envía. Un juego no espera. El bucle es entrada, actualizar, dibujar, y se ejecuta haya pasado algo o no, sesenta veces por segundo, con el jugador quieto y con la ventana en blanco.
De ahí sale la única cifra que gobierna este tema. A 60 fotogramas por segundo, el presupuesto de un fotograma son 16,7 milisegundos, y dentro de ese presupuesto caben las cinco etapas juntas. No es que cada una tenga 16,7: es que las cinco los comparten, y una que se pase deja tarde a las demás. En el monitor de casa de Nuria el presupuesto baja a 6,9 milisegundos, que es la otra mitad del problema de la oleada.
Esa forma de pensar, en presupuesto por vuelta en lugar de en tiempo total, es lo que separa el código de un juego del resto, y es el contenido de la programación de juegos.
Delta time, y la línea que arregla la oleada
La solución no es limitar el juego a 60 fotogramas. Es dejar de contar vueltas y empezar a contar tiempo: delta time, multiplica cada movimiento por los segundos desde el último fotograma.
El contador de la oleada de Nuria pasó de restar uno en cada vuelta a restar el delta, y el umbral pasó de 120 a 2,0. Con eso la oleada llega cada 2 segundos en el aula, en casa y en el portátil de quien lo pruebe, y el número que hay en el código dice por fin lo que significa, que son segundos.
La regla se extiende a todo lo que cambia con el tiempo: la velocidad del personaje se escribe en píxeles por segundo y no en píxeles por fotograma, la recarga del arma en segundos, la animación en segundos. Un valor que no lleve el delta multiplicado es un valor que va a comportarse distinto en cada aparato, y el aparato de quien juega nunca es el de quien programa.
Paso fijo para la física, paso variable para el dibujo
La excepción a lo anterior es la física, y no es un detalle. Si el delta se mete tal cual en el cálculo de colisiones, un fotograma que tarde el doble mueve al personaje el doble de golpe, y un objeto rápido puede aparecer al otro lado de una pared sin haber estado nunca dentro de ella.
Por eso los motores separan las dos cosas: paso fijo para la física y paso variable para el dibujo. La física avanza siempre en trozos iguales, por ejemplo de una sesentava parte de segundo, y se ejecuta las veces que hagan falta para alcanzar el reloj; el dibujo sale cuando puede, interpolando entre dos pasos.
Reconocer esa separación explica de golpe por qué un motor tiene dos funciones donde parecía que bastaba una, y por qué mover un personaje desde la equivocada produce un temblor que no se quita tocando la velocidad.
El presupuesto lo fija el motor, y el arte se hace con esa cuenta
Los 16,7 milisegundos no son solo un asunto de código. Un personaje de 64.000 triángulos y otro de 6.400 se ven casi igual en una captura y no cuestan lo mismo sesenta veces por segundo, y esa cuenta se hace antes de modelar nada, no después.
Lo mismo pasa con las texturas, con el número de fuentes de luz y con cuántos objetos distintos hay en pantalla a la vez. La restricción llega del motor y del aparato más flojo al que se apunte, y de ahí baja al arte como un número. Un proyecto que decide eso al final rehace el arte entero, y por eso el arte para videojuegos empieza por el presupuesto y no por el estilo.
Un juego
Cuatro piezas, y un juego al que le falte una es un prototipo
No son fases y no son departamentos. Quitar una no deja un juego más pequeño, deja uno sin terminar.
- 01Los sistemasLas reglas, el bucle, y el código que tiene 16,7 milisegundos para ejecutarlas
- 02La razón para seguirQué está decidiendo quien juega, y por qué merece la pena el minuto siguiente
- 03Los recursos, con presupuesto6.400 triángulos en vez de 64.000, decidido por aritmética antes que por gusto
- 04El último diez por cientoMenús, guardado, opciones y la compilación de la tienda, que es medio calendario
Las piezas no son iguales en horas. La cuarta se lleva tanto tiempo como las otras tres juntas y es la que falta en casi todos los proyectos abandonados.
Dónde se para quien entrega una demo
El ciclo, el curso de especialización y los grados de videojuegos se aprueban con una entrega, y una entrega se juega cinco minutos. Se puntúa lo que se ve en esos cinco minutos: un personaje que se mueve bien, una mecánica y un nivel.
Lo que nunca hay en esos cinco minutos es el menú, el guardado, las opciones de sonido, el mando además del teclado, las dos resoluciones, el aviso de epilepsia, la ficha de la tienda y la compilación firmada. Eso es la mitad del calendario de un juego de verdad, y no puntúa en ninguna entrega. Sale gente con seis prototipos buenos y ningún juego terminado, y la conclusión que llega sola es que le falta talento, cuando lo que le falta es haber hecho una vez el último diez por ciento.
La señal de haber salido de ahí es pequeña: el siguiente proyecto se empieza por el menú y por el guardado, con la mecánica todavía sin gracia, en vez de al revés. Cómo se hace ese tramo está en la publicación de un juego.
Qué abrir en 2026
Godot es la puerta razonable desde aquí. Es gratis y de código abierto, no pide nada sobre los ingresos del juego pase lo que pase, y sustituyó a escribirse un motor, que es lo que significaba un proyecto de juego antes de 2010. Para un estudio pequeño español, y casi todos lo son, esa ausencia de condición vale más que cualquier comparación de funciones.
Unity sigue siendo la opción más ancha por número de ofertas de empleo, y es gratis por debajo de un umbral de ingresos. Unreal es el sitio del trabajo tridimensional de gama alta, es gratis y cobra un porcentaje por encima de otro umbral. Los tres sustituyeron a lo mismo y ninguno de los tres pide comprar nada para aprender.
El fallo típico con los tres es elegir motor antes de tener un juego que quepa en una tarde. Cuál conviene para qué, y qué se llevan y qué no se llevan entre ellos, está en los motores de juego.
Cuatro piezas, y por dónde entrar
Un juego no es código con dibujos encima. Son cuatro piezas que solo tienen sentido juntas, y quitar una no deja un juego más pequeño, deja uno sin terminar: los sistemas, la razón para seguir jugando, los recursos hechos con el presupuesto puesto, y el último tramo.
La segunda pieza es la que menos se practica y la que decide si alguien juega el minuto siguiente. Qué decide el jugador, qué información tiene cuando decide y qué pasa si se equivoca es un oficio con sus propias herramientas, y está en el diseño de juego.
Por dónde entrar depende de qué falte. Con el bucle y el delta ya entendidos, lo que más rápido enseña es terminar algo diminuto de principio a fin, menú incluido. Lo que este tema comparte con el resto del pilar, el coste por vuelta y la elección de la estructura, es lo mismo que se estudia en los fundamentos de programación.
La pregunta que deja abierta el monitor de 144 hercios de Nuria es dónde va a jugar la gente. Si la respuesta es un aparato que alguien lleva en el bolsillo, el presupuesto de 16,7 milisegundos se comparte además con la batería y con una tienda que revisa, y eso es el desarrollo móvil; si es un ordenador, el lenguaje en el que se escriba sale de los lenguajes de programación.