¿Cómo debo manejar el sonido en un juego de pantalla dividida?

10

En un juego multijugador de pantalla dividida, los eventos de sonido pueden ser escuchados por más de un jugador, y pueden sonar diferentes para cada jugador.

Por ejemplo, el jugador uno podría escuchar el sonido del automóvil que conducen filtrado de paso bajo. El jugador dos podría escuchar el sonido del motor desplazado doppler cuando el jugador uno pasa a gran velocidad. El jugador tres, observando desde la distancia, puede escuchar el sonido sin filtrar del motor a un volumen bajo.

En tal juego, el enfoque "obvio" es reproducir todos los sonidos a la vez. ¿Qué métodos puedo usar para mejorar esto, para evitar la sobrecarga de sonido / "cacofonía" mientras maximizo la inmersión para cada jugador?

Alistair Buxton
fuente
Usted presenta una solución "obvia" y luego una suposición de un posible problema con ella. Intente implementarlo y vea qué sucede.
Sean Middleditch
44
Fuera de mi cabeza, use la salida de 2 canales y reproduzca cada sonido en el canal en el costado del reproductor con un 50% de volumen.
d3dave
Si tiene acceso a una suscripción de GDC Vault, consulte esta charla sobre audio COOP en Splinter Cell Conviction: profundizan en este tema exactamente: gdcvault.com/play/1014779/Between-4-Ears-SPLINTER-CELL
DMGregory

Respuestas:

2

Tienes que hacer sacrificios, no puedes tener la misma inmersión cuando todos los jugadores no deben escuchar algunos sonidos. Algunos motores han incorporado soluciones a este problema ( ejemplo ) pero no pude encontrar ninguna información sobre cómo funciona.

Usa estéreo para separar el sonido

(idea de wiz3kid en los comentarios)

Si la pantalla está dividida en forma vertical, puede administrar los diferentes sonidos que se reproducirán del lado del reproductor adecuado. Se ha descrito aquí (caso de uso 1).

En este ejemplo, los sonidos son atenuados por -96dB en el otro lado, lo que equivale al silenciamiento. (Si mi cálculo es correcto, -96.3dB es como dividir entre 15 millones). Creo que no tiene que ser tan brutal. Si reproduce cada sonido principalmente en el lado del reproductor que se supone que debe escucharlos, los jugadores podrán distinguir un sonido proveniente de su mitad o no y aún habrá un poco de estéreo.

Esto funciona mejor cuando solo hay dos jugadores, pero en el caso de 4 jugadores, puede combinar los sonidos de los jugadores verticalmente para usar el mismo método.

Selecciona los sonidos reproducidos

Creo que el efecto de cacofonía proviene de los sonidos que son largos. En Mario Kart, por ejemplo, el volumen del sonido a la deriva es muy bajo en comparación con el sonido cuando se selecciona un elemento. El sonido del juego puede sonar desordenado, pero no es tanto teniendo en cuenta los sonidos que se reproducen. Pudo haber sido fácilmente imposible de escuchar.

Por lo tanto, la solución podría ser filtrar los sonidos largos o repetidos muy a menudo. Al atenuar el ruido general, los sonidos importantes serán más fáciles de distinguir. No creo que sea un problema para un jugador escuchar sonidos que no debe escuchar siempre y cuando pueda escuchar fácilmente los sonidos que son importantes para él.

Relativo al jugador más cercano

En este hilo , todos están de acuerdo en que los sonidos deben reproducirse una vez en total (no una vez para cada jugador) en relación con el jugador más afectado, el más cercano, por ejemplo.

El punto de vista de Tinus

Enlace.

No lo conozco, pero crea un complemento de unidad para manejar el audio de pantalla dividida. Explica el método que usaría en una de sus publicaciones. No sé si es un enfoque válido ya que no entiendo la mayor parte.

Primero elija el enfoque ingenuo, simplemente superponga las perspectivas de escucha y envíelas a la salida estéreo. Esto no funcionará para juegos auditivos intensos, pero también hay muchos juegos para los que esto debería estar bien.

Luego, introduzca herramientas adicionales con las que pueda controlar mejor la mezcla. Cómo usaría esto depende del juego que esté haciendo y de cómo cree que debería sonar, pero hay algunos patrones comunes posibles. De la parte superior de mi cabeza:

  • Efectos de compresor / limitador / cadena lateral en oyentes y salidas estéreo. Es bastante difícil evitar que los juegos de Unity audiblemente densos se corten, y mucho menos cuando agregas múltiples oyentes a la mezcla. Un compresor simple al final de la cadena de señal no sería una solución elegante para este problema, pero sería una solución rápida. Podría probar suerte implementando un componente Compressor usando OnAudioFilterRead, en realidad.

  • Audio de alto rango dinámico. Las entradas más recientes en la serie Battlefield usan esto con gran efecto. Una vez más, no es una bala mágica la que automáticamente cura tu mezcla. Pero el paradigma HDR parece una herramienta poderosa para ayudarlo a organizar mezclas densas y muy dinámicas. El sacrificio y la priorización se manejan con elegancia de esta manera, lo que sin duda también sería útil para las configuraciones de pantalla dividida. Advertencias: DICE usa software personalizado (no estoy seguro si FMOD podría ser procesado por esto), y las demandas de creación de recursos de audio se vuelven más pesadas.

  • Permita que los artistas de sonido prioricen los sonidos y tenga algún tipo de mezclador que gestione la prioridad del sonido entre los oyentes. Si el jugador 2 realmente necesita escuchar este cohete que está a punto de golpearlo, tal vez puedas esquivar el sonido del jugador 1.

Heckel
fuente