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.

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

Cita de: pixel king 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

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

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.

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.