Un matamarcianos no se hace difícil añadiendo enemigos. Se hace
difícil sabiendo exactamente cuánto fuego cabe en la pantalla y cuánto tiempo tienes para salir de él.
La dificultad es una tabla, no código. Diez filas y cinco columnas: velocidad de bala, ráfaga, vida del enemigo, densidad de oleada y pausa entre oleadas. Ajustar una fase es cambiar un número — y hay pruebas automáticas que comprueban que la curva nunca va hacia atrás.
El juego se puede probar sin abrirlo. Las reglas viven en un paquete Swift aparte que no sabe dibujar: no depende de SpriteKit ni de la pantalla. Por eso el equilibrio de las diez fases se verificó en un terminal, con la curva entera impresa, antes de tocar el teléfono.
La lección más cara. Arrancar en la fase siete daba el disparo de la fase uno: un proyectil cada 0,17 segundos contra una fase calibrada para cuatro cada 0,11. No era «más difícil», era siete veces menos fuego. Ahora el arma arranca en el escalón que esa fase espera.
La segunda más cara. El ritmo de asteroides se apretaba según lo bien que ibas — lo cual tiene sentido para todo lo que se puede disparar, y ninguno para lo que no. Jugar bien te llenaba la pantalla de planchas indestructibles. Ahora los obstáculos dependen solo de la fase.
La vibración se cuelga donde el juego ya avisa. La escena ya sacude la pantalla en cada explosión, cada impacto y cada alarma; los hápticos se enganchan ahí, y la fuerza de la sacudida elige sola qué golpe toca. Si mañana se borra ese fichero, el juego vuelve a ser exactamente el que era.
Los fondos y la música salen de un script. Los diez escenarios los pinta un generador que ilumina sólidos facetados y cierra el bucle vertical sin costura. El audio, igual: la guitarra distorsionada es una onda saturada por software, y está ecualizada para el altavoz de un móvil — no para unos cascos, que fue justo el error de la primera mezcla.
Fases10, cada una con jefe
Vidas3 · las fases se desbloquean
TecnologíaSpriteKit + SwiftUI · 60 fps
AudioGenerado con código
Datos recogidosNinguno
PrecioGratis