O que são Game Engines?
Primeiramente, Game Engines podem ser definidas como um ambiente de trabalho – um framework – com uma gama de ferramentas que facilitam o desenvolvimento de um game sem a necessidade de se criar um novo código de programação direta. Ao mesmo tempo, também são chamadas no Brasil de Motores de Jogos.
Como os Motores de Jogos surgiram?
Durante um bom tempo, especialmente nos anos 80, todos os jogos precisavam ter seus códigos completamente escritos do zero para se criar os pixels, efeitos sonoros, lógica de jogo e efeitos físicos. Posteriormente, com o passar dos anos e o aumento da complexidade dos games, algumas empresas começaram a se especializar na criação de códigos e ferramentas básicas para o desenvolvimento dos mesmos. Nesse sentido, implementando a criação formal de softwares específicos que são conhecidos atualmente como Motores de Jogos.
Apesar disso, algumas empresas e desenvolvedores prefiram criar sua própria game engine personalizada. Ainda assim, hoje em dia a maioria dos profissionais opta por utilizar os motores de jogos disponíveis no mercado. Em outras palavras, tal escolha se deve à economia de dinheiro, recursos e tempo. Desse modo, a equipe de programadores pode se concentrar em desenvolver as especificidades do game a ser produzido ao aproveitar o trabalho que já é realizado pelo motor escolhido.
Quais são as suas funcionalidades?
Um Motor de Jogo possui um conjunto de bibliotecas e pacotes de funcionalidades que abrangem uma engine gráfica e outra focada na parte da física do game. Dessa forma, a primeira pode auxiliar na renderização de gráficos e modelos 2D e/ou 3D. Bem como na aplicação das texturas dos materiais. Enquanto a segunda trabalha na simulação de efeitos físicos como detecção de colisão ou a iluminação dos cenários de forma a projetar sombras e reflexos mais naturais.
Juntamente com isso, outras funções podem ser destacadas dentro daquelas presentes em uma game engine. Por exemplo, a implementação da parte sonora – sejam músicas ou efeitos, o tratamento dos inputs (teclados, mouses, joysticks). Assim como a exportação do jogo para diferentes plataformas – como PC, celular ou consoles.
Obviamente, nem todos os motores de jogos possuem todas essas funcionalidades. Alguns possuem restrições, como apenas renderizar em 2D ou exportar somente para uma plataforma específica.
Um pouco sobre algumas engines
Dentre os diversos motores de jogos no mercado, podemos destacar alguns. Seja pela alta performance. Seja pela facilidade de uso para quem está se iniciando na criação de games. Como o Game Maker, o Godot, o Construct, ou o CryEngine. Os mais famosos e mais utilizados, pela acessibilidade, grandes resultados e pioneirismo são o Unreal – sobre o qual teremos uma Masterclass no dia 30/01/2021 – e o Unity. Futuramente abordaremos de forma mais detalhada as peculiariedades dessas engines.
Até mesmo o Blender, um dos melhores programas voltados para a modelagem e animação 3D, entre outros recursos, implementou durante um tempo uma parte de engine de jogos entre suas funcionalidades.
O Blender Game Engine possuía como linguagem de programação a Phyton. Sua principal vantagem era de o desenvolvedor poder criar os cenários, personagens e elaborar a física do jogo na parte dos projetos 3D do Blender. E, posteriormente, utilizá-los diretamente no motor.
Contudo, o BGE foi descontinuado em 2019. Desde então, tem havido conversas sobre a substituição do mecanismo antigo por um “Modo Interativo” melhor conectado. Seria mais uma parte integrante do Blender. Porém não uma substituição direta do antigo BGE. Nem um motor de jogo discreto. Mas sim mais uma “ferramenta de apresentação” integrada em tempo real ou modo de interação com um ambiente sandbox de simulação física. E que rodaria diretamente dentro do visor do Blender nas plataformas atualmente suportadas.
Apesar de não possuir mais uma engine integrada, vale a pena conhecer o Blender. Primeiro por ser um software de código aberto gratuito. Segundo por suas aplicações em modelagem e animação 3D. No Pátio Digital, oferecemos uma disciplina voltada para o uso do Blender em jogos e animação, dentro do nosso Módulo I, com aprofundamento de vários recursos e conceitos no Módulo II .
Conclusão
Concluindo, existe uma variedade enorme de Motores de Jogos. A escolha da melhor depende de vários fatores. Pois cada uma delas possui vantagens e desvantagens. Seja em questões de valor. Seja em velocidade de processamento. Diante disso, o motor ideal será aquele que se adequar de forma mais funcional ao projeto e aos profissionais envolvidos no jogo a ser produzido.