Sound 101

La lista

1 "Eat"
2 "Gulp"
3 "Eat Fruit"
4 "Eat Ghost"
5 "Death 1"
6 "Death 2"
7 "Death 3"
8 "Score"

Nuestro BeeperMod está preparado para ejecutar efectos especiales a través del editor externo "BeepFX Editor" que ahora incluye la carpeta "Tools" del Suite ZX.

Tienes que crear una lista de efectos y ejecutarlos desde el juego con el comando SOUND 100+n donde n rerá el índice (n>0) del sonido en la lista.

Los ingenieros de sonido del equipo Pac-man han confeccionado la lista después de semanas de trabajo. Vamos a editar y compilar con la nueva herramienta para incorporar los efectos al juego.

Pitidos especiales

Abre el BeepFx.exe que está en la carpeta "tools". Reemplaza "New effect 0" por "Eat" en la lista de efectos de sonido.

"Eat" puede construirse a partir de bloques de programas que juntos dan como resultado el sonido o estar formado por un solo bloque.

Los tipos de programas que podemos usar son "Tono", "Ruido Blanco", "Sample" y "Pausa". Cada programa tiene sus parámetros correspondientes.

Selecciona "Tone" en la pestaña de tipo de programa. "Eat" será un Tono 300, durará 2 frames, cada frame aumentará el tono en 50, cada frame durará 100, usaremos una onda cuadrada (pulso 128). Se puede resumir así:
Tone 2,100,300,50,128,0

La práctica y el oído te harán familiares estos parámetros hasta el momento en que los usarás de manera intuitiva. No dudes en hacer pruebas con tus propios efectos (echa un vistazo al proyecto ejemplo de la carpeta "beepfx" dentro de la carpeta "tools").

Hacer "clic" en el botón "Add" de la lista de efectos para añadir el siguiente, reemplaza "New efect 1" por "Gulp".

"Gulp" estará formado por dos programas:
Tone 50,200,300,-5,128,0
Tone 25,150,200,5,128,0
El primero será un Tono 300, durará 50 frames, cada frame disminuye el tono en 5, cada frame durará 200 y su pulso será de 128.
Pulsa "Add" en la lista de programas:
El segundo programa será un Tono 200, durará 25 frames, cada frame aumentará el tono en 5, cada frame durará 150 y su pulso será de 128.

Puedes probar a escuchar el efecto entero o sólo un bloque haciendo "clic" en la selección correspondiente o en los botones del menú.

Hacer "clic" en el botón "Add" de la lista de efectos. Es el turno de "Eat fruit". Los bloques serán los siguientes:
Tone 50,150,300,-5,128,0
Pause 5,500
Tone 25,100,200,10,128,0

Hacer "clic" en el botón "Add" de la lista de efectos para añadir "Eat Ghost". Debe quedar así:
Tone 50,350,100,25,128,0

Hacer "clic" en el botón "Add" de la lista de efectos para añadir "Death 1".
Selecciona "Sample" en la pestaña para definir el tipo de programa. Selecciona el slot vacío "0:empty" de la lista de samples.

Hacer "clic" en "Import WAV", después acciona "Open WAV" para buscar y seleccioner en los recursos de sonido ("sound resources") el archivo "deathFrame1.wav", desplaza la barra "Quality" hasta conseguir un tamaño de 1084 bytes aproximadamente (usa los cursores para más exactitud), hacer "clic" en "Select all" y cierra el cuadro de diálogo.

Acabamos de recoger en un banco de muestras de sonido la primera parte de la muerte de Pac-man.
Asegúrate de que Offset = 0 y Pitch = 10.

Hacer "clic" en el botón "Add" de la lista de efectos para añadir "Death 2".
Selecciona "Sample" en el tipo de programa. Selecciona el slot vacío "1:empty" de la lista de samples.

Hacer "clic" en "Import WAV", después acciona "Open WAV" para buscar y seleccioner en los recursos de sonido ("sound resources") el archivo "deathFrame2.wav", desplaza la barra "Quality" hasta conseguir un tamaño de 848 bytes aproximadamente (usa los cursores para más exactitud), hacer "clic" en "Select all" y cierra el cuadro de diálogo.

Hacer "clic" en el botón "Add" de la lista de efectos para añadir "Death 3".
Selecciona "Sample" en el tipo de programa. Selecciona el slot vacío "2:empty" de la lista de samples.

Hacer "clic" en "Import WAV", después acciona "Open WAV" para buscar y seleccioner en los recursos de sonido ("sound resources") el archivo "deathFrame3.wav", desplaza la barra "Quality" hasta conseguir un tamaño de 696 bytes aproximadamente (usa los cursores para más exactitud), hacer "clic" en "Select all" y cierra el cuadro de diálogo.

Esto lo podrías haber repetido en todos los efectos, para reproducir lo más fiel posible el efecto de Pac-man en la sala de juegos Arcade. Sin embargo has aprendido a crear tus propios efectos.

El último: "Score". Hacer "clic" en el botón "Add" de la lista de efectos para añadir "Score". Debe quedar así:
Tone 4,400,600,100,128,2

Guarda tu proyecto en la carpeta "beepfx" incluida en la carpeta "Tools".


Selecciona "Compile" del menú "File". Asegúrate de seleccionar los siguientes parámetros: Assembly e Include player code. Hacer "clic" en "Compile". Guarda el archivo ensamblador con el nombre FX.asm en el directorio "Sound" del Suit ZX.

Solo queda una cosa por hacer. Abre tu editor favorito para eliminar la primera línea del archivo FX.asm donde aparece "ORG xxxxx" para que todo funcione.

Guarda todos los cambios. Tenemos efectos especiales.

SOUND 101

La modificación Beeper consigue que SOUND 101 reproduzca el efecto 1 de la lista "Eat", sin embargo SOUND 1 reproduce la música 1 "Pac-man Theme". Ahora deberás comentar (añadir delante ";") todas las líneas donde tengas BEEP y des-comentar SOUND (100 + n) para escuchar tus nuevos efectos.

Por ejemplo en EVENT COLLECTBLOCK:

IF F = 0        ; solo si estamos jugando
    ;BEEP 16        ; FX Sonido "paku paku"
    SOUND 101       ; reproduce el efecto "Eat"
ENDIF

Otro ejemplo, EVENT SPRITETYPE2, en el que DELAY ahora no será necesario.
 
    IF K =1
IF F = 0
            ;BEEP 120
    ;DELAY 25    ; simulamos la duración del sonido
    SOUND 105 ; fx "Death 1" (efecto 5 de la lista)
ENDIF
    ENDIF
    IF K =2
IF F = 0
            ;BEEP 80
    ;DELAY 25    ; simulamos
    SOUND 106 ; fx "Death 2"
ENDIF
    ENDIF
    IF K =4
IF F = 0
    SOUND 107 ; fx "Death 3"
    ;BEEP 60
    ;DELAY 25    ; simulamos
ENDIF
    ENDIF

Es mejor comentar (añadir delante ";") que borrar DELAY Y BEEP, porque vamos a compilar dos versiones del juego, una con modificaciones Beeper y otra con modificaciones AY-3-8912, para lo que reutilizaremos el código.

Los nuevos comandos que ahora podemos usar son:

SOUND n        ; selecciona tema n = orden del tema musical.
SOUND 100+f    ; selecciona efecto f = orden de efecto en la lista.
SOUND 0        ; desactivar "loop" (bucle de reproducción infinito).
SOUND 36       ; monitor: si está sonando establece A=1, si no A=0.
SILENCE        ; apaga la música.
SOUND 96       ; reproduce la siguiente nota. 

Producción final

Sigue buscando tus "pitidos" y cámbialos por los nuevos "sonidos", sigue el orden de la lista que nos han brindado nuestros compañeros. Es otra forma de presentar el juego, un poco más fiel al antiguo Pac-man; pero no menosprecies la simplicidad y elegancia del viejo Beeper.

Te recomiendo el programa ZX-Paintbrush si quieres modificar la pantalla de presentación screen.scr que está en la carpeta Tapes del Suite ZX.

En todo caso enhorabuena. Tu juego se encuentra en el Suite ZX. Puedes presumir con tus viejos amigos o enseñárselo a tus familiares más jóvenes en tu portátil, en el móvil o en formato "casete" justo delante de la tele.

¡Disfrútalo! te lo mereces.

"El equipo al completo, familia y amigos, se reúnen para dar una fiesta después del estreno de Pac-man. Hay una DJ en la sala con un montón de aparatos mezclando batería acústica con sonidos envolventes, ecos, y otras cosas que nunca había escuchado hasta este momento. No te crees que Pac-man pueda reproducir algo así cuando te confiesan que lleva uno de esos instrumentos de sonido".


Comentarios

Entradas populares de este blog

El laberinto