Pergunta

Eu estou trabalhando com uma equipe que está construindo um motor para uma variedade de 2D e eventualmente 3D mini-jogos. O problema que estamos enfrentando é um sólido, multi-plataforma, som API. Obviamente, DirectX está fora de questão devido às nossas necessidades de capacidades multi-plataforma. SDL é agradável, e funciona muito bem, mas vamos enfrentá-lo SDL_mixer é um pouco limitado no que pode fazer. No momento, estamos a usá-lo, mas quando eventualmente, expandir para o 3D, ele vai ser um problema.

Eu fui brincar com OpenAL, mas a maioria da documentação que eu encontrei é bastante fora da data, e não parece para trabalhar todos os grandes. Estou disposto a aprender OpenAL, e lutar contra o meu caminho através dela, mas eu gostaria de ser um pouco mais certo que eu não estou perdendo meu tempo. Além dos tutoriais DevMaster, porém, eu não vi muita documentação que está me surpreendido. Se alguém tem algum material melhor do que eu encontrei, que seria incrível.

Eu também vi projetos como o FMOD, o que parece decente, apesar do licenciamento. No entanto, como OpenAL, eles têm a documentação quase inexistente. Concedido, eu possa derramar sobre o código para deduzir as minhas opções, mas parece que um pouco de dor, considerando que eu possa vir a estar pagando por isso.

De qualquer forma, pensamentos, comentários, preocupações? Muito obrigado!

Foi útil?

Solução

(nota: Tenho experiência com FMOD, BASS, OpenAL e DirectSound; e enquanto eu listar outras bibliotecas abaixo, eu não usei-los).

BASS e FMOD são bons (e realmente gostei documentação do FMOD muito, por que você diz que é 'não existente'?). Há também Miles Sound System , Wwise , irrKlang e alguns pacotes mais de middleware.

OpenAL é supostamente de plataforma cruzada, e em cada plataforma que tem suas próprias peculiaridades. Não é exatamente "aberto", também. E eu não tenho certeza qual é o futuro para ele; parece que ele ficou preso quando criativa pegou ele. Há um recente esforço para construir a implementação de baixo para cima, no entanto:. OpenAL macia

Depois, há APIs plataforma nativa, como DirectSound ou XAudio2 para Windows, Core Audio para OS X, ALSA para Linux, APIs proprietárias para consoles etc. Acho que usando APIs nativas em cada plataforma faz muito sentido; você apenas abstrato-lo sob interface comum que você precisa, e têm diferentes implementações em cada plataforma. Claro, é mais trabalho do que apenas usando OpenAL, mas OpenAL nem sequer está disponível em algumas plataformas, e tem várias peculiaridades em outras plataformas que você não pode sequer correção (porque não há código fonte você pode corrigir). Licenciamento de uma biblioteca comercial como FMOD ou Miles é uma opção no sentido de que todo o trabalho dependente esta plataforma já é feito para você.

Estamos usando OpenAL no trabalho agora, mas está pensando em mudar para longe dele, porque ele simplesmente não vai a lugar nenhum e não podemos corrigir os caprichos. Assim, enquanto OpenAL é fácil de começar, ele não recebe o meu voto como uma boa opção.

Outras dicas

Eu tenho usado DirectX, FMOD e Wwise em uma variedade de plataformas de jogos embarcados. Eu não vou falar sobre DirectX aqui desde as outras pessoas vão ter a abundância de comentários aqui; -)

Aqui está o que você precisa considerar:

  • Licença, eu coloquei este primeiro porque isso pode fazer a sua decisão para você. Ter o seu movimento advogado sobre eles e certificar que você entendeu o custeio e restrições.

  • API - FMOD tem uma API muito limpo, mínimo que é muito fácil de Grokar. Wwise oferece um pouco mais em termos de funcionalidade, mas sua API parece muito maior e pesado com conceitos embaraçosas para obter a sua cabeça ao redor.

  • Ferramentas - Wwise tem ferramentas muito sofisticadas, voltado muito para a áudio-designers em vez de programadores, se você quiser dar os designers de áudio um monte de controle direto e espaço para a experimentação, Wwise pode ser o caminho a percorrer. FMOD é recuperar o atraso no departamento de ferramenta, mas suas ferramentas são mais voltados para os programadores que eu sinto.

  • Performance - Isso é algo que você precisa para avaliar por si mesmo, você não pode dizer qualquer um é melhor que o outro, pois depende de sua plataforma e tipo de jogo. Você pode obter estatísticas de desempenho cotados para você - tomar estas com um grão de sal, eles podem muito bem ser idealizada de alguma forma. Determinar o seu orçamento de desempenho (por exemplo, 2 ms por quadro de som, um número X de canais, um número X de córregos) e fazer um monte de testes para diferentes formatos de som, taxas de amostragem e profundidades de bits -. Gráfico esses otários

  • Suporte - Ambos FMOD e Wwise têm muito bons canais de suporte, mocinhos tecnologia. Verifique se o suporte custa embora extra.

Se você está me pedindo para escolher um .. FMOD -. É realmente um produto muito bom, esses caras fazem um ótimo trabalho

Eu tenho trabalhado recentemente em um título AAA PC que usou FMOD. Nosso programador de áudio adorou e foi muito produtivo com ele, então eu daria FMOD um polegar para cima. Nós só usamos FMOD no Windows, então não posso falar com os aspectos multi-plataforma de ele em tudo.

A biblioteca Baixo funciona em Mac e Windows, e tem boa documentação e exemplos do SDK:

http://www.un4seen.com/

Eu tenho enviado dois jogos de PC usando Miles Sound System e funcionou muito bem. MSS é fácil de integrar, rápido e estável. O apoio que você recebe de Ferramentas RAD jogo é excelente. Esta biblioteca foi utilizado em mais de 4500 jogos, e é sólida como resultado. É barato também!

Por outro lado, MSS é uma biblioteca bastante baixo nível comparado ao FMOD ou WWise. A biblioteca não fornece nenhuma maneira para que o designer de som para ter controle sobre volumes de som, atenuação, randomização, desvanecimento, ou apenas sobre qualquer outra coisa que não está armazenado no próprio arquivo de som. Você terá que escrever estas alto nível apresenta-se.

É por isso que estou avaliando WWise para o meu próximo jogo. Tem um conjunto de ferramentas muito mais desenvolvido do que Miles. Levou mais tempo para se levantar e correr, mas está funcionando bem até agora. Eu não sou quase o suficiente para usá-lo para realmente oferecem uma maneira recomendação um ou o outro.

Wwise é provavelmente a solução completa mais para o desenvolvimento de som em termos de fluxo de trabalho. A forma como ele é projetado realmente poupa-lhe o tempo de programação e dá-lhe mais possibilidades de experimentar e construir estruturas sonoras complexas. Com Wwise, fomos capazes de manter o projeto organizado para a nossa equipe.

Eu realmente, pessoalmente, como seu sistema de música interativa. É flexível e torna a sua música suavemente reagir a suas entradas de jogo.

Além disso, o apoio do Audiokinetic é muito forte também. Sempre rápido e pronto para ajudar.

Eu recomendo.

Eu posso garantir para FMOD bem, ele é usado extensivamente em um jogo de desenvolvimento bastante devido às ferramentas e excelente suporte multi-plataforma. É designers são realmente uma felicidade para trabalhar. Coisa é, porém, requer uma licença cara para o desenvolvimento comercial.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top