Come devo attenuare il suono in un gioco 2D in cui è possibile ingrandire o ridurre?


8

Nel mio gioco 2D, ho alcuni suoni ambientali come il rumore di una cascata o il ronzio di un generatore. Tuttavia, non è pratico suonare questi suoni tutto il tempo a tutto volume, poiché a un livello elevato la sovrapposizione di molti di questi rumori sarebbe piuttosto spiacevole per l'orecchio.

Attualmente sto pensando a un sistema che modula il volume di alcuni suoni in base alla loro distanza dal lettore. Tuttavia, questa non è in parte un'ottima soluzione poiché (ad esempio) in uno stato ingrandito il lettore potrebbe essere abbastanza lontano dalla sorgente sonora (come una caduta d'acqua) ma essere comunque in grado di vederlo sullo schermo ma non di ascoltarlo (a causa alla distanza) che è piuttosto imbarazzante.

C'è una soluzione per un tale problema?


3
Le "migliori pratiche" sono troppo ampie, ma sembra che il nocciolo della tua domanda sia lo zoom, che è più responsabile e interessante. Quindi ho rimosso il bit "best practice".

Risposte:


8

Penso che tu sia sulla buona strada. Il sistema proposto di attenuazione basato sulla distanza dovrebbe funzionare se lo desideri

  • usa sempre la distanza in gioco dall'oggetto dal giocatore, che rimane fissa indipendentemente dal livello di zoom (non usare la distanza "sullo schermo", che cambia mentre ingrandisci) e

  • imposta il tuo sistema di attenuazione per iniziare a riprodurre i suoni di un oggetto non appena la sua distanza dal giocatore nel mondo è tale che l'oggetto sarebbe quasi visibile al giocatore al massimo livello di zoom.

In questo modo i giocatori possono ascoltare le cose prima di vederle, il che conferisce un senso di realismo e scoperta. Inoltre impedisce la maggior parte degli scenari di riproduzione di troppi suoni ambientali.

Naturalmente, hai ancora il potenziale di sovraccaricare il canale del suono ambientale se ti capita di avere molti oggetti che emettono suono nello stesso punto del mondo. Questo può essere risolto da

  • progettare i tuoi livelli per non farlo, o, se ciò non è praticabile,

  • dare agli oggetti una priorità sonora e prendere solo gli noggetti con la priorità più alta, oppure

  • modulando il volume di tutti i suoni ambientali "dividendo (più o meno) per il numero di suoni nella scena", assicurandoti di sfumare uniformemente i suoni man mano che i loro oggetti si allontanano per evitare di "scoppiare" mentre saltare discretamente da cinque oggetti a quattro, ad esempio.

  • pre-calcolare, per un dato livello o l'intero gioco, il numero massimo di oggetti che possono essere nel raggio di azione e riprodurre suoni contemporaneamente (farlo come parte del processo di creazione dei dati di gioco o di livello). In base a ciò è possibile determinare la potenza di riproduzione di un oggetto in modo tale che il caso peggiore non superi mai un determinato volume.

Le ultime due opzioni affrontano il problema puramente dal punto di vista del volume, tuttavia - non tengono conto del fatto che anche se suoni 500 suoni di sottofondo abbastanza silenziosamente da non sopraffare i timpani di un giocatore, stai ancora suonando 500 suoni, che possono essere rumoroso non nel senso del volume ma nel senso confuso.

Per gestire questo problema, penso che sia meglio cercare di ridurre il numero totale di emettitori di ambienti o di prendere solo i nsuoni con la massima priorità (per riferimento, prendere il massimo nè più o meno ciò su cui ci siamo accordati per Guild Wars 2).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.