NecroBeatSync + NecroRhythmMover para Construct 2

Not favoritedFavorited Favorited 0 favourites
  • 1 posts
From the Asset Store
Casino? money? who knows? but the target is the same!
  • Plugin y behavior para juegos musicales, beats, bajos, flechas, disparos, videos y locuras ritmicas varias

    Hola chicos, ¿como estan?

    Les traigo algo que personalmente me tiene bastante entusiasmado, porque abre una puerta bien entretenida para Construct 2: un sistema pensado para crear juegos musicales, juegos ritmicos, juegos con beats, flechas, disparos sincronizados, objetos que se mueven al ritmo de la musica, videos de fondo sincronizados y mecanicas donde la musica no es solo decoracion, sino parte real del gameplay.

    El sistema esta compuesto por dos partes principales:

    NecroBeatSync -> Plugin principal de musica, beat, sincronizacion y video.

    NecroRhythmMover -> Behavior para sprites que reaccionan al ritmo.

    La gracia es que pueden trabajar juntos o separados. Puedes usar solamente NecroBeatSync para detectar beats y manejar eventos normales de Construct 2, o puedes usar NecroRhythmMover para que cualquier sprite se comporte como flecha, nota, enemigo ritmico, bala, plataforma, luz, bola saltarina o lo que se les ocurra.

    La idea general es muy simple:

    La musica suena.

    El plugin detecta los bajos o beats.

    Construct 2 recibe eventos.

    Los sprites hacen cosas.

    El jugador intenta seguir el ritmo.

    Todos somos felices.

    El sprite probablemente no.

    ¿Para que sirve?

    Este sistema esta pensado para crear juegos y mecanicas como:

    • Juegos tipo Guitar Hero o juegos de notas musicales.

    • Juegos tipo Dance Dance Revolution o flechas que llegan a un punto de hit.

    • Juegos de disparos al ritmo de la musica.

    • Juegos de plataformas donde todo cambia por beat.

    • Juegos tipo baile o coreografia usando video de fondo propio/local.

    • Enemigos que atacan segun los bajos.

    • Escenarios que pulsan, vibran, cambian color o lanzan particulas con la musica.

    • Luces, camaras, plataformas, obstaculos y fondos sincronizados al ritmo.

    • Prototipos locos donde el bajo manda mas que el programador.

    Parte 1: NecroBeatSync

    NecroBeatSync es el plugin principal. Es el encargado de cargar la musica, reproducirla, leer el tiempo de la cancion, analizar los bajos, generar beats, disparar eventos y manejar la sincronizacion general.

    Carga de audio

    La musica se puede usar de distintas formas:

    • Audio importado directamente en Construct 2.

    • Audio cargado por nombre desde la carpeta Sounds o Music.

    • Audio cargado desde una URL directa.

    • Audio local para pruebas y prototipos.

    Lo recomendado para juegos ritmicos es trabajar con archivos propios o autorizados, por ejemplo .ogg, .m4a o .mp3 importados al proyecto. Esto permite que el plugin tenga control real sobre el tiempo, los bajos y la sincronizacion.

    Deteccion de bajos en vivo

    Una de las funciones centrales es detectar golpes de bajo en tiempo real. Se puede configurar el rango de frecuencias y la sensibilidad del detector.

    Ejemplo de configuracion:

    Bass range: 20 Hz a 260 Hz

    Sensitivity: 1.01

    Min gap: 120 ms

    Min energy: 0.005

    Cada vez que el plugin detecta un bajo fuerte, se dispara el evento:

    NecroBeatSync -> On live bass beat

    Y desde ahi puedes hacer practicamente cualquier cosa: mover sprites, disparar balas, hacer saltar una bola, cambiar opacidad, activar luces, hacer shake de camara o iniciar una fase del juego.

    NecroBeatSync -> On live bass beat

    -> Bola: Set X to Bola.X + 5

    Resultado: cada beat mueve la bola 5 pixeles a la derecha. Simple, pero poderoso. Todo gran juego ritmico empieza con un sprite moviendose raro y alguien diciendo: "espera, esto puede ser un juego completo".

    Beatmap y beats programados

    Ademas del beat en vivo, el plugin puede trabajar con beatmaps. Esto es especialmente util para juegos ritmicos mas precisos, donde una flecha debe llegar exactamente al punto de golpe cuando suena el beat.

    • Permite generar una lista de beats.

    • Permite disparar eventos antes del beat con un tiempo de aproximacion.

    • Permite saber en que segundo debe ocurrir cada golpe.

    • Permite evaluar si el jugador presiono dentro de una ventana de tiempo correcta.

    NecroBeatSync -> On beat approaching

    -> Crear Flecha

    -> Flecha recibe el TargetBeatTime

    -> Flecha se mueve al punto de hit

    Eventos por segundo y por numero de beat

    Tambien se agregaron triggers para ejecutar acciones cuando la cancion llega a un segundo especifico o a un beat especifico.

    NecroBeatSync -> On song second 10

    -> Texto: Set text to "Ahora empieza lo bueno"

    NecroBeatSync -> On scheduled beat number 4

    -> Plataforma: Set angle to Plataforma.Angle + 90

    NecroBeatSync -> On live beat number 4

    -> Activar modo avance

    Esto permite crear fases de cancion muy faciles de controlar:

    Segundo 0 -> Intro

    Segundo 10 -> Empiezan flechas

    Segundo 30 -> Aparece jefe

    Beat 4 -> Se activa avance

    Cada 8 beats -> Cambio de patron

    Video de fondo sincronizado

    Otra funcion interesante es el modulo de video de fondo sincronizado. La idea es usar un video propio/local como fondo visual, pero dejar el audio bajo el control de NecroBeatSync.

    video_fondo.mp4 -> Video visual, muteado

    tema.ogg -> Audio real controlado por NecroBeatSync

    Juego -> Construct 2 encima

    El audio manda. El video obedece. Si lo hacemos al reves, despues las flechas llegan tarde, el jugador se enoja y el pobre plugin termina pagando la culpa.

    Funciones de video disponibles:

    • Load background video from URL.

    • Load video by name.

    • Set video muted.

    • Set video opacity.

    • Set video fit: cover, contain, stretch o original.

    • Set video layer mode: behind canvas, over canvas, browser background o custom rectangle.

    • Play video synced.

    • Pause video, Stop video, Seek video y Sync video now.

    • Show video, Hide video y Destroy video.

    NecroBeatSync -> On video loaded

    -> Set video muted

    -> Set video fit cover

    -> Set video layer mode behind canvas

    -> Show video

    Debug incluido

    Para evitar adivinar que esta pasando, el plugin incluye texto de debug.

    System -> Every tick

    -> Text: Set text to NecroBeatSync.DebugText

    El debug puede mostrar valores como:

    Loaded: 1

    Playing: 1

    Time: 12.35

    Energy: 0.042

    Average: 0.030

    Threshold: 0.035

    LastBeat: 12.08

    LiveBeatCount: 24

    Esto ayuda bastante, porque todos sabemos que en Construct 2 hay dos tipos de bugs: el plugin no funciona, o el plugin si funciona pero uno puso mal el evento. El segundo sospechosamente pasa mas seguido.

    Parte 2: NecroRhythmMover

    NecroRhythmMover es un behavior para sprites. Mientras NecroBeatSync controla la musica y los beats, NecroRhythmMover ayuda a que los objetos reaccionen al ritmo de forma mas directa.

    Se puede usar para:

    • Flechas y notas musicales.

    • Bolas o personajes que saltan con el beat.

    • Enemigos que atacan en momentos ritmicos.

    • Balas y disparos sincronizados.

    • Luces, efectos, plataformas y obstaculos.

    • Sprites que deben llegar justo a un punto de hit.

    El behavior puede manejar cosas como movimiento hacia un punto objetivo, tiempo de llegada al beat, carriles o lanes, ventanas de input y resultados tipo:

    PERFECT

    GOOD

    OK

    MISS

    Ejemplos de uso

    Ejemplo 1: mover una bola 5 pixeles por cada beat live

    NecroBeatSync -> On live bass beat

    -> Bola: Set X to Bola.X + 5

    Ejemplo 2: los 3 primeros beats saltan, desde el cuarto avanza

    Global number BolaAvanza = 0

    Mouse -> On any click

    + NecroBeatSync -> Is loaded

    -> Set BolaAvanza = 0

    -> NecroBeatSync: Reset timeline counters

    -> NecroBeatSync: Play from 0 seconds

    NecroBeatSync -> On live bass beat

    + NecroBeatSync.LiveBeatCount <= 3

    -> Bola: Jump 32 px for 0.22 sec

    NecroBeatSync -> On live beat number 4

    -> Set BolaAvanza = 1

    NecroBeatSync -> On live bass beat

    + BolaAvanza = 1

    -> Bola: Set X to Bola.X + 5

    Ejemplo 3: juego de flechas

    NecroBeatSync -> On beat approaching

    -> Crear Flecha

    -> Flecha: Set lane

    -> Flecha: Set target beat time

    -> Flecha: Move to hit point

    Keyboard -> On Left pressed

    + Flecha esta en lane izquierda

    -> Flecha: Judge input

    Ejemplo 4: shooter musical

    NecroBeatSync -> On live bass beat

    -> Player: Spawn Bala

    NecroBeatSync -> On every 4 scheduled beats

    -> Enemigo: Spawn BalaEspecial

    NecroBeatSync -> On song second 60

    -> Crear Boss

    Ejemplo 5: plataforma musical

    NecroBeatSync -> On live bass beat

    -> Plataforma: Toggle visible

    NecroBeatSync -> On every 4 scheduled beats

    -> Pinchos: Set Y to Pinchos.Y - 32

    Keyboard -> On Space pressed

    + Jugador esta dentro de ventana de hit

    -> Player: Jump

    Parametros importantes

    Parametro Descripcion

    Bass range Define las frecuencias que se consideraran bajos. Ejemplo: 20 a 260 Hz.

    Live detector sensitivity Controla que tan sensible es el detector. Valores bajos detectan mas; valores altos detectan menos pero con mas filtro.

    Min energy Evita que cualquier ruido pequeno sea contado como beat.

    Min gap Tiempo minimo entre beats detectados para evitar duplicados del mismo golpe.

    Sync offset ms Corrige desfases entre musica, juego, video y eventos.

    Approach lead time Tiempo antes del beat en que aparece una nota o flecha.

    Video sync tolerance Margen permitido antes de corregir el video al tiempo del audio.

    Video offset Desfase visual del video respecto al audio.

    Cierre para el foro

    Asi que eso, chicos. La idea de este plugin y behavior es que puedan crear desde algo tan simple como "cada beat mueve una bola" hasta un juego de flechas completo con musica, video de fondo, hits sincronizados, efectos visuales y patrones por beat.

    EMAIL:CONSTRUCT2@PREVFORM.CL

    DEMO:https://necro-beat-sync.netlify.app/

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)