¡Hola! Bienvenido a Beat Bouncers, mi proyecto oficial para esta Hackathon.
Siempre he pensado que la música en los videojuegos es un acompañamiento increíble, pero...
¿qué pasaría si la música FUERA el campo de batalla?
Con esa premisa en mente, desarrollé este brawler de plataformas 2D estilo "Smash Bros", donde el escenario entero reacciona, se deforma y colapsa al ritmo de las frecuencias de la canción que estés escuchando.
Diseñé el juego para que sea frenético, competitivo y completamente offline.
Utilizando la Web Audio API, el motor del juego analiza las frecuencias en tiempo real:
- Frecuencias bajas → el escenario se aplana
- Clímax / drops → el terreno se vuelve caótico y peligroso
- Golpea con Dashes (embestidas) para aumentar el daño
- A mayor porcentaje, más lejos saldrá volando el rival
- Al llegar al 200% → Overkill (explosión)
- La arena se reduce conforme avanza la canción
- Al 90%:
- Se activa Muerte Súbita
- Cambia la música a alta tensión
- Desaparece el suelo
- Los jugadores obtienen vuelo infinito
- Gana el último en caer
Bot con 3 niveles:
- Fácil
- Normal
- Difícil (predice caídas, busca curación y esquiva bombas)
- Power-ups: curas, alas, bombas
- Durante el clímax:
- Aparecen Orbes de Disonancia rebotando por el mapa
- Screen Shake dinámico al impactar
- Soporte nativo para Gamepads (PlayStation/Xbox)
Como ingeniero, el mayor reto fue mantener 60 FPS estables en navegador.
- React 18 + Tailwind v4
- Renderiza:
- Menús
- HUD
- Sala de espera
- Maneja:
- Idiomas
- LocalStorage
- Vanilla JS + HTML5 Canvas
- Corre en su propio
requestAnimationFrame - React solo pasa referencias y no interfiere
💡 Resultado: rendimiento óptimo y base lista para portar a Tauri (desktop)
El proyecto es Offline-first.
# Clonar repositorio
git clone <repo>
# Instalar dependencias
npm install
# Ejecutar entorno de desarrollo
npm run devAbrir en:
http://localhost:5173
-
Puedes subir:
- Archivos MP3/WAV
- Usar el micrófono en vivo (sí, gritar funciona 😄)
-
Incluye pistas oficiales creadas por:
| Acción | Jugador 1 | Jugador 2 |
|---|---|---|
| Moverse | A / D | ← / → |
| Saltar / Volar | W | ↑ |
| Dash | F | Shift |
- Movimiento → Joystick
- Saltar → A / Cruz
- Dash → X / Cuadrado
- Español 🇪🇸
- Inglés 🇬🇧
- Implementación sin librerías externas
Configuraciones guardadas en localStorage:
-
Volumen
-
Temas visuales:
- Neón
- Matrix
- Luna de Sangre
-
Vidas
-
Partículas
- Salir por un lado → apareces en el opuesto
- Caer → reapareces desde arriba (estilo Pac-Man)
Desarrollar:
- Física personalizada
- Análisis de ondas de audio
- Máquina de estados del motor
...ha sido exigente pero increíblemente gratificante.
Desarrollado con:
- Pasión
- Música
- Código puro
🔥 Gracias por probar Beat Bouncers