Atualmente, estou procurando adicionar som ao meu jogo. Eu vi o OpenAL e o SDL, mas gostaria de saber o que mais existe por aí. Você pode recomendar boas APIs de áudio entre plataformas para o desenvolvimento de jogos?
"bom" é subjetivo. Ajudaria se você tivesse alguns requisitos específicos para que as respostas possam ser um pouco mais voltadas para suas necessidades específicas.
Eu sou um grande fã da Biblioteca SFML. Ele fornece recursos gráficos e de rede adicionais, mas o que é relevante para essa questão é que ele também possui um pacote de áudio limpo.
Os recursos de áudio são:
Usa aceleração de hardware sempre que possível
Pode carregar e salvar formatos de som padrão: ogg, wav, flac, aiff, au, raw, paf, svx, nist, voc, ircam, w64, mat4, mat5 pvf, htk, sds, avr, sd2, caf, wve, mpc2k , rf64
Pode carregar todos os recursos de áudio diretamente de arquivos na memória
Espacialização do som 3D
Interface fácil para capturar áudio
Gerencia a memória com eficiência, para que você não precise se preocupar com a vida útil ou o armazenamento dos recursos
Suporta streaming para arquivos grandes; você pode até escrever sua classe de streaming personalizada para qualquer fonte (rede, ...)
Obrigado pelo seu feedback! Eu procurei no Game Development por questões existentes desse tipo, mas não no Stack Overflow.
reverbb
Aparentemente, você não pode votar para encerrar com uma referência a uma postagem em outro site do SE, portanto, aprovar esta resposta é provavelmente o melhor resultado possível para a pergunta.
3
E, independentemente disso, não precisa necessariamente ser fechado. Algumas pessoas podem apoiar a escolha do FMOD da Tetrad, por exemplo, que não foi mencionado na pergunta SO. Eu apenas fiz a pergunta para desenvolver, não para sugerir que é uma duplicata exata, já que o público de desenvolvimento de jogos não é uma duplicata exata do público de SO. :)
Ricket 11/09/10
Discordo; deve ser fechado e redirecionado para a pergunta SO. Caso contrário, dividimos as respostas futuras entre dois lugares. E é exatamente a mesma pergunta - isso é "Cross-plataforma de áudio API Sugestões [para o desenvolvimento do jogo]', eo outro é 'Cross-plataforma sólida API para jogos'?
2
Estamos recebendo a resposta do desenvolvedor do jogo aqui (que, nesse caso, é a mesma). Ninguém veio a este site para obter respostas sobre o Stack Overflow; queria opiniões de profissionais especificamente interessados em apoiar uma comunidade de desenvolvedores de jogos. Se eles são iguais, que assim seja, porque isso certamente nem sempre será o caso, e é parte do motivo pelo qual este site é útil. Consulte meta.gamedev.stackexchange.com/questions/3/… para obter mais explicações.
Christopher Horenstein
10
O tipo de API de fato para implementação de som nos jogos nos dias de hoje é o FMOD .
É gratuito para usos não comerciais e relativamente barato para o desenvolvimento "casual" (leia-se: indie).
É um pouco exagerado o simples requisito "reproduzir esse som", mas fornece um conjunto enorme de recursos que é bem testado em todos os tipos de plataformas.
Re: "É um pouco exagerado o simples" reproduzir esse som "requisito" - acho que já é hora de os desenvolvedores irem além de apenas "reproduzir esse som"! Poucas pessoas se contentam com uma API gráfica que permite apenas sprites 2D e acho que precisamos começar a exigir mais do nosso áudio também.
Kylotan
11
Infelizmente, o FMOD é muito problemático e os desenvolvedores demoram a responder aos problemas. Para um simples "tocar esse som", tudo bem, mas uma vez que você realmente o usa, as deficiências começam a aparecer.
traço-tom-bang
Além disso, quando dizem multiplataforma, eles realmente querem dizer isso. A única coisa que sei disso acontece em mais lugares é a Unity.
Codificador1
Eu usei o FMod em vários projetos do iPhone e não o achei particularmente problemático desde que me mantivesse na API de baixo nível. FMod Designer, claro, é um animal diferente. Eu também achei os fóruns muito bons e a equipe de lá foi muito favorável. Ouvi dizer que as versões de console do FMod são menos estáveis (e muito mais caras) do que PC / Mac / iPhone, mas não têm experiência com elas.
Eu realmente gosto do OpenAL como uma biblioteca de áudio multiplataforma. A API é um nível um pouco baixo, mas você pode facilmente envolvê-la em uma interface mais agradável do mecanismo. É verdadeiramente multiplataforma, com suporte de primeira classe para: iPhone, Android, MacOSX, Windows e Linux.
Veja o código de som do Djinn Engine . Dois arquivos, talvez 300 linhas entre eles (contando comentários, etc.) e você tem um sistema de som viável.
Como nunca desenvolvi um jogo centrado em áudio, o OpenAL pode não ser o ideal se for necessário controle extremo.
Se o FMOD não é uma opção, o Audiere é uma boa alternativa de código aberto. Não é atualizado há muito tempo, mas é multiplataforma, fácil de usar e possui um bom conjunto de recursos .
Além do FMOD, existe o Audiokinetic Wwise , que é cada vez mais usado na indústria de jogos como uma ferramenta profissional de design de som e plataforma multiplataforma. Possui uma grande variedade de efeitos (incluindo reverb de convolução), sistema de lógica de som complexo, camadas de som, criação de perfil, ferramentas de música interativa, etc ... Fornece uma boa seleção de algoritmos de decodificação e também é gratuito para projetos não comerciais.
Como você está curioso sobre outras coisas por aí, ainda não vejo nenhuma menção a Miles aqui. Eu não o usei (embora tenhamos usado muitos anos atrás em um jogo), no entanto, esses jogos o usam.
Respostas:
Pergunta do Stack Overflow: "API de som de plataforma cruzada para jogos?"
Eu concordo com a resposta aceita:
fonte
O tipo de API de fato para implementação de som nos jogos nos dias de hoje é o FMOD .
É gratuito para usos não comerciais e relativamente barato para o desenvolvimento "casual" (leia-se: indie).
É um pouco exagerado o simples requisito "reproduzir esse som", mas fornece um conjunto enorme de recursos que é bem testado em todos os tipos de plataformas.
fonte
OpenAL
Eu realmente gosto do OpenAL como uma biblioteca de áudio multiplataforma. A API é um nível um pouco baixo, mas você pode facilmente envolvê-la em uma interface mais agradável do mecanismo. É verdadeiramente multiplataforma, com suporte de primeira classe para: iPhone, Android, MacOSX, Windows e Linux.
Veja o código de som do Djinn Engine . Dois arquivos, talvez 300 linhas entre eles (contando comentários, etc.) e você tem um sistema de som viável.
Como nunca desenvolvi um jogo centrado em áudio, o OpenAL pode não ser o ideal se for necessário controle extremo.
fonte
Se o FMOD não é uma opção, o Audiere é uma boa alternativa de código aberto. Não é atualizado há muito tempo, mas é multiplataforma, fácil de usar e possui um bom conjunto de recursos .
fonte
Além do FMOD, existe o Audiokinetic Wwise , que é cada vez mais usado na indústria de jogos como uma ferramenta profissional de design de som e plataforma multiplataforma. Possui uma grande variedade de efeitos (incluindo reverb de convolução), sistema de lógica de som complexo, camadas de som, criação de perfil, ferramentas de música interativa, etc ... Fornece uma boa seleção de algoritmos de decodificação e também é gratuito para projetos não comerciais.
fonte
O mecanismo Kowalski é uma biblioteca de áudio multiplataforma orientada a dados, liberada sob a licença zlib.
fonte
Como você está curioso sobre outras coisas por aí, ainda não vejo nenhuma menção a Miles aqui. Eu não o usei (embora tenhamos usado muitos anos atrás em um jogo), no entanto, esses jogos o usam.
fonte
libsoundio é de baixo nível, mas é multiplataforma e se concentra na robustez. É uma camada mínima entre o seu jogo e o back-end de áudio do sistema.
fonte