Estoy haciendo un juego parecido a la saga Hero (Guitar hero, dj hero...) el cual estoy diseñando monedas que caen y abajo hay un recogedor que tendre que mover para recoger esas monedas, pero quiero hacer algo guapo y es que las monedas caigan al ritmo de los golpes de una cancion. Hasta ahora he estado trabajando con steps y controlando el tiempo, con lo cual a un cierto tiempo puedo incrementar el numero de monedas que caen o disminuir pero me preguntaba si existe algun codigo que esto se pueda llevar a cabo de forma automatica mediante los golpes de una cancion?
mmmm sabiendo los bpm de cada cancion podrias calcular a cuantos steps equivale cada golpe o incluso adaptar los bpm a los steps bajandolos o subiendolos con cualquier programa de audio.
Game Maker no brinda esa capacidad de detectar los bpm. De antemano se puede saber el bpm de la canción, pero es difícil saber en qué momento inicia el golpe ya que las canciones varían mucho el comienzo, es decir, no siempre una canción inicia exactamente con un golpe.
Lo más parecido sería usar algo como esto
http://gmc.yoyogames.com/index.php?showtopic=353936 (http://gmc.yoyogames.com/index.php?showtopic=353936)
- Playback from any position in the song
- Control global volume, instrument volume, channel volume, amplification and panning separation
- Retrieve playback status, time, length, rows, instruments samples
- Detect what instruments and notes are played realtime
Pero sólo funciona para archivos mod, un formato muy viejo, más que el mp3, pero que permite crear música en base a instrumentos y secuencias (parecido a midi). Necesitarías buscar una aplicación que te deje crear música en formato mod. s3m, it o xm o exportarla a esos formatos. Dudo que haya conversores mp3 > mod y si los hay no creo que la conversión sea buena. Tampoco he usado esta extensión, pero a futuro creo que se le podría sacar bastante jugo
Muchas gracias por vuestras respuestas, lo de los bpm no es mala idea pero claro como bien dice penumbra muchas canciones no se inician con un golpe por lo tanto tendria que calcular el momento exacto al que se inicie el primer golpe...
mmm... creo que optare mejor por la opción rapida, a cada cierto tiempo le aumentare y le disminuire la cantidad de monedas que caen asi en proporcion a las subidas y bajadas de la cancion.
Muchas gracias a ambos por ayudarme. Un saludo
los bpm los puedes contar tu, pero si eres muy vago y no quieres estar marcando el tempo durante un minuto hay programas que te lo hacen automatico.
normalmente la musica de baile suele tener unos bpms estables durante toda la cancion ademas de ir a 4/4 ya que esta pensada para ser mezclada, solo tendrias que eliminar el silencio de cada cancion al principio, claro que hay excepciones...
teniendo en cuenta que 30 steps= 1 segundo yo creo que haciendo un poco de calculo podrias averiguar la relacion steps/bpms
vale ya lo tengo. he hecho una "cancion", en realidad son 2 compases a 4/4 (90 bpm) se pueden añadir y quitar todos los instrumentos con las teclas del 1 al 9. pongo el proyecto como open-source en juegos en desarrollo por si alguien sabe sacarle mas punta. ya sabes que para subir bajar bpms basta con subir-bajar la velocidad de la room (esta en 30, ya sabes 1 golpe cada 20 steps equivale a 90 bpms estando a 30 frames la room)
increible lo que has hecho tio!! a ti te parecera una tonteria, un juego de niños lo que has creado pero yo que soy nuevo estoy realmente alucinado. Voy a indagar con tu permiso en tu juego a ver si le puedo sacar algo para el mio. Muchas gracias.