Produção de Áudio e Imagens 2D
Antes de abordar os engines propriamente ditos é importante destacar outros aspectos tecnológicos que são utilizados na produção de um jogo – áudio e imagens 2D. Para produção de áudio existem duas ferramentas comerciais bastante arrojadas e bem utilizadas profissionalmente – Cubase e o SoundForge [SON 05]. O Cubase é usado basicamente para mixagem de canais MIDI e o SoundForge é usado para produção de trilhas e efeitos sonoros. O SoundForge é comumente usado no cinema, na televisão e na produção de vinhetas para o rádio. O Audacity [AUD 05] é uma ferramenta livre que permite a criação de áudio, inclusive combinando diferentes canais de som, importando e exportando arquivos no formato WAV, MP3 e Ogg Vorbis. Entretanto não possui todos os recursos oferecidos pelo SoundForge.
No aspecto de áudio, a OpenAL desenvolvida pela Loki Software, trata-se de uma alternativa de implementação de som bastante interessante, pois a OpenAL permite adicionar som 3D, uma biblioteca estruturada na forma de uma máquina de estados que oferece um conjunto de primitivas de mais alto nível para manipulação de som. Para incrementar a imersividade é fundamental adicionar a percepção sonora no game, entretanto um mundo virtual pode possuir muitas fontes de som dificultando alguma pré-mixagem [TSI 04] e limitando a quantidade de sons ao máximo de canais de som disponíveis no sistema (em geral de 16 a 64 canais). Assim, o som 3D trata-se de um processo de “renderização” de áudio, ou seja, a produção de áudio em tempo de execução [TSI 04].
Os jogos 3D não são construídos somente com modelos tridimensionais, na produção de um jogo também é necessário compor imagens bidimensionais. Em geral, tais imagens serão usadas como texturas, mas também serão usadas para compor a interface gráfica ingame e outgame,tais como, botões, janelas, barras de energia e outros componentes gráficos.
Para produzir estas imagens existe uma série de ferramentas para editoração gráfica cujo Adobe Photoshop é um dos softwares mais tradicionais para desempenhar tal atividade. Outra ferramenta alternativa muito completa, mutilplataforma e livre é o GIMP (GNU Image Manipulation Program) [GIM 05]. Veja Figura 51.

O GIMP basicamente fornece as mesmas funcionalidades do Photoshop para efetuar tratamento de imagens. Oferece uma série de pincéis, permite trabalhar com inúmeras camadas, converte e salva em diferentes formatos de imagens (BMP,PNG,JPG,TIG,TGA,PCX,GIF, entre outros), uso de máscaras, oferece uma grande quantidade de filtros (gaussian, detecção de bordas, distorções, efeitos de luz, entre outros), suporte a macros e permite adicionar novas funcionalidades (filtros e formatos de arquivos) no programa através de plug-ins desenvolvidos em C usando libgimp. Também permite criar novas extensões usando uma linguagem de scripts Script-Fu, baseada em Scheme que equivale as macros. Além disso, permite salvar uma imagem como matrizes em arquivos de código em C, com extensão .c ou .h, que podem ser integrados em sua aplicação. Tal funcionalidade é bastante interessante, por exemplo, a OpenGL manipula diretamente matrizes com dados, desta forma criando gráficos no GIMP e depois exportando para C facilita a integração em aplicações que usam OpenGL.
As texturas são usadas para representar os materiais que compõem os modelos 3D. Tratam-se de um bitmap diferenciado que será replicado sob uma superfície com o objetivo de representar algum material, tais como metal, madeira, concreto, plástico, ou qualquer outro. Muitas texturas são produzidas fotografando-se o material e depois manipulando a imagem digitalmente. Tal procedimento aumenta o realismo das imagens compostas pela textura. Atualmente com a popularização das câmeras digitais facilitouse o trabalho de obtenção de materiais para criação dessas texturas mais realísticas.
A seguir será descrito como criar uma plug-in para produzir uma textura de madeira usando GIMP que poderá ser usada nos modelos 3D. O GIMP possui algumas texturas prontas. O GIMP permite criar macros usando Script-Fu, uma linguagem interpretada assemelhando-se a sintaxe do LISP. Os arquivos podem ser criados em qualquer editor de texto. Devem ser salvos no diretório scripts, localizado no diretório . gimp-X (sendo X a versão do GIMP) localizado no diretório do usuário, no caso dos sistemas Unix no diretório home.
Após o script ser registrado no GIMP a nova funcionalidade poderá ser usada em outros plug-ins. Além do editor gráfico esta capacidade de personalização torna o GIMP uma opção bastante interessante de ser usada no desenvolvimento de jogos, pois se o artista e o desenvolvedor desejam um determinado visual gráfico ao invés de se preocuparem na criação de uma ferramenta de edição gráfica, procuram criar um script que possa ser integrado na arquitetura do GIMP. Assim, o foco é para o efeito e não para estrutura de software complementar.
No aspecto de áudio, a OpenAL desenvolvida pela Loki Software, trata-se de uma alternativa de implementação de som bastante interessante, pois a OpenAL permite adicionar som 3D, uma biblioteca estruturada na forma de uma máquina de estados que oferece um conjunto de primitivas de mais alto nível para manipulação de som. Para incrementar a imersividade é fundamental adicionar a percepção sonora no game, entretanto um mundo virtual pode possuir muitas fontes de som dificultando alguma pré-mixagem [TSI 04] e limitando a quantidade de sons ao máximo de canais de som disponíveis no sistema (em geral de 16 a 64 canais). Assim, o som 3D trata-se de um processo de “renderização” de áudio, ou seja, a produção de áudio em tempo de execução [TSI 04].
Os jogos 3D não são construídos somente com modelos tridimensionais, na produção de um jogo também é necessário compor imagens bidimensionais. Em geral, tais imagens serão usadas como texturas, mas também serão usadas para compor a interface gráfica ingame e outgame,tais como, botões, janelas, barras de energia e outros componentes gráficos.
Para produzir estas imagens existe uma série de ferramentas para editoração gráfica cujo Adobe Photoshop é um dos softwares mais tradicionais para desempenhar tal atividade. Outra ferramenta alternativa muito completa, mutilplataforma e livre é o GIMP (GNU Image Manipulation Program) [GIM 05]. Veja Figura 51.

O GIMP basicamente fornece as mesmas funcionalidades do Photoshop para efetuar tratamento de imagens. Oferece uma série de pincéis, permite trabalhar com inúmeras camadas, converte e salva em diferentes formatos de imagens (BMP,PNG,JPG,TIG,TGA,PCX,GIF, entre outros), uso de máscaras, oferece uma grande quantidade de filtros (gaussian, detecção de bordas, distorções, efeitos de luz, entre outros), suporte a macros e permite adicionar novas funcionalidades (filtros e formatos de arquivos) no programa através de plug-ins desenvolvidos em C usando libgimp. Também permite criar novas extensões usando uma linguagem de scripts Script-Fu, baseada em Scheme que equivale as macros. Além disso, permite salvar uma imagem como matrizes em arquivos de código em C, com extensão .c ou .h, que podem ser integrados em sua aplicação. Tal funcionalidade é bastante interessante, por exemplo, a OpenGL manipula diretamente matrizes com dados, desta forma criando gráficos no GIMP e depois exportando para C facilita a integração em aplicações que usam OpenGL.
As texturas são usadas para representar os materiais que compõem os modelos 3D. Tratam-se de um bitmap diferenciado que será replicado sob uma superfície com o objetivo de representar algum material, tais como metal, madeira, concreto, plástico, ou qualquer outro. Muitas texturas são produzidas fotografando-se o material e depois manipulando a imagem digitalmente. Tal procedimento aumenta o realismo das imagens compostas pela textura. Atualmente com a popularização das câmeras digitais facilitouse o trabalho de obtenção de materiais para criação dessas texturas mais realísticas.
A seguir será descrito como criar uma plug-in para produzir uma textura de madeira usando GIMP que poderá ser usada nos modelos 3D. O GIMP possui algumas texturas prontas. O GIMP permite criar macros usando Script-Fu, uma linguagem interpretada assemelhando-se a sintaxe do LISP. Os arquivos podem ser criados em qualquer editor de texto. Devem ser salvos no diretório scripts, localizado no diretório . gimp-X (sendo X a versão do GIMP) localizado no diretório do usuário, no caso dos sistemas Unix no diretório home.
Após o script ser registrado no GIMP a nova funcionalidade poderá ser usada em outros plug-ins. Além do editor gráfico esta capacidade de personalização torna o GIMP uma opção bastante interessante de ser usada no desenvolvimento de jogos, pois se o artista e o desenvolvedor desejam um determinado visual gráfico ao invés de se preocuparem na criação de uma ferramenta de edição gráfica, procuram criar um script que possa ser integrado na arquitetura do GIMP. Assim, o foco é para o efeito e não para estrutura de software complementar.
Comentários
Postar um comentário