Você sabe o que é uma Game Engine?

No mundo dos games de maneira mais recente temos ouvido falar sobre Game Engines, ou apenas Engines, Unreal, Unity, Cryengine, Fox Engine, Frostbite, e etc, provavelmente se você está acostumado a ler sobre jogos já ouviu alguns desses nomes e essa são só algumas. Mas você sabe o que é uma Engine?  Elas são programas(softwares) que auxiliam a fazer outro programa(no caso um jogo), comumente são pagas, algumas com versões “livres” para uso/estudo, ou até publicar um jogo até determinada faixa de lucro e rodam em PCs ou Macs, sim, games de consoles não são feitos em consoles!

Engine não é só gráfico.

É comum os jogadores associarem as engines à apenas os gráficos dos jogos,  e uma engine vai muito além disso, e falando nisso, não, uma engine não tem a ver com o estilo gráfico adotado! Um jogo feito na Unreal pode ter estilo cartunesco, cellshadding, como também pode possuir gráficos realistas, há essa comum associação: “ah, e engine tal é capaz de produzir personagens assim, ou personagens daquele outro…”, é bom dizer que os modelos 3d dos personagens são fabricados em softwares adicionais como Blender, Maya3d, ZBrush e etc. Ou seja uma engine não tem relação se o rosto se o Goku parece vindo de um anime ou tem aspecto 3d, as interações nesse caso costumam ser mais sutis e não apenas ao modelo 3d bruto.

Você sabe o que é uma Game Engine?
Dragon Ball FighterZ foi feito dentro da Unreal Engine.

Quando digo que esses programas não lidam apenas com os gráficos teremos de voltar um pouco no tempo quando tudo era feito à “mão”, antigamente os programadores de jogos tinham que ir bem mais a fundo nos bits do computador, pois um video-game assim como um computador entende apenas 0s e 1s, os programadores com muitos menos recursos que se tem hoje tinham que recorrer ao que recebe o nome de Assembly, e dessa forma programar tudo que existe no jogo, a interação entre o Mário e tartaruga quando ele pula sobre a mesma explodindo-a friamente, essa interação envolve calcular por exemplo o contato do sprite do encanador com o sprite da tartaruga e ativar uma animação da tartaruga morrendo assim como também desativar a IA da tartaruga, atualizar os pontos, pois seria um bug terrível se ela depois de morta ainda pudesse matar o personagem ou se os pontos não mudassem após a morte da pobre tartaruguinha, nessa simples interação várias coisas ocorrem no jogo por baixo dos panos, isso tornava o desenvolvimento de jogos bem mais complicado do que é hoje, engines mais avançadas surgiram da necessidade de facilitar, agilizar várias dessas coisas.

Em tese uma Game Engine então é um programa que possui módulos que vão auxiliar o programador a juntar tudo num jogo, sendo comumente definida como uma junção de dois principais motores, o de física e o gráfico, sendo o primeiro responsável pelo calculo do que acontece por exemplo com a luz quando bate num modelo 3d, ou calcular colisões, exemplo: quando a bala atinge um inimigo ou quando o personagem sofre dano ao ser atingido por um inimigo e o gráfico que é responsável pela leitura dos modelos 3d/2d, e a apresentação deles na tela fazendo as abstrações, comunicações necessárias entre hardware-software para enfim apresenta-las na tela. Repetindo, tudo isso antigamente era feito na unha.

A existência desses softwares não significa que qualquer um possa fazer um jogo, conhecimentos de programação continuam essenciais.

Conheça algumas engines

As principais publicadoras no mundo AAA usam a engine Unreal, nesse modelo as empresas pagam pela sua licença, tem acesso ao código fonte do programa para melhor atender suas necessidades, ela utiliza a programação C++, popular linguagem de programação conhecida por sua dificuldade e poder, o resto das publicadoras AAA(abreviação que indica jogos com alto custo de produção) costumam trabalhar com engines in-house, ou seja feitas pela própria empresa, dessa forma atendendo ainda mais as suas necessidades e de quebra não pagando licenças para terceiros, Square Enix(FF15) criou a Luminous Engine, Konami a Fox Engine(Metal Gear V, PES), EA Frostbite(FIFA, Battlefield) e diversas outras.

Correndo por fora temos a Unity, a preferida dos desenvolvedores independentes e desenvolvedores móveis. A Unity possui licença livre para estudantes e projetos pequenos, você pode até mesmo publicar seu jogo e somente a partir de uma determinada faixa de lucro você paga por ela. Outro diferencial da Unity é ter uma robusta loja preenchida por uma comunidade de desenvolvedores e artistas, lá são vendidos  assets  que podem ser entendidos como componentes ou conjuntos de componentes para criação de um jogo, como por exemplo um algoritmo de câmera em primeira pessoa.

Diversas outras engines existem no mercado, algumas são mais fáceis, outras mais difíceis, algumas mais gerais outras mais especificas.

Resultado de imagem para game engines

Um jogo não é produto apenas da engine, muitos outros softwares, tecnologias serão empregadas a fim de completar um jogo, arte, música, programação, tudo isso faz valer essa forma de arte que tanto amamos.

Dasayeve Xavier

Dasayeve Xavier, estudante de Engenharia de Computação, administrador da page DC Brasil Club e desenhista amador nas horas vagas(ou não). Fã da DC e principalmente do Batman, escreve aleatoriedades para este site.

%d blogueiros gostam disto: