Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Implementar un sistema de ritmo  (Leído 695 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado matiascarpello

en: Octubre 23, 2018, 02:48:00 pm
Hola comunidad. ¿Como andan? Espero que muy bien.

Quiero implementar el siguiente sistema pero no se cuál sería la mejor forma de llevarlo a cabo.

Quiero hacer un juego sobre cultura musical y en algunos niveles para que el usuario pueda resolver un nivel tendrá que dar toques la pantalla siguiendo un ritmo. Por ejemplo, tocar la pantalla del celular y tratar de reproducir la canción del feliz cumpleaños. Es como si les dijera que toquen el feliz cumpleaños golpeando sus mesas o un mueble, pero en este caso llevado a cabo a un juego y en vez de golpear una mesa o mueble, el usuario tendrá que dar toques a la pantalla.

Lo complicado sería cómo hacer para sincronizar los toques con el ritmo, eso es lo que no logro comprender como llevarlo a cabo.

Y una aclaración, mi juego no contendrá ninguna pista musical ni nada por el estilo, no es un guitar hero. Lo aclaro por si algunos pensaron que el juego iba por ese camino.

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado pixel king

Respuesta #1 en: Octubre 23, 2018, 11:59:55 pm
podrias establecer en un array el tiempo entre toques y a partir de ahí comparar con el que hicieron los usuarios y si la diferencia es de x entonces lo han hecho mal
toque1 - 0.5s -> toque2 - 0.2s -> ... -> toqueN

es lo que se me ocurre así de primeras

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado somnus

Respuesta #2 en: Octubre 24, 2018, 06:38:48 pm
podrias establecer en un array el tiempo entre toques y a partir de ahí comparar con el que hicieron los usuarios y si la diferencia es de x entonces lo han hecho mal
toque1 - 0.5s -> toque2 - 0.2s -> ... -> toqueN

es lo que se me ocurre así de primeras

basicamente se tendria que estudiar en que tiempo se escuchan los sonidos del ritmo, esto implica saber en que Segundo de una cancion suena dicho sonido, asi mismo guardar esas variables y compararlas con los eventos de boton , e implica que uses otras herramientas de edicion de sonido en caso de adecuar las notas/ritmo/musica necesarias.

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado Clamud

Respuesta #3 en: Octubre 25, 2018, 02:05:31 pm
Se puede portar un código como este
https://learn.adafruit.com/secret-knock-activated-drawer-lock/overview
https://learn.adafruit.com/secret-knock-activated-drawer-lock/code

El ritmo se guarda como un array, pero los tiempos no se guardan en segundos (o submúltiplos de segundo), se guardan como porcentajes.
El tiempo más grande entre toques se toma como el 100% y a partir de esa duración se calculan los demás valores.
De esa forma se puede tocar el mismo ritmo con un poco de variación en la velocidad.
Existe un tiempo máximo entre toques, si se sobrepasa ese valor la detección se cancela, por lo que no es posible detectar un ritmo si se toca demasiado lento.
También existen dos valores que permiten ajustar la sensibilidad.

 
Los siguientes usuarios dieron las gracias a este tema: Yuzo


Desconectado matiascarpello

Respuesta #4 en: Octubre 25, 2018, 06:41:42 pm
Gracias a todos los que respondieron. Estuve leyendo sus opiniones y estudiando bien el tema, y llegué a la conclusión que no añadiré la función de ritmo, debido a la alta complejidad que lleva programar todo, o por lo menos en mi caso se me hace muy difícil este tema. Pero, al parecer leyendo sus opiniones al menos se que es posible hacerlo en GMS.

Pero como son varias las canciones que quiero agregar, me parece que sería muy tedioso todo.