LocomoTech – Engine de Jogos

Como é bom estar mais uma semana aqui com vocês meus queridos! Sinto um prazer enorme em pode contribuir com as elucidações que faço nesta coluna, afinal de contas, acredito que conhecimento e valores são as únicas coisas genuinamente nossas, e o mais legal de tudo é que conhecimentos compartilhados aumenta ao invés de diminuir, como coisas palpáveis. Exatamente por isto tenho prazer em ter este bate papo sobre tecnologias com vocês.

Bom galera… o assunto de hoje está relacionado a algo que com certeza está entre as diversões favoritas de 100 entre 100 nerds, geeks ou afins: games. Você que se interessa por tecnologia e está lendo esta coluna, sem dúvida nenhuma já deve ter gastado altas somas de dinheiro comprando jogos, pagando mensalidades de servidores, ou até mesmo frequentando estabelecimentos como Lan House ou que locam consoles por hora. Sem contar a quantidade de tempo gasto jogando (confesso que já joguei WoW por 16 horas seguidas, hahahahaha).

Não importa se você prefere jogos de videogames ou computador ou que plataforma será usada para se divertir, você sempre se perguntará como estes jogos foram feitos. Logicamente você tem a plena noção de que um jogo não deixa de ser um programa como outro qualquer, sendo de computador ou de consoles (já que um console não deixa de ser um computador com componentes especializados em renderização gráfica), e assim sendo é composto de todas estrutura de qualquer programa: uma série de instruções que são lidas, interpretada e executadas. A única diferença entre um programa comum de computador, como o word por exemplo, é que games tem uma estrutura gráfica dinâmica exigindo processadores e memórias especializadas em vídeo. (Engine de Jogos)

engines-de-jogos-1

Basicamente para programar é necessário um IDE (sigla de Integrated Development Environment ou Ambiente de Desenvolvimento Integrado, no português), que nada mais é que um software que reuni ferramentas e características para dar suporte à programação. No IDE temos ferramentas tais como um editor que auxilia com a escrita das instruções e um compilador que converte os comandos escritos em uma determinada linguagem de programação em algo que o computador possa ler. Além disto existem as API´s (sigla de Application Programming Interface ou Interface de Programação de Aplicação) que são bibliotecas de códigos pré-desenvolvidos que podem ser referenciadas e utilizadas no programa que está sendo escrito. Afinal de contas, para que refazer algo que já está pronto e foi desenvolvido de uma forma padronizada e o mais inteligente possível. Melhor usar o que já está pronto e se concentrar apenas no que a minha aplicação precisa fazer. Então já deu para você perceber que uma API serve basicamente para reutilização e código padrão. Bons exemplos de IDE e API são respectivamente o Eclipse e o JDK da Oracle, que serve para desenvolvimento JAVA.

engines-de-jogos-2

Com posse destas informações podemos falar agora diretamente sobre como games são feitos: eles se utilizam de uma estrutura mais conhecida por Game Engine ou também no português, Motor Gráfico. Nada mais são que IDE´s e/ou API´s que foram criadas para dar suporte e facilitar o desenvolvimento de jogos bem como aplicações gráficas em tempo real. Geralmente um engine é pode ser de dois tipos: um motor gráfico propriamente dito, que é responsável por cuidar a renderização de vídeo em si, tais como formas, texturas, sombras e tudo que diz respeito aos gráficos do jogo tanto em 2D quanto em 3D. Geralmente são construídas sobre API´s de rotinas gráficas, como os populares OpenGL e o DirectX. Entre nomes conhecidos deste tipo de motor estão OpenSceneGraph, Crystal Space e OGRE. Já o segundo tipo é o motor físico, que é responsável por simular um ambiente com variáveis como flexibilidade, atrito, massa, volume, espaço, gravidade, força, como seriam no mundo real, causando a interferem na ação e movimentação de um personagem. Além de tudo dão suporte a animação, inteligência artificial e outras coisas relacionadas a parte dinâmica do jogo. Entre estas estão Bullet, Havok e ODE. Em alguns casos estas ferramentas são disponibilizadas em um IDE completo com tudo que é preciso para fazer um game. Estes IDE´s são conhecidos por Middleware por compilarem uma série de ferramentas em um único aplicativo. Veja uma pequena lista destas engines mais poderosas abaixo:

engines-de-jogos-3

* RAGE Engine: GTA IV + Episodes e Max Payne 3.

* CryENGINE: franquia Crysis e Far Cry.

* The Dead Engine: Dead Space.

* Unreal Engine: Unreal Tournament, BioShock, Deus Ex e muitos outros.

* IW Engine: vários da franquia Call of Duty

* Anvil Engine: franquias Assassin’s Creed e Prince of Persia

engines-de-jogos-4

Algumas destas engines são extremamente caras, mas outras são distribuídas gratuitamente para uso não comercial, como é o caso da Unreal Engine. Com a utilização desta engine um fã de Donkey Kong Country desenvolveu um tributo ao jogo intitulado “A Tribute to Donkey Kong Country”

engines-de-jogos-5

Então galera, por hoje é isto. Espero que tenha ajudado vocês a entenderem como funciona o desenvolvimento de jogos. Fiquei com alguns vídeos de A Tribute to Donkey Kong Country feito na Unreal Engine.


 

Compartilhe!

COMMENTS

Leave a Comment