본문으로 건너뛰기
cccskills
무료GitHub에 공개

adaptive-music

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane스타 3(GitHub 3 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(2)

  • SKILL.md8.8 KB
  • references/anti-patterns.md2.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

adaptive-music — Sistemas de Música Interactiva

Diseña el sistema que decide qué música suena cuándo y cómo pasa de un estado a otro sin que se escuche la costura.

Esta skill diseña el sistema. El material musical lo escribe /music-composition; la implementación en middleware la baja /middleware-integration.

Cuándo usar

  • Cuando la música tiene que responder a gameplay y no alcanza con reproducir un track
  • Cuando las transiciones entre estados (exploración → combate → victoria) suenan a corte
  • Cuando el loop fatiga y necesitás variación estructural, no otro track
  • Antes de que el compositor escriba una nota: el sistema condiciona cómo se compone

Modos

ModoQué hace
designEl sistema completo: eje dominante, capas/segmentos, matriz, stingers, parámetros
layersSolo la arquitectura vertical: qué capas, qué rol, qué restricción compositiva
transitionsSolo la matriz de transiciones con sync points y segmentos de transición
stingersSolo los stingers: armonía, sincronización, cooldown
mapSolo la tabla estado de gameplay → música, con triggers e histéresis

Input

  1. Leer audio bible, sección 2 (emotional targets por game state) y 6 (music direction). Si no existe, avisar y ofrecer /audio-bible
  2. Listar los estados de gameplay reales — del código o del GDD, no inventados
  3. Preguntar al usuario: middleware target (Wwise / FMOD / engine nativo / sin definir), budget de memoria para música, y si hay material compuesto o se parte de cero

Los dos ejes

Todo sistema de música adaptativa es una combinación de estos dos. Elegir cuál domina es la primera decisión.

Vertical — layering

Un mismo bloque temporal, capas que entran y salen. Todas suenan sincronizadas porque comparten grid y armonía.

  • Fuerte en: respuesta inmediata a parámetros continuos (proximidad de enemigo, salud, intensidad de combate)
  • Débil en: cambiar de material. Todo suena a la misma pieza
  • Costo: memoria (N stems simultáneos) y una restricción compositiva real — cada capa debe funcionar sola y en toda combinación

Horizontal — re-secuenciación

Segmentos distintos que se concatenan según reglas, con transiciones en puntos musicalmente válidos.

  • Fuerte en: cambiar de material y de forma; estructura no repetitiva
  • Débil en: respuesta inmediata. La transición espera el sync point
  • Costo: latencia de respuesta (hasta un compás o más) y complejidad de reglas

Recomendación: vertical para intensidad continua, horizontal para cambios de estado discretos. La mayoría de los juegos necesitan los dos: capas dentro de cada segmento, re-secuenciación entre segmentos.


Sync points — dónde se puede cortar

Una transición suena bien o mal según dónde ocurre, no según el crossfade. De más responsivo a más musical:

Sync pointLatenciaCuándo usarlo
Inmediato0Emergencias (muerte del jugador). Suena a corte, y a veces eso está bien
Siguiente beathasta 1 beatReacción rápida que igual respeta el pulso
Siguiente compás (bar)hasta 1 compásEl default sano para la mayoría de los casos
Siguiente gridvariableCuando definís una grilla más gruesa (2 o 4 compases)
Exit cuehasta el fin del segmentoMáxima musicalidad, máxima latencia
Entry cue del destino—Define desde dónde arranca el segmento destino

Segmento de transición — un fragmento corto que se inserta entre origen y destino. Resuelve los saltos que ningún sync point salva: cambio de tonalidad, de tempo o de métrica. Es la herramienta que más mejora un sistema y la que menos se usa.

En Wwise esto es la Transition Matrix del Music Switch Container: origen × destino, con Exit Cue del origen, Entry Cue del destino, fade in/out, y segmento de transición opcional. En FMOD el equivalente son transition regions y transition timelines. El concepto es el mismo; la nomenclatura cambia.


Stingers

Frases cortas que se superponen sin interrumpir la música de fondo, sincronizadas al grid para que no suenen encima del tiempo equivocado.

  • Uso: eventos puntuales que merecen puntuación musical — descubrimiento, kill, item raro, fallo
  • Deben compartir armonía con el material de fondo, o sonar deliberadamente disonantes. Un stinger en la tonalidad equivocada es el error más audible del sistema
  • Sincronizar a beat o compás, nunca inmediato
  • Definir cooldown: dos stingers superpuestos suenan a error
  • Si el fondo modula, el stinger necesita versiones por tonalidad o tiene que ser tonalmente neutro (percusión, cluster, ruido)

Diseño del mapeo

El entregable central: la tabla estado → música.

Estado de gameplayTriggerSegmento / capasSync pointNotas
Explore calmdefaultbed + pulsebarloop indefinido
Explore alertenemigo a <30 m+ harmonybeatvuelve a calm con 5 s de histéresis
Combatcombate iniciadosegmento combat, todas las capasbar
Combat low healthHP < 25%+ intensity, filtrobeat
Victorycombate resueltostinger + segmento victoryexit cueone-shot, vuelve a explore
DeathHP = 0inmediato, corteinmediato

Parámetros continuos aparte: qué RTPC/parámetro maneja qué, con rango normalizado y curva.

ParámetroRangoControlaCurva
combat_intensity0-1volumen de capa intensitylog
player_health0-1filtro low-pass sobre el bus músicalineal

Histéresis — el detalle que rompe los sistemas

Un estado que se calcula por umbral (enemigo a <30 m) va a oscilar cuando el jugador camine en el borde. El resultado es música entrando y saliendo cada segundo.

Toda transición basada en umbral necesita:

  • Umbrales distintos por dirección — entra a 30 m, sale a 40 m
  • Tiempo mínimo en estado — no se puede salir antes de N segundos
  • Debounce del trigger — la condición tiene que sostenerse antes de contar

Sin esto, el sistema funciona en el editor y falla con un jugador real.


Enfoques generativos

Cuando la variación por capas y segmentos no alcanza:

  • Selección estocástica de capas/segmentos — la variación sale de qué combinación suena. El más barato y controlable; empezar acá siempre
  • Cadenas de Markov — melodía estocástica entrenada sobre material propio. Preserva idioma, no genera estructura
  • L-systems / gramáticas recursivas — generan estructura jerárquica por reescritura de reglas. Complemento de Markov, que no tiene forma
  • Restricciones armónicas — capa de validación sobre lo generado: el generador propone, las reglas de función y voice leading filtran

La generación de notas en tiempo real tiene un techo de calidad y un riesgo de que suene mal en producción que la selección de material pregrabado no tiene. Justificar antes de ir por ahí.


Proceso

  1. Listar estados reales del gameplay, con sus triggers exactos
  2. Elegir el eje dominante (vertical / horizontal / mixto) y justificarlo contra el budget
  3. Definir capas o segmentos y la restricción compositiva que impone al compositor
  4. Llenar la matriz de transiciones con sync points, y marcar dónde hace falta segmento de transición
  5. Definir stingers con su armonía y cooldown
  6. Definir parámetros continuos con rango y curva
  7. Agregar histéresis a toda transición por umbral
  8. Presentar al usuario y preguntar "¿Escribo el diseño a <path>?" antes de usar Write

Verdict

  • READY — la matriz está completa, todo umbral tiene histéresis, los stingers tienen armonía definida, y el compositor sabe qué restricción respetar
  • CONCERNS — el diseño existe pero hay transiciones sin sync point, umbrales sin histéresis, o el budget de memoria no se verificó contra el número de stems
  • BLOCKED — los estados de gameplay no están definidos, o no hay dirección musical de la cual derivar los emotional targets

Anti-patterns

→ Read references/anti-patterns.md

Next steps

  • /music-composition para escribir el material respetando las restricciones de capas
  • /middleware-integration para implementar la matriz en Wwise/FMOD
  • /audio-mix para el ducking entre música y diálogo
  • /audio-audit para verificar memoria y voice count del sistema en runtime

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

Design production-grade multi-agent workflows with pattern selection, handoff contracts, failure handling, and cost/context controls for sequential, parallel, router, orchestrator, and evaluator topologies.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

SebastianLuser/claude-code-arcane32026년 10월 27일 업데이트

SebastianLuser의 스킬 모두 보기

이 스킬의 문제 신고