Sons e ruidos em jogos
Uma breve introdução ao uso de sons em jogos

Meu primeiro contato com sons digitais e computadores foi no início da década de 80, quando o mercado era literalmente dominado pelas máquinas clones do Sinclair ZX 81. No Brasil eram conhecidos como TKzinhos.

Essas máquinas não possuíam recursos sonoros, mas como geravam audio para gravar os programas em fitas K7, estava aberta a porta para a experimentação e para novas descobertas.

Mais tarde, no tempo do TRS 80, os computadores tinham como componente standard um alto falante, para produzir os beeps e pings necessários para avisar ao usuário quando algo não ia muito bem. Os PCs (XTs e ATs) também usaram e abusaram desse sistema (até hoje ainda usam).

Foi no TRS 80 que ousei digitalizar pela primeira vez um som. Esses computadores, como o ZX 81, também tinham saída e entrada de audio para gravação de programas em fitas K7. Essas saídas estavam conectadas a uma porta I/O e, usando Assembler, podia-se ler/escrever nelas.

Basicamente o que se fazia era ficar lendo a porta, num determinado intervalo de tempo, registrando a presença ou não de corrente (0 ou 1). Só isso já dava para produzir uma gravação digital com alguma qualidade. Ouvir meu CP 500 velho de guerra dizer suas primeiras palavras foi um acontecimento e tanto.

Nesta época eu dirigia o CPD da revista Micro Sistemas e me lembro bem da gravação que fizemos, tranformada depois num arquivo .bat para ser executado assim que o computador fosse ligado pelo digitador, que adorava um joguinho. Estaria garantindo, com isso, as brincadeiras e gozações por uma semana inteira, afinal, um computador "falante" era uma tremenda novidade naqueles tempos.

Não se usavam sons deste tipo em jogos, pois dispendiam muito espaço de gravação. Os jogos faziam uso amplo de rotinas que produziam os mais diferentes tipos de beeps pelo alto falante. A rotina que faz isso é extremamente simples (veja acima uma rotina que faz isso no PC).

O tempo passou e surgiram as placas de sons e seus formatos de arquivos. O espaço de armazenamento aumentou e os jogos, assim como as imagens, evoluiram para o uso de coisas mais sofisticadas do que simples beeps pelo alto falante.

No final de 1994, quando estava trabalhando na versão SuperVGA do jogo Amazônia, tive meu primeiro contato com a edição de sons específicos para um jogo. Nada muito sofisticado. Precisava de sons de mala abrindo, porta batendo, vidro quebrando, tiros, urros etc.

Foi uma experiência e tanto, já que nesta época ainda não existiam em abundância, no mercado, os CDs de clip sons e bons editores de waves. Outro problema com os sons para os jogos é capturar exatamente o som que se necessita. É fácil fazer uma porta batendo, mas o urro de uma onça ou um tiro, são um pouco mais sofisticados. A maior parte dos sons que usei naquele jogo derivou de uma régua de aço batendo sobre uma mesa de madeira.

O som da mala abrindo, por exemplo, veio de uma dessas gravações, devidamente distorcida e duplicada (com uma pequena diferença entre o inicio de cada uma), para dar a idéia das duas fechaduras sendo acionadas.

Em termos de sonoplastia - uso de sons em jogos - temos a considerar três aspectos importantantes: sons e ruidos incidentes (a porta bantendo, o motor do carro, etc); sons de fundo (geralmente uma música, um eco, etc); as vozes e falas propriamente ditas.

Hoje em dia, todo o esforço despendido no aspecto sonoro dos jogos, visa uma reprodução a mais fiel possível da realidade. O que se pretende, além da qualidade, é estruturar de tal forma a sonoplastia que esta sirva como coadjuvante à narrativa do jogo.

Por falar em sons, jogos e realidade, não resisto à tentação de reproduzir um trecho de uma matéria, publicada na PC Zone de maio de 1997, sobre a visita de um grupo de repórteres às instalações da Sonalysts Inc, para cobrir o lançamento do jogo 688i Hunter Killer (um simulador de submarino nuclear).

Quem assina a matéria é Duncan MacDonald e na equipe de jornalistas, de várias partes do mundo, ele destaca a presença de um alemão, apelidado de Herman, the nightmare German. O assunto gira em torno de como as empresas gostam de alardear seus fantásticos gastos na obtenção "do melhor possível", transformando este marqueting no destaque principal do jogo.

