O que é uma game engine?

Opa!

Nós te falamos bastante sobre jogos estarem usando a Unreal Engine, criando novas engines e etc, mas afinal – O que é uma game engine?

O termo “game engine” originou-se no meio da década de 1990, especialmente com os jogos 3D de tiro em primeira pessoa. Foi a popularidade de jogos como o Doom e o Quake que alavancou a utilização dos motores.

Motor de jogo

Game Engine – ou Motor de Jogo – é o programa utilizado para criar jogos, basicamente. É nele que todo o desenvolvimento é feito, unindo arquivos de áudio, imagens e modelos 3D para criar os diversos cenários e ambientes do jogo.
Normalmente os motores de jogo possuem “mini motores” dentro dele – bibliotecas específicas para efetuar algumas tarefas

  • Motor de renderização 2D e/ou 3D
  • Motor de física e detecção de colisões
  • Suporte para animação
  • Suporte de som
  • Inteligência artificial
  • Networking (poder trabalhar em rede) e streaming
  • Gerenciamento de memória e de arquivos
  • Grafo de cenas e linha de execução
  • Suporte a linguagem de script

Como você pode ver, uma game engine é responsável por um bocado de coisas, e isso facilita e muito a criação de jogos. Afinal, você tem toda essa biblioteca já pronta para ser usada, ao invés de ter que criar tudo do zero.

POR EXEMPLO – Você precisa inserir um pedra rolando ao estilo Indiana Jones ao seu jogo:

  • Dentro da engine você já tem o motor de física rodando, adicionando o peso, gravidade e velocidade da pedra de acordo com seu material e tamanho, além da detecção de colisões fazendo a pedra se manter dentro do caminho, batendo nas paredes e no chão sem passar por dentro deles.
  • Você também vai poder animar pequenos pedregulhos se soltando da pedra conforme ela rola, além de adicionar o barulho dela rolando/caindo.
  • Com a inteligência artificial, você pode fazer um NPC te avisar sobre a pedra ou te falar como fazer para fugir.
  • As linhas de execução e grafos de cena te permitem fazer a pedra parar de rolar ao chegar em certo ponto do mapa, ou seguir para outro ponto do mapa caso você ative uma alavanca e por aí vai.

Tudo isso pode ser feito dentro da game engine com certa facilidade, diferente de caso você tivesse que fazer tudo do zero – programar a gravidade para a pedra, fazer ela não entrar em conflito com o resto da cena, achar um modo de adicionar uma velocidade crescente e depois constante e etc – Pra que fazer tudo isso do nada se você tem a engine que pode fazer esse trabalho para você?

Por isso também uma mesma engine é utilizada em tantos jogos diferentes. Você aproveita o que já foi criado/programado para aquele determinado jogo e utiliza no seu com facilidade, muitas vezes adicionando melhorias e assim fazendo a engine “evoluir” com o tempo.

E isso nos leva a ter empresas focadas em fazer exclusivamente motores de jogos que serão usadas por  outras empresas para que elas façam seus jogos, já que fazer tanto um motor novo quanto o jogo em si custaria muito mais caro e tomaria mais tempo que já pegar um motor pronto e fazer seu jogo em cima dele (Claro que há exceções a essa “regra”, como empresas criando suas próprias engines por acharem que as existentes não dão conta do recado que elas querem passar).

E aí vem a pergunta: qual a diferença entre um motor e outro?

Unreal-Engine-logo

Vamos começar com a Unreal Engine, já que ela é uma das mais utilizada ultimamente. Esse motor está na sua versão 4.7 e possui uma capacidade gráfica sensacional, incluindo um sistema de partículas que permite até 1 milhão de partículas ao mesmo tempo numa mesma cena e uma renderização e iluminação top de linha. Também tem uma diagramação de scripts versátil e bem útil para a lógica e criação de eventos do jogo.

Seus pontos negativos ficam por conta de só poder ser usada para criação de jogos para a nova geração de consoles (XBox One e PS4), PCs e Mobiles – se você quer fazer algo para PS3 e XBox 360 terá que usar a Unreal Engine 3 – além de não ser gratuito, possuindo uma mensalidade de 19 dólares, o que não é lá muito caro para sua funcionalidade. Também pede 5% de royalties de qualquer jogo feito nela.

Unity3Dlogo

A Unity3D está na sua versão 4.6, com a versão 5.0 chegando em breve (está em pré-venda) e uma de suas qualidades é ter uma interface fácil de ser entendida. Além disso, ele prima na integração “cross-plataforming” entre mobiles, ou seja, ele pode facilmente criar jogos que podem ser ‘passados’ de iOS pra Android, Windows Phone e Blackberry, fazendo ele ser a principal engine de jogos mobile. Além disso, ele também tem uma ótima criação de jogos de PS3, XBox 360 e jogos de browser.

Infelizmente, ele não tem uma ferramente de modelagem/criação 3D tão boa, precisando de ‘ajuda’ de outros programas, mas ele compensa com uma biblioteca enorme de ativos digitais, que são imagens, multimidias ou conteúdos de texto para melhorar o seu jogo/acelerar o processo de criação.
A Unity tem uma versão paga, o Unity Pro, custando US$1,500 uma vez só ou US75 mensais, que tem umas melhorias e um maior acesso a biblioteca, além do fato de que, comprando a Unity Pro 4, você receberá um upgrade automático para a Unity 5 quando ela for lançada.

cryengine

Desenvolvida pela Crytek, a CryENGINE é muito poderosa e é a principal concorrente da Unreal e responsável pelos jogos Far Cry e Crysis. Suas capacidades gráficas são melhores que do Unity e da Unreal 3 (Chamada também de UDK), mas ficam pau a pau com a Unreal 4, com sua física realista, iluminação e sistema avançado de animação. Com tantos avanços vem um problema – ser um pouco mais complicado de se aprender a usar caso você não tenha experiência com outras engines, sendo melhor você usar outra ferramenta caso não precise que seu jogo tenha gráficos tão absurdos como de jogos como Far Cry e Ryse: Son of Rome e etc.

Assim como as outras, não é grátis, custando US$9,90 por mês, sem royalties. Ou você pode, como empresa, entrar em contato com eles e fazer um contrato com a licença de uso da CryEngine, mas aí já não sei quanto essa brincadeira custaria.

Além dessas três principais, há várias outras, como por exemplo:

Engines 2D – GameMaker, M.U.G.E.N, RPG Maker
Engines 3D – Quake Engine, Fox Engine, Panta Rhei, Anvil Next

E muitas, muitas outras.

Então, é isso por hoje! Se você está afim de fazer um jogo ou só queria entender um pouco sobre o que diabos são game engines/motores de jogos, espero ter ajudado!

Compartilhe

  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati
Autor: Red Team Ver todas as postagens de
Escritor, redator, pesquisador, tradutor, jogador e falador no geral. Trazendo notícias e informações que você não sabia, e nem achava que precisava saber, sempre que possível.