Sonido Procedimental: El futuro del audio en los videojuegos

A medida que avanza la tecnología, los videojuegos tienden a ser más complejos y a necesitar más cantidades de sonidos.  Según Andy Farnell [1], ya es una realidad que los desarrolladores de juegos de consola triple-A, se están quedando cortos en cuanto a tiempo de producción para crear e implementar los sonidos necesarios que cubran los vastos universos de los juegos. Fuera de esto, los problemas de espacio de disco y de RAM siguen siendo el día a día de todos quienes hacen juegos para web y dispositivos móviles.  La buena noticia es que el sonido procedimental (en inglés procedural audio) y sus variantes (como el sonido algorítmico, el generativo y el estocástico, entre otros) parecen ofrecer alternativas más eficientes a las técnicas exhaustivas y limitadas que se emplean actualmente.

Para ilustrar un poco de qué se trata todo esto, quiero primero mencionar a .kkrieger [3].  Se trata de un juego shooter en primera persona creado en los años 2002-2004 por el grupo alemán .Theprodukkt. El tamaño del juego entero es de 96 kilobytes, incluidos los gráficos, el sonido y la música. Todo fue creado por medio de algoritmos basados en modelados físicos y en otras técnicas procedimentales. OK, hay que admitirlo: el sonido no es el mejor… pero hey… ¡96KILOBYTES!…y estamos hablando de kilos… y ¡todo incluído!

Si se puede desarrollar un juego como .kkrieger con tan sólo 96K, ¿se imaginan lo que se podría lograr utilizando estos métodos, con 500Kb, 8MB, o 64MB (destinados solo para audio)? Bueno, habiendo dicho esto, veamos más a fondo de qué se trata.

¿Qué es el sonido procedimental?

Según Andy Farnell, especialista en audio digital y síntesis, el sonido procedimental es “sonido no-lineal, generado en tiempo real, que sigue ciertas reglas algorítmicas. El sonido varía cada vez que se juega y no requiere almacenamiento de datos” [1].

Existen dos enfoques del audio procedimental, que son el “Top Down” (descendente) y el “Bottom Up” (ascendente). El enfoque descendente consiste en el análisis de muestras pre grabadas de sonido para luego, mediante el uso de diversos métodos de síntesis, reconstruir el sonido. Por otro lado, el enfoque ascendente se basa en el modelado físico de los objetos dentro del juego y así crear sonidos desde cero. Según Fournel (otro especialista en el tema)[2], esto permite que el sonido sea sumamente flexible y pueda reaccionar de acuerdo a las condiciones exactas del juego en un momento dado.

El sonido procedimental se puede utilizar para generar efectos sonoros, diálogos y música [2]. En contraste con los métodos convencionales de implementación de audio en los juegos, el sonido procedimental consiste en un proceso externo que crea el sonido, en lugar de una persona que lo compone con antelación, o de un jugador que va activando cambios en el sonido. Es decir, este tipo de sonido no es propiamente interactivo, sino adaptativo [1], y no se ve afectado por las acciones directas del jugador.

¿Cuáles son las ventajas del sonido procedimental?

• Mayor contenido de audio: Los sonidos pueden ser generados automáticamente en el juego, en tiempo real, para todas las posibles interacciones objeto a objeto, en lugar de registrar y procesar miles de archivos de audio que se almacenan en el disco.

• Mayor variedad: permite más variación en los juegos y mayor nivel de detalle dinámico gracias a los parámetros en tiempo real.

• Control: Se manejaría código en vez de administrar grandes cantidades de datos comprimidos en almacenamiento secundario como archivos wav, y tener que hacer referencia a cada archivo por medio de listas de eventos (event mapping).

• No requiere RAM (aunque sí requiere uso intensivo de CPU. Ver comentario al final del artículo).

• Altamente dinámico y flexible: El sonido está basado en el comportamiento y en la física de los objetos, y permite opciones flexibles en tiempo de ejecución.

Desventajas

La principal desventaja del sonido procedimental es que actualmente los diseñadores de audio no son programadores, e implementar esta técnica requiere de mucha ingeniería. Hasta el momento no se ha invertido lo suficiente en estos procesos, por lo cual, los intentos de audio procedimental aún no suenan realistas o a la altura de los sonidos pre grabados con la calidad a la que estamos acostumbrados a oír. Por estas razones, los desarrolladores temen que volver a la sonoridad MIDI defraudaría a los gammers, y no están dispuestos a sacrificar las ventas mientras evoluciona esta tecnología.

Además, hay quienes piensan que la implementación de estos métodos reemplazarían a los diseñadores de audio. Sin embargo, según Fournel, el uso de sonido procedimental liberaría al diseñador de audio de tener que crear y editar manualmente cada sonido, y en cambio, pasaría a liderar equipos de programadores y podría tener un control más artístico sobre los sonidos.

Screen shot 2013-04-25 at 14.07.13

Tabla de Andy Farnell: http://obiwannabe.co.uk/

La transición

Actualmente, el audio procedimental no puede introducirse en la industria, ya que no podría satisfacer las expectativas del público en cuanto a calidad de audio. La industria de los videojuegos ha estandarizado un proceso muy desarrollado en cuanto a creación de contenidos basado en sonidos muestreados, y hay una falta de educación con respecto a este tipo de alternativas. Antes de que el enfoque ascendente se puede imponer en los juegos, los diseñadores de sonido y programadores deben ser capaces de igualar la calidad  que hay disponible en la actualidad.  Por esta razón, tal vez el enfoque descendente no sería un cambio tan drástico y podría ser un primer paso hacia esta educación.

En próximos posts, veremos algunos juegos exitosos que emplean este tipo de técnicas y revisaremos algo del software para implementar estas alternativas.

Referencias

[1] Farnell, A (2007). An introduction to procedural audio and its application in computer games. Available from: http://obiwannabe.co.uk/html/papers/proc-audio/

[2] Fournel, Nicolas. (2010). What is Procedural Audio?. Available from: http://www.gdcvault.com/play/1012704/Procedural-Audio-for-Video-Games También en: http://bit.ly/OOtysy

[3] Interview: Frugal Fragging with .kkrieger http://www.gamasutra.com/view/feature/2277/interview_frugal_fragging_with_.php

Etiquetado , , , , ,

3 pensamientos en “Sonido Procedimental: El futuro del audio en los videojuegos

  1. Estoy copiando acá una conversación que surgió en la “Comunidad de desarrolladores de Videojuegos” en Facebook acerca del artículo:

    Comentario de “Alejandro”:
    “Un detalle, en los pros, pones que no utiliza ram este tipo de manejo de audio, pero es muy probable que en la etapa de carga se generen muchos assets de sonido (o se haga un preprosesamiento) para optimizar. Por ejemplo si bien el juego pesa 96k, en ejecución ocupa 336 MB.Con respecto al sonido procedimental, es interesante. Siempre me llamo la atención que no haya juegos que utilicen esta técnica posta, no en el sentido de sintetizadores o algoritmos de compresión (que sería la técnica del enfoque descendiente), sino en el sentido de utilizar el modelado físico de los objetos. Es muy probable que la razón sea que el ratio costo/beneficios de crear estos modelos y ejecutarlos en real time, termine perdiendo ante utilizar sonidos grabados.”

    Comentario de “GameAudioStuff”:
    Resulta que la reproducción de sonidos pre-grabados tiene un costo fijo. Es decir, no importa qué tipo de sonido es, siempre va a requerir el mismo procesamiento. El sonido procedimental, en cambio, tiene un costo variable. Entre más complejo es el sonido, más capacidad se necesita. Entonces qué pasa? Si el juego tiene pocos sonidos, termina siendo mejor el método de sonidos pre grabados…sin embargo, a medida que el número de sonidos crece, el costo fijo de muestras comienza a acumularse y a ser un problema. Según Andy Farnell, algunos sonidos procedimentales son muy difíciles de crear, como por ejemplo los motores, mientras que algunos son muy fáciles de producir, como los sonidos de viento o de fuego. Debido a esto, llega un punto en que el sonido procedimental comienza a superar al método de almacenamiento de datos.

  2. Acá dejo otro comentario que escribió Diego Bocanegra en el grupo CAREERS IN GAMES de LinkedIn, que me parece muy útil:

    Diego Bocanegra

    • Buen artículo! Hoy precisamente en también designingsound.org salió un artículo sobre sonido procedimental haciendo uso de Supercollider. Aquí está http://designingsound.org/2013/04/a-quick-introduction-to-supercollider/

    Dentro del artículo había un link a este wiki en el cual están los patches de Andy Farnell traducidos de PureData a Supercollider. Ideal para el que le guste más el código que el estilo de programación gráfica propio de PD/Max.

    http://en.wikibooks.org/wiki/Designing_Sound_in_SuperCollider

    • Diego Bocanegra dice:

      Para complementar un poco más ese último comentario (perdón he estado comentando en facebook y LinkedIn pero tal vez sea mejor hacerlo directamente aquí). Hay una implementación que permite enviar mensajes de OSC a desde UDK a través de UDP, lo cual permite hacer uso de una gran cantidad de parámetros que se originan en el game engine y que podrían permitir crear, controlar y modelar sonidos desde herramientas tales como Max/MSP, pureData, Supercollider, etc. El autor del artículo de designingsound.org tiene algunos ejemplos en sus canales de vimeo y youtube que vale la pena chequear. Ahí se los dejo.
      http://vimeo.com/gatheral
      http://www.youtube.com/user/gazwg/videos?flow=grid&view=0

      Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: