Domanda

Sto lavorando con un team che sta costruendo un motore per una varietà di minigiochi 2D e infine 3D.Il problema che stiamo affrontando è un'API solida, multipiattaforma e solida.Ovviamente, DirectX è fuori discussione a causa delle nostre esigenze di funzionalità multipiattaforma.SDL è carino e funziona alla grande, ma ammettiamolo, SDL_Mixer è un po' limitato in ciò che può fare.Attualmente lo stiamo utilizzando, ma quando eventualmente lo espanderemo al 3D, sarà un problema.

Ho giocato con OpenAL, ma la maggior parte della documentazione che ho trovato è piuttosto obsoleta e non sembra funzionare molto bene.Sono disposto a imparare OpenAL e a lottare per superarlo, ma vorrei essere un po' più certo di non perdere tempo.A parte i tutorial di DevMaster, però, non ho visto molta documentazione che mi abbia lasciato senza parole.Se qualcuno avesse del materiale migliore di quello che ho trovato, sarebbe fantastico.

Ho visto anche progetti come FMOD, che sembra decente nonostante la licenza.Tuttavia, come OpenAL, hanno una documentazione quasi inesistente.Certo, posso riversare il codice per dedurre le mie opzioni, ma sembra un po' una seccatura considerando che alla fine potrei pagarlo.

Comunque, pensieri, commenti, preoccupazioni?Molte grazie!

È stato utile?

Soluzione

(Nota:Ho esperienza con FMOD, BASS, OpenAL e DirectSound;e anche se elenco altre librerie di seguito, non le ho usate).

BASSO E FMOD sono entrambi buoni (e in realtà mi è piaciuta molto la documentazione di FMOD;perché diresti che è "inesistente"?).Ci sono anche Sistema audio Miles, In che senso, irrKlang e alcuni altri pacchetti middleware.

OpenAL è presumibilmente multipiattaforma e su ogni piattaforma ha le sue peculiarità.Non è nemmeno esattamente "aperto".E non sono sicuro di quale sia il futuro;sembra che si sia bloccato quando Creative l'ha preso in mano.Tuttavia, c'è uno sforzo recente per costruire l'implementazione da zero: OpenAL Soft.

Poi ci sono le API native della piattaforma, come DirectSound o XAudio2 per Windows, Core Audio per OS X, ALSA per Linux, API proprietarie per console ecc.Penso che utilizzare API native su ciascuna piattaforma abbia molto senso;lo astrai semplicemente sotto l'interfaccia comune di cui hai bisogno e hai implementazioni diverse su ciascuna piattaforma.Certo, è più faticoso che usare semplicemente OpenAL, ma OpenAL non è nemmeno disponibile su alcune piattaforme e presenta varie peculiarità su altre piattaforme che non puoi nemmeno risolvere (perché non c'è codice sorgente che puoi correggere).Concedere la licenza a una libreria commerciale come FMOD o Miles è un'opzione, nel senso che tutto questo lavoro dipendente dalla piattaforma è già stato svolto per te.

Stiamo utilizzando OpenAL al lavoro in questo momento, ma stiamo valutando la possibilità di abbandonarlo, perché semplicemente non va da nessuna parte e non possiamo risolvere i problemi.Pertanto, sebbene OpenAL sia facile da avviare, non ottiene il mio voto come una buona opzione.

Altri suggerimenti

Ho utilizzato DirectX, FMOD e Wwise su una vasta gamma di piattaforme nei giochi spediti.Non parlerò di DirectX qui perché altre persone avranno molti feedback qui ;-)

Ecco cosa devi considerare:

  • Licenza, lo metto per primo perché questo potrebbe decidere per te.Chiedi al tuo avvocato di esaminarli e assicurati di comprendere i costi e le restrizioni.

  • API: FMOD ha un'API molto pulita e minimale, molto facile da capire.Wwise offre qualcosa in più in termini di funzionalità, ma la sua API sembra molto più grande e ingombrante con concetti scomodi su cui orientarsi.

  • Strumenti: Wwise dispone di strumenti molto sofisticati, orientati maggiormente ai progettisti audio piuttosto che ai programmatori, se vuoi dare ai progettisti audio molto controllo diretto e spazio per la sperimentazione, Wwise potrebbe essere la strada da percorrere.FMOD sta recuperando terreno nel reparto strumenti, ma credo che i suoi strumenti siano più orientati ai programmatori.

  • Prestazioni: questo è qualcosa che dovrai valutare da solo, non puoi dire che uno sia migliore dell'altro perché dipende dalla tua piattaforma e dal tipo di gioco.Potresti ricevere statistiche sulle prestazioni: prendile con le pinze, potrebbero essere idealizzate in qualche modo.Determina il tuo budget prestazionale (ad esempio 2 ms per fotogramma per l'audio, numero X di canali, numero X di flussi) ed esegui una serie di test per diversi formati audio, frequenze di campionamento e profondità di bit: rappresenta graficamente questi idioti.

  • Supporto: sia FMOD che Wwise hanno ottimi canali di supporto e bravi tecnici.Controlla se il supporto costa di più.

Se mi stai chiedendo di sceglierne uno...FMOD: è davvero un ottimo prodotto, quei ragazzi fanno un ottimo lavoro.

Recentemente ho lavorato su un titolo PC AAA che utilizzava FMOD.Il nostro programmatore audio lo ha adorato ed è stato molto produttivo, quindi darei un pollice in su a FMOD.Abbiamo utilizzato FMOD solo su Windows, quindi non posso assolutamente parlare degli aspetti multipiattaforma.

La libreria Bass funziona su Mac e Windows e dispone di una buona documentazione ed esempi di SDK:

http://www.un4seen.com/

Ho spedito due giochi per PC utilizzando Miles Sound System e ha funzionato abbastanza bene.MSS è facile da integrare, veloce e stabile.Il supporto che ricevi da RAD Game Tools è eccellente.Questa libreria è stata utilizzata in oltre 4500 giochi e di conseguenza è solida come una roccia.È anche economico!

D'altra parte, MSS è una libreria di livello piuttosto basso rispetto a FMOD o WWise.La libreria non fornisce al progettista del suono alcun modo per avere controllo sui volumi del suono, sull'attenuazione, sulla randomizzazione, sullo sbiadimento o su qualsiasi altra cosa che non sia memorizzata nel file audio stesso.Dovrai scrivere tu stesso queste funzionalità di alto livello.

Ecco perché sto valutando WWise per il mio prossimo gioco.Ha un set di strumenti molto più sviluppato di Miles.Ci è voluto più tempo per essere operativo, ma finora funziona bene.Non sono abbastanza avanti nell'usarlo per offrire davvero una raccomandazione in un modo o nell'altro.

Wwise è probabilmente la soluzione più completa per lo sviluppo del suono in termini di flusso di lavoro.Il modo in cui è progettato ti fa davvero risparmiare tempo di programmazione e ti dà più possibilità di sperimentare e costruire strutture sonore complesse.Con Wwise siamo riusciti a mantenere il progetto organizzato per il nostro team.

Personalmente mi piace molto il loro sistema musicale interattivo.È flessibile e fa sì che la tua musica reagisca agevolmente agli input del tuo gioco.

Inoltre, anche il supporto di Audiocinetica è molto nitido.Sempre veloce e pronto ad aiutare.

Raccomando.

Posso garantire anche per FMOD, è ampiamente utilizzato nello sviluppo di giochi grazie agli strumenti e all'eccellente supporto multipiattaforma.È davvero un piacere lavorare con i suoi designer.Il fatto è che richiede una licenza costosa per lo sviluppo commerciale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top