Desenvolvimento

20 abr, 2017

Utilização de Middlewares de áudio no desenvolvimento de jogos

Publicidade

O desenvolvimento de jogos digitais está em alta no mundo todo. As engines e os softwares de desenvolvimento têm se aprimorado a uma velocidade impressionante, possibilitando o desenvolvimento de jogos mais complexos e polidos de maneira mais otimizada e a um custo acessível.

Essa evolução também aconteceu na integração do áudio aos jogos. Hoje temos algumas Middlewares de áudio que fornecem diversas ferramentas para otimizar o processo de implementação do som dentro da engine via script, sem a necessidade da criação de sistemas complexos, pois eles já estão dentro da arquitetura do pacote fornecido pela Middleware que será integrada. Vou descrever abaixo algumas das vantagens e possibilidades da utilização de Middlewares de áudio no desenvolvimento de jogos.

Vamos utilizar como exemplo o FMOD Studio, uma das Middlewares mais conhecidas do mercado.
Processo resumido de Integração da Middleware FMOD Studio com a engine:

Engine > Integration Package > API (Studio ou Low Level) > Authoring Tool > Build dos Bancos de Áudio > Implementação > Build do jogo

O primeiro passo é importarmos ter o Integration Package para dentro do projeto do jogo em alguma engine de desenvolvimento compatível, como Unity, UE4 entre outras.

No caso, o FMOD Studio disponibiliza duas APIs.

A Studio API é um pouco mais simplificada para fazer as chamadas dos eventos criados dentro do FMOD Studio Tool; já a Lowlevel API fornece controles mais avançados para os eventos de áudio, e é recomendada para a criação de projetos mais complexos, que necessitam de mecânicas especiais.

Após fazer a integração inicial da Middleware com a engine, partimos para as configurações básicas do projeto e apontamos o path dos bancos de áudio que serão gerados dentro do FMOD Studio Authoring Tool.

É aqui que a mágica acontece: o próprio Sound Designer poderá ter controle sobre a lógica e a mecânica dos eventos de áudio, e os programadores precisarão se preocupar apenas com as chamadas dos eventos.

Imagine que temos um jogo com um personagem principal que vai pisar em diversos terrenos diferentes, e cada terreno vai ter seu próprio som de footstep: areia, madeira, grama, pedra etc.

No FMOD Authoring Tool, o Sound Designer vai criar um evento de áudio apenas com um parâmetro chamado “terrain”, e cada valor desse parâmetro vai ser responsável pelo trigger dos sons de seu respectivo terreno. Imagine que cada terreno tenha diversos samples para o footstep. O FMOD será responsável por randomizar esses samples, além de poder randomizar o pitch, volume, entre outros aspectos que estão nativamente disponíveis na Middleware, e o programador precisará apenas dar play no evento de áudio no momento certo e “mostrar” para o FMOD qual o valor do parâmetro “terrain”, ou qual é o terreno em que o personagem está pisando. Todas as “randomizações”, volume e quaisquer parâmetros nativos estarão sob o controle do Sound Designer. Claro que isso é apenas um exemplo de uma mecânica de áudio simples, porém, em termos de script, teremos economizado muitas linhas de código e tempo, o que é muito importante no desenvolvimento.

Após o Sound Designer elaborar toda a mecânica dentro do FMOD, basta fazer a Build dos bancos de áudio, e todos os eventos criados estarão disponíveis para que o programador possa fazer as chamadas.

Principais vantagens da utilização das Middlewares de áudio

1 – Otimização do processo de implementação: para mim, uma das vantagens mais importantes. Utilizando a Middleware, economizamos tempo de programação, além de termos um script muito mais otimizado.

2 – Todos os controles de áudio e mecânicas de áudio são de fácil acesso e userfriendly para o Sound Designer. Isso é muito importante e reflete na qualidade final do áudio, pois o Sound Designer terá maior controle sobre volumes, randomizações, reverb e quaisquer modulações de áudio de maneira muito mais intuitiva e sem a necessidade de re-script. Até pouco tempo atrás, era muito comum ter que pedir para os próprios programadores criarem sistemas de randomização e probabilidade de disparo dos samples manualmente. Um simples ajuste de volume em muitos projetos era feito via script, o que tornava o processo menos intuitivo e menos otimizado para o profissional do áudio.

3 – As Middlewares em geral, especialmente o FMOD Studio, fornecem ferramentas essenciais para o desenvolvimento de áudio, tais como:

  • Criação de parâmetros internos que possibilitam a modulação dos sons, randomização de volume e pitch, randomização de samples, controle do tamanho do emissor de áudio, ou seja, a relação de volume entre o emitter e o listener;
  • Utilização de plugins de áudio de alta qualidade, como Reverbs, Compressores, Flanger, AudioMotors etc;
  • Ferramentas de desenvolvimento de áudio para VR como doppler, reverbs de convolução, processamento de HRTF e áudio binaural em tempo real;
  • Sound Occlusion (FMOD Feature) – Aplicação de filtros ao som em tempo real baseado em obstáculos entre o emissor e o ouvinte;
  • Profiler – Ferramenta otimizada para o debugging das chamadas de áudio, facilitando a otimização do uso de CPU, memória e detecção de irregularidades na implementação;
  • Possibilidade de criação de grupos de mixagem e alterações complexas de mixagem do jogo em tempo real. Por exemplo: quando o player pausa o jogo, podemos aumentar o volume da música, adicionar reverb à dublagem e desligar os efeitos sonoros aplicando um filtro de frequências – tudo isso com apenas uma chamada de áudio;
  • Live Update (FMOD Feature) – Possibilita a mixagem do jogo em tempo real conectado com a Build do jogo. Isso facilita e muito os ajustes finos de mixagem, o que é essencial para a qualidade final do áudio.

Saiba mais em http://fmod.org