# Ejercicio: creación de efectos de audio para *Lecede*
## Descripción del juego
- **Autor:** Clovelt (desarrollador independiente)
- **Género:** Puzzle/acción experimental
- **Controls:** Flechas del teclado
- **Mecánica:** Pasar niveles batiendo enemigos usando las paredes del escenario
- **Contexto:** Experimento/prototipo con todos los sonidos renombrados a mano
## Estética sonora (según el autor)
> "He usado un compresor de audio para dar un efecto de claustrofobia a cualquier sonido que suena en la partida. El resultado es que todo tiene mucho eco, suena fuerte, y da miedo. Se siente como un mal sueño a cámara rápida."
- Procesado con **compresor** para crear sensación de claustrofobia
- Todo el audio tiene **mucho eco y reverb** (ver `A_ReverbImpulseResponse`)
- Atmósfera: **opresiva, caótica, onírica**
- Sin referente claro según el propio autor
## Archivos de audio (`/www/media/`)
> Formato: `.webm` — reemplazables para sonorización propia
### 🎵 Ambientales / Técnicos
| Archivo | Tipo de sonido |
|---|---|
| `A_BackgroundMusic.webm` | Música de fondo en bucle |
| `A_ReverbImpulseResponse.webm` | IR de convolución — procesa el espacio acústico del juego |
### 💥 Efectos de sonido (SFX)
| Archivo | Evento en el juego | Tipo de sonido inferido |
| ---------------------------------- | ------------------------------------------------- | ------------------------------------ |
| `SFX_AbrirPuertaManual.webm` | Apertura de puerta con interacción manual | Mecánico, chirrido o golpe sordo |
| `SFX_ActivarPalanca.webm` | Accionar una palanca | Clic metálico o trazo mecánico |
| `SFX_AnyEnemyDeath.webm` | Muerte genérica de cualquier enemigo | Impacto + colapso |
| `SFX_ElementCollisionWall.webm` | Objeto/elemento choca con pared | Golpe seco o rebote |
| `SFX_EnemigoBoomExplotaCapa2.webm` | Explosión de enemigo (fase 2 / capa destructible) | Explosión en dos capas |
| `SFX_EnemigoSeDespierta.webm` | Enemigo detecta al jugador y se activa | Alerta, activación brusca |
| `SFX_EnemyCollisionWall.webm` | Enemigo impacta contra pared | Golpe contundente |
| `SFX_InicioNivel.webm` | Comienzo de nivel | Jingle corto o stinger de inicio |
| `SFX_JugadorSeMueve.webm` | Movimiento del personaje jugador | Pasos, deslizamiento o arrastre |
| `SFX_KillBigEnemy.webm` | Eliminación de enemigo grande | Sonido de victoria / impacto mayor |
| `SFX_PlayerDeath.webm` | Muerte del jugador | Caída, colapso o efecto de game over |
| `SFX_PlayerHit.webm` | Jugador recibe daño | Golpe, quejido o flash sonoro |
| `SFX_PulsarBoton.webm` | Pulsar un botón o interruptor | Clic, bip o percusión corta |
| `SFX_Secreto.webm` | Descubrimiento de zona o ítem oculto | Jingle de revelación |
| `SFX_WallIsHit.webm` | Una pared recibe un impacto | Golpe sordo / resonancia estructural |
## Notas para la sonorización
- El autor **no quiere que los sonidos originales influyan**: libertad total de estilo
- Los archivos son **intercambiables**: convertir audio a `.webm` con el mismo nombre y reemplazar en `/www/media/`
- El trabajo puede incluirse en **demo reel, portfolio o redes sociales**
- Proyecto enmarcado en la actividad del **CPM Francisco Guerrero** (Sevilla)
## Realización del ejercicio
Al igual que en otros proyectos anteriores, puedes realizar el ejercicio **en uno o varios de los siguientes niveles:** (podéis descargar unos sonidos y grabar otros, o mezclar sonidos descargados con sonidos grabados)
### Nivel 1: sonidos de librerías (5 puntos)
Localizar los 15 sonidos adecuados para cada uno de los eventos de la tabla anterior, descargarlos y convertirlos a webm renombrándolos como se indica en la tabla (respetar mayusculas y minúsculas)
Para facilitar todo, podemos agrupas los sonidos en **6 bloques principales**:
1. **Interacción**
SFX_AbrirPuertaManual.webm
SFX_ActivarPalanca.webm
SFX_PulsarBoton.webm
2. **Movimiento**
SFX_JugadorSeMueve.webm
3. **Impactos / colisiones**
SFX_ElementCollisionWall.webm
SFX_EnemyCollisionWall.webm
SFX_WallIsHit.webm
4. **Daño y muerte**
SFX_PlayerHit.webm
SFX_PlayerDeath.webm
SFX_AnyEnemyDeath.webm
SFX_KillBigEnemy.webm
SFX_EnemigoBoomExplotaCapa2.webm
5. **Estados de enemigo**
SFX_EnemigoSeDespierta.webm
6. **Progresión / recompensa**
SFX_InicioNivel.webm
SFX_Secreto.webm
### Nivel 2: grabación de los sonidos (0,2 puntos por sonido)
Grabar los 15 sonidos y editarlos (apilando capas, cambiando altura/velocidad, ecualizando, poniéndolos al revés, aplicando efectos, etc.). También pueden editarse y manipularse sonidos descargados mezclados o no con sonidos descargados. Para entrar en este nivel los sonidos han debido procesarse de alguna forma.
| Tipología | Archivos | Qué comunica en juego | Cómo grabarlo | Fuentes / acciones recomendadas | Tips prácticos | Ejemplos concretos | Consejos de diseño |
| ------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Interacción mecánica | `SFX_AbrirPuertaManual.webm` `SFX_ActivarPalanca.webm` `SFX_PulsarBoton.webm` | Acción directa del jugador, confirmación, materialidad | Grabar objetos reales en distancias corta y media | Puertas, cajones, pestillos, interruptores, mandos, bisagras, herramientas metálicas, bolígrafos de clic | Haz varias tomas: lenta, normal y brusca. Busca transitorios claros al inicio. Prueba con y sin reverberación natural | Una palanca puede salir de combinar clic de alicate + roce metálico + golpe final. Un botón puede salir de un boli retráctil + pulsador de lámpara | Si el gameplay pide precisión, usa sonidos cortos y legibles. Si el objeto es pesado, añade un pequeño “thunk” grave al final |
| Apertura / puerta manual | `SFX_AbrirPuertaManual.webm` | Acceso, transición, cambio espacial | Grabar puertas reales abriendo y cerrando con distintos ritmos | Puerta de armario, puerta vieja, puerta corredera, tapa de caja grande | Graba también la manilla por separado. El chirrido y el cierre suelen funcionar mejor en capas separadas | Manilla metálica + bisagra + golpe sordo de cierre suave | Separa en 2 o 3 capas: agarre, movimiento, final. Así luego podrás sincronizar mejor |
| Accionamiento mecánico | `SFX_ActivarPalanca.webm` | Activación física, sistema, mecanismo | Grabar movimientos cortos con resistencia y final marcado | Alicates, tijeras, mecanismos de escritorio, palancas de persiana, cerraduras | Busca un gesto con recorrido: inicio, arrastre, cierre. El sonido mejora mucho si hay fricción real | Palanca = clic metálico + arrastre de muelle + golpe final | Añade una capa grave ligera si quieres que parezca una máquina grande o industrial |
| Botón / interruptor | `SFX_PulsarBoton.webm` | Confirmación inmediata, interfaz física | Grabar elementos pequeños con ataque limpio | Bolígrafo, ratón, teclado mecánico, interruptor de lámpara, mando de consola | Aísla el clic y recorta el ruido previo. Haz versiones “soft”, “normal” y “hard” | Botón arcade = pulsador real + toque con uña + mini golpe sobre plástico | Si el UI es retro o arcade, puedes reforzarlo con un bip sintético muy corto |
| Impactos y colisiones | `SFX_ElementCollisionWall.webm` `SFX_EnemyCollisionWall.webm` `SFX_WallIsHit.webm` | Peso, fuerza, dureza, contacto con entorno | Grabar golpes contra diferentes superficies y con diferentes intensidades | Caja contra pared, libro contra mesa, saco, cartón, madera, metal, piedra artificial | Cambia material y masa del objeto. Graba a varias intensidades. Evita saturar picos | Un choque ligero puede salir de una caja de cartón contra pared. Uno duro, de un golpe de saco o mochila contra puerta | El mismo evento cambia mucho según el material. Decide primero: ¿pared de piedra, metal, madera o hormigón? |
| Colisión de objeto | `SFX_ElementCollisionWall.webm` | Rebote, contacto físico de un elemento móvil | Grabar objetos pequeños y medianos chocando | Pelota desinflada, caja, botella vacía, pieza de madera, objeto de plástico duro | Si quieres rebote, graba varios impactos naturales seguidos y luego elige el mejor | Objeto de juego ligero = táper pequeño contra pared + pequeño rebote de mesa | Para objetos pequeños, corta graves innecesarios; para objetos grandes, refuérzalos |
| Colisión de enemigo | `SFX_EnemyCollisionWall.webm` | Golpe corporal, torpeza, violencia física | Grabar golpes con más cuerpo y masa | Mochila llena contra colchón o puerta, saco, cojín comprimido, golpe sobre chaqueta doblada | Añade capa de ropa o “body fall” para que no suene a objeto vacío | Enemigo pesado = mochila contra armario + golpe de mano en pecho + roce de tela | Si el enemigo es orgánico, mezcla algo blando. Si es robótico, mezcla metal o servo |
| Pared golpeada | `SFX_WallIsHit.webm` | Respuesta estructural del escenario | Grabar directamente superficies o simularlas con materiales similares | Golpear mesa maciza, puerta, panel, ladrillo hueco, barandilla metálica | Graba el impacto y también la resonancia que queda después | Pared de piedra ficticia = golpe a superficie dura + piedra pequeña chocando + cola corta grave | Deja un poco de resonancia si quieres que el entorno se sienta grande |
| Movimiento / locomoción | `SFX_JugadorSeMueve.webm` | Presencia, ritmo, superficie, control del personaje | Grabar pasos, roces y deslizamientos en distintas superficies | Zapatillas, botas, tela, mochila, suelo de madera, baldosa, gravilla, cartón, arena | Graba loops estables y también pasos sueltos. Mantén ritmo regular si será repetitivo | Movimiento top-down ligero = pasos suaves con zapatillas + roce de pantalón + arrastre mínimo | Menos es más. Si el personaje se mueve mucho, conviene un sonido claro pero poco invasivo |
| Pasos / desplazamiento | `SFX_JugadorSeMueve.webm` | Movimiento continuo del jugador | Grabar caminatas y micro-roces del cuerpo | Zapatos distintos, telas, cinturón, mochila, papel, cuero | Graba cada superficie por separado. Luego podrás cambiar el contexto del personaje fácilmente | Suelo de mazmorra: pasos sobre baldosa + roce de tela. Nieve: pisada sobre bolsa con maicena o sal gruesa | Si el personaje es pequeño, aligera el sonido. Si es grande, añade peso en graves y más roce |
| Daño al jugador | `SFX_PlayerHit.webm` | Castigo, alerta, pérdida de vida | Grabar pequeños golpes controlados y capas orgánicas | Golpe a cojín, pecho, tela tensa, exhalación, roce brusco | Un buen hit suele funcionar con 2 capas: impacto + reacción | Golpe recibido = palmada sobre chaqueta + exhalación corta + pequeño glitch o tono si el juego es arcade | Debe ser claro y rápido; no lo hagas tan largo que tape la acción siguiente |
| Muerte del jugador | `SFX_PlayerDeath.webm` | Derrota, colapso, fin de intento | Grabar caída corporal, tela, aire, objetos blandos | Tirar cojines, manta pesada, mochila, cuerpo sobre cama o sofá | Haz una toma más física y otra más abstracta. Luego decides según el tono del juego | Caída = golpe blando + exhalación larga + caída de accesorios | Si hay respawn rápido, conviene una muerte breve. Si hay dramatismo, deja más cola |
| Muerte de enemigo estándar | `SFX_AnyEnemyDeath.webm` | Confirmación de eliminación | Grabar impactos cortos, colapsos y pequeños finales | Verduras, bolsas, cartón roto, ropa, objetos blandos y duros | Muy útil trabajar en capas: impacto inicial + cuerpo que cae + detalle final | Enemigo blando = apretar lechuga o apio + golpe de tela. Enemigo duro = caja pequeña + metal corto | Distingue bien “hit” de “death”: la muerte debe sentirse más definitiva |
| Muerte de enemigo grande / élite | `SFX_KillBigEnemy.webm` | Recompensa, potencia, hito | Grabar sonidos con más masa y capas amplias | Golpes grandes, muebles pequeños, mochila pesada, chapa, bidones vacíos | Mezcla una capa física con otra espectacular. Busca sensación de “evento importante” | Boss kill = golpe grave a caja grande + caída pesada + aire + acento brillante final | Puedes rematar con un detalle tonal o jingle corto para subrayar victoria |
| Explosión / destrucción | `SFX_EnemigoBoomExplotaCapa2.webm` | Ruptura, energía, destrucción visible | Grabar estallidos seguros y luego construir en capas | Bolsas grandes, papel arrugado, cajas rompiéndose, globos, bandejas metálicas, arena cayendo | Una explosión creíble rara vez sale de una sola toma. Haz capa de ataque, cuerpo y debris | Ataque = golpe fuerte; cuerpo = whoosh de boca o tela; debris = arroz, arena o trozos cayendo | Divide el diseño en fases: impacto inicial, expansión, restos. Así se entiende mucho mejor |
| Estado enemigo / activación / alerta | `SFX_EnemigoSeDespierta.webm` | Cambio de estado, detección, amenaza | Grabar arranques bruscos, respiraciones, roces, mecanismos o pequeños chillidos | Silla arrastrada, respiración, roce de tela, muelle, metal fino, bisagra tensa | Piensa en la dramaturgia: primero “despierta”, luego “amenaza” | Enemigo robótico: servo casero con juguete mecánico + clic + subida tonal. Enemigo orgánico: inhalación + crujido de tela o apio | Debe distinguirse de un ataque. Su función principal es avisar al jugador |
| Progresión / stingers | `SFX_InicioNivel.webm` | Inicio, transición, entrada en fase | Grabar elementos breves y combinarlos con material tonal o percusivo | Campanillas, vaso, metal fino, golpe de madera, voz procesada, teclado, objetos resonantes | Busca claridad y forma breve. Un stinger funciona bien entre 0.5 y 2 segundos | Inicio de nivel = golpe suave + subida corta + cola brillante | Aunque se grabe de fuentes reales, puedes editarlo de forma más musical que el resto |
| Secreto / descubrimiento / recompensa | `SFX_Secreto.webm` | Hallazgo, premio, sorpresa positiva | Grabar pequeños sonidos brillantes y combinar capas ascendentes | Llaves, monedas, cristal, vasos, campanas, utensilios metálicos finos | Prueba a grabar tintineos suaves y luego elegir sólo 2 o 3 impactos muy limpios | Secreto = tintineo de llaves + roce de copa + inversión o subida ligera | Debe sonar especial, pero no demasiado largo. Conviene que sea memorable y limpio |
## Recursos recomendados por el autor
- [GameSounds](https://gamesounds.xyz) — 100% open & free
- [Freesound](https://freesound.org) — requiere crédito a autores
- [SFXR](https://sfxr.me) — generador de SFX retro
- [BBC SFX](https://sound-effects.bbcrewind.co.uk)
- [Free Music Archive](https://freemusicarchive.org)
- [Bandcamp CC0](https://bandcamp.com)