Portfolio
Juego · FPS 3D
Overrun
Un shooter de oleadas que corre en una pestaña
La demo es una recreación del sistema, con datos inventados: el original es del cliente y no se publica. No hay que registrarse.

El contexto
Un juego es la única cosa de este portfolio que no se puede explicar con una captura: o responde al mouse sin retraso o no existe. Overrun está para mostrar que lo que corre en el navegador ya no es una limitación —hay un bucle a sesenta cuadros, colisiones, enemigos que buscan al jugador y un final— y que se puede llegar ahí sin descargar nada: ni un modelo 3D, ni una textura, ni un archivo de audio.
Qué hace el sistema
- Motor propio sobre three.js: bucle a 60 cuadros, colisiones contra el mapa resueltas eje por eje, rampas y plataformas, y disparo por rayo con impacto en el mismo cuadro
- Tres armas que ganan en lugares distintos —la pistola nunca se queda sin balas, el subfusil es para la manada, la escopeta mata de un tiro a un metro y no hace nada a diez—, con su modelo en la mano, balanceo al caminar, patada al disparar y animación de recarga
- Los enemigos sueltan botín: munición, botiquines y módulos que suben de nivel el arma que se está usando. Cuatro niveles por arma, y cada uno cambia la forma del modelo —freno de boca, cargador largo, mira— para que la mejora se vea y no sea sólo un número
- Tres enemigos que piden tres cosas: moverse, administrar munición y usar la cobertura
- Nueve oleadas escritas a mano y después una fórmula: la dificultad sube por composición y no multiplicando la vida, que es lo que se siente injusto
- Una mejora elegida entre tres al azar después de cada oleada, con tope por mejora, para que dos partidas no sean la misma
- Todo el sonido está sintetizado con osciladores y ruido blanco: cero archivos de audio, y arranca en silencio
- El estado del juego no vive en React: el HUD se escribe directo en el DOM, porque un render por cuadro arrastra el juego