A resident drug-crazed muso talked us through the piece: "A lot of the sounds in the music track are, like, from de real thing, man. We spent like three days at sea recording, well, like everything. Hear that sonar ping, yeah? Real! And that propeller wash? Real!"

"Was that the real sound a torpedo makes when it hits a ship, then?" asked Herman, the nightmare German, keenly.

"No," replied the muso. "That was a syn-drum solo." Doh!

 

Sons, jogos & rock'n'roll

Criar sons para nossos jogos, notadamente os sons para efeitos de sonoplastia, não é um bicho de sete cabeças. Podemos literalmente partir de qualquer ponto e usar coisas que já existem. Vamos ilustrar neste artigo duas coisas: como usar uma biblioteca de sons, do pacote de programação chamado DGC (Delphi Games Creator), que suporta o uso do Direct-X, e como "criar" um som específico.

A grande vantagem de usar o Direct-X é podermos usufruir do multiplayer, ou seja, um som não precisa ter sido tocado para que outro seja inicializado. O Direct-X se encarrega de mixar os dois (ou mais) sons - isso o TMediaPlayer não faz. Tal característica é de suma importância nos jogos de ação, onde os sons devem se misturar constantemente.

No DGC não usamos os sons a partir de arquivos independentes, mas sim de bibliotecas que devem ser montadas com um editor que vem junto com o pacote. Para compreender melhor como o DGC usa os sons, basta carregar no Delphi o exemplo do diretório Demo11 (presente no pacote DGC).

Para caracterizar o uso da biblioteca e de um som novo, vamos implementar mais um instrumento no exemplo citado. Algo bem simples, partindo de uma gravação qualquer.

Digitalizamos a introdução de uma antiga música, pois nela tem um som metálico que iremos transformar num "instrumento".

Existem muitos programas de edição de waves na própria Internet (Tucows e afins), mas recomendamos o GoldWave. É facílimo de usar e possui (a versão registrada, é claro) uma gama muito variada de efeitos.

Pelo gráfico do WAV dá para perceber que apenas nos interessa um pequeno som, logo no início da música. Com a ferramenta de corte, eliminados todo o resto.

A partir deste pequeno pedaço (sample) podemos criar alterações à vontade. Mudamos um pouco a frequência, aumentamos o volume de execução, passamos por um filtro de ruídos e adicionamos um pouquinho de efeito Doppler. A onda final aparece a seguir.

Rodamos o Sound Library Editor, que acompanha o pacote do DGC. Ao carregar para edição a biblioteca do exemplo 11, teremos a lista dos instrumentos já presentes. Basta adicionar o nosso som, que chamamos de SOM.WAV e salvar a biblioteca.

Para trabalhar com uma biblioteca, no DGC, teremos que colocar em nosso programa dois componentes: o TDGCSoundLib (o botão com a wave) que é a biblioteca propriamente dita - ela será compilada e fará parte do arquivo .EXE; e o componente TDGCAudio, que será o responsável por "tocar" os sons da biblioteca.

No Delphi, carregamos o exemplo 11 (Funky Drummer) e duplicamos um dos botões. A programação que irá responder ao nosso novo instrumento é bem simples:

procedure TForm1.SpeedButton6Click(Sender: TObject);
begin
  DGCAudio1.Sound[5].Replay;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    's': DGCAudio1.Sound[0].Replay;
    'c': DGCAudio1.Sound[1].Replay;
    'h': DGCAudio1.Sound[2].Replay;
    'p': DGCAudio1.Sound[3].Replay;
    'b': DGCAudio1.Sound[4].Replay;
    'r': DGCAudio1.Sound[5].Replay;          
  end;
end;

Pronto. Dispomos agora de um "Roll", ou seja, um novo instrumento baseado num pedaço de som que já existia. Isso vale para tiros, coisas quebrando, palavras, vozes, etc, etc, etc. Qualquer coisa pode ser transformada em um novo instrumento ou ser usada como um efeito sonoro especial, como clicks de teclado, portas abrindo, bips, blimps e clamps.

Clique nos links abaixo e pegue o demo11 do DGC (modificado) para ver como ficou o novo instrumento e para baixar o trecho completo da música digitalizada e tentar reproduzir a mesma operação.


Download...
Clique nos links para fazer os downloads dos arquivos. Se sua assinatura está para terminar, clique aqui e saiba como renová-la.

Demo DGC modificado
Trecho da música
 
online