ab-test-setup
FreePlan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.
The English summary is being prepared. Showing the original description.
Integracion de middleware de audio (Wwise/FMOD): containers, eventos, Switches/States/RTPCs, atenuaciones, soundbanks, streaming vs memoria, y el contrato con el codigo de gameplay. Usar para: Wwise, FMOD, event authoring, RTPC, soundbanks, arquitectura de audio.
The English summary is being prepared. Showing the original description.
Run score Not tested
See how to installReview the instructions the agent will receive before you install.
Diseña la estructura del proyecto de middleware y el contrato entre el audio y el código de gameplay.
Conceptos agnósticos donde se puede; nomenclatura de Wwise como referencia principal, con el equivalente FMOD anotado, porque los dos modelan lo mismo con nombres distintos.
/audio-spec (event lists), /audio-mix (buses) y /adaptive-music (matriz de transiciones) si existen| Concepto | Wwise | FMOD Studio |
|---|---|---|
| Unidad que dispara el código | Event | Event |
| Contenedor de variación | Random / Sequence Container | Multi-instrument, Scatterer |
| Selección por estado discreto | Switch Container | Parameter (labeled) |
| Mezcla continua entre variantes | Blend Container | Parameter con automatización |
| Parámetro continuo | RTPC (Game Parameter) | Parameter (continuous) |
| Estado global | State | Global parameter / Snapshot |
| Agrupación de mezcla | Actor-Mixer / Bus | Group bus |
| Snapshot de mezcla | State con propiedades de bus | Snapshot |
| Curva de distancia | Attenuation ShareSet | 3D panner + curvas |
| Empaquetado | SoundBank | Bank |
| Música interactiva | Music Switch / Playlist Container | Event con transition regions |
Organizar por sistema de gameplay, no por tipo de sonido. Weapons/Shotgun/ es navegable; Impacts/ con todo mezclado no.
Actor-Mixer Hierarchy
├── Player (locomoción, armas, voz del jugador)
├── Enemies (por arquetipo)
├── World (props, entorno, destructibles)
├── Ambience (por zona)
└── UI
Interactive Music
└── (por estado: Explore, Combat, Victory...)
Events
└── (espeja la jerarquía de Actor-Mixer)
Reglas que evitan el desorden:
Play_Weapon_Fire con un Switch de tipo de arma le gana a un evento por arma| Container | Cuándo | Cuidado |
|---|---|---|
| Random | Variación de un mismo sonido | Usar shuffle (round-robin), no random puro: random repite |
| Sequence | Sonidos que tienen orden (carga → disparo) | Definir qué pasa al interrumpir |
| Switch | Selección por estado discreto (superficie, tipo de arma) | Definir el default: si el Switch no está seteado, el evento no suena |
| Blend | Mezcla continua por parámetro (RPM de motor) | Cuidar el solapamiento de las curvas o hay huecos |
Tres cosas distintas, y confundirlas es un error de arquitectura frecuente:
| Alcance | Tipo | Ejemplo | |
|---|---|---|---|
| Switch | Por objeto de juego | Discreto | Superficie bajo este personaje |
| State | Global | Discreto | El juego está en pausa |
| RTPC | Global o por objeto | Continuo | Salud del jugador, intensidad de combate |
Regla: si es una propiedad de un objeto específico, es Switch. Si es una condición del juego entero, es State. Si es un número que varía suave, es RTPC.
Usar un State para algo que es por objeto es el bug que produce "todos los personajes caminan sobre la superficie del jugador".
Contrato de RTPCs: todo RTPC necesita rango declarado, curva, y valor por default. El código normaliza y clampea antes de enviarlo — el middleware no debería recibir nunca un valor fuera de rango.
Estrategia por defecto que funciona en la mayoría de los proyectos:
| Bank | Contenido | Cuándo carga |
|---|---|---|
Init | Estructura del proyecto, buses | Al arrancar, siempre |
Global | UI, voz del jugador, música persistente | Al arrancar, siempre |
Level_XX | Ambiente y props del nivel | Al cargar el nivel |
Character_XX | Por personaje/enemigo | Con el spawn del personaje |
Streaming vs memoria:
| Va en memoria | Va en streaming |
|---|---|
| Todo lo corto y frecuente (SFX, UI, footsteps) | Música |
| Cualquier cosa que necesite latencia cero | Diálogo largo |
| Ambientes largos |
El streaming ahorra memoria y cuesta latencia y accesos a disco. Un SFX en streaming llega tarde; la música en memoria se come el budget.
Prefetch para lo streameado que necesita arrancar rápido: los primeros ms van en memoria y el resto se stremea.
Lo que el código tiene que poder hacer, y nada más:
PostEvent(eventName, gameObject) → dispara
StopEvent(playingId, fadeMs) → detiene lo que loopea
SetSwitch(group, value, gameObject) → propiedad de objeto
SetState(group, value) → condición global
SetRTPC(param, value01, gameObject?) → parámetro, normalizado
RegisterGameObject / Unregister → ciclo de vida
Reglas del contrato (las mismas que enforcea rules/gamedev/audio-code.md):
El middleware trae el profiler, y es la única fuente de verdad sobre lo que pasa en runtime:
Para profilear objetos de juego hay que tener la captura activa en la vista de Game Object antes de disparar los eventos, o no se registra nada.
/audio-spec, uno por acción/audio-mix<path>?" antes de usar WriteWwise expone WAAPI y FMOD tiene su API de scripting, así que la autoría en batch es automatizable. Hay servidores MCP de terceros que exponen WAAPI a un agente, pero al momento de escribir esto el más completo se declara EXPERIMENTAL y explícitamente no recomendado para proyectos de producción. Si querés explorarlo, hacelo en un proyecto de prueba, nunca sobre el proyecto real.
/audio-spec o la estructura de buses de /audio-mix→ Read references/anti-patterns.md
/audio-audit para profilear voces, CPU y memoria en runtime/adaptive-music si falta la matriz de transiciones de música/audio-spec si la event list no existe todavíaNo reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.
The English summary is being prepared. Showing the original description.
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.
The English summary is being prepared. Showing the original description.
Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.
The English summary is being prepared. Showing the original description.
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.
The English summary is being prepared. Showing the original description.
Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.
The English summary is being prepared. Showing the original description.
Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.
The English summary is being prepared. Showing the original description.