Game Engines (Motores de Jogos), também chamadas simplesmente de engines, são softwares que reúnem diversas ferramentas necessárias ao desenvolvimento de jogos digitais como física, luzes, áudio, mecânicas, animações, entre outras.

Normalmente, o uso de uma engine está diretamente relacionada a não “reinventar a roda”, ou seja, refazer códigos e processos que normalmente são padrões durante a criação de um game. No entanto, usar ou não uma game engine é opcional. Existem desenvolvedores e empresas que optam por não usar ou até mesmo desenvolver a própria game engine.

O mercado hoje disponibiliza diversas engines, seja de forma gratuita ou paga. Cada uma dessas tem suas vantagens e desvantagens. Assim, escolher uma game engine não é um processo simples. Por isso, iremos abordar e conceituar as principais engines usadas no desenvolvimento de jogos digitais, caracterizá-las quanto ao funcionamento e linguagens de programação envolvidas e apresentar alguns games desenvolvidos.

Unity

A Unity é, talvez, a engine mais utilizada para desenvolvimento de games. Essa ferramenta trabalha tanto com jogos 2D quanto 3D e faz uso da linguagem C# (semelhante a Java). A possibilidade de escrever linhas de código garante mais liberdade ao desenvolvedor durante o processo, e C# é uma linguagem amigável entre os programadores e segue diversos padrões semelhantes a outras. Não é uma engine recomendada para iniciantes dado a complexidade.

Cuphead
Horizon Chase Turbo

A Unity é gratuita até uma certa receita gerada pelo jogo, e está disponível para download no site da Unity Technologies

Unreal

Unreal é uma engine muito usada pela indústria, principalmente para o desenvolvimento de games (principalmente em 3D ou 2.5D) cujo foco é realidade gráfica. A programação pode ser feita com C++ ou através de Blueprints, que é uma programação visual do tipo arrasta e solta (Drag and Drop) mais avançado.

Não é muito utilizada para games em 2D e é muito pesada em termos de processamento. Assim como a Unity, Unreal não é recomendada para iniciantes e é gratuita até uma certa receita gerada pelo jogo. Ela está disponível para download no site da Epic Games.

Final Fantasy VII Remake
Gear 5

Godot

Essa é uma das engines mais recentes e está sendo muito bem acolhida pela comunidade independente. A Godot é open source (código aberto). Isso implica que uma considerável comunidade de desenvolvedores está colaborando para seu aperfeiçoamento. Além disso, tem royalties zero, o que significa que, ao publicar seu jogo, não há necessidade de pagar nenhum valor aos criadores da engine.

A Godot permite desenvolver tanto jogos 2D quanto 3D, seja através de linguagem visual, seja escrevendo linhas de códigos fazendo uso da linguagem própria GDScript, que é baseada em Python. Também há suporte para C# e C++. Não é uma engine a ser considerada por iniciantes.

TailQuest: Defense
Colônia Contra Ataca – O Jogo

A Godot é uma engine gratuita e está disponível para download no site dos desenvolvedores sob licença do Massachusetts Institute of Technology (MIT).

Game Maker Studio

O Game Maker é, por muitos, considerada a melhor game engine para jogos 2D. Essa engine é extremamente versátil e permite a programação visual (Drag and Drop) ou a possibilidade de escrever as linhas de código usando Game Maker Language (GML). Essa é uma linguagem semelhante a Java e ao C#, porém mais intuitiva.

O uso de GML permite ao programador infinitas possibilidades de desenvolvimento. O Game Maker conta também com um editor de criação de sprites (desenhos) em pixel art ou vetor.

Blazing Chrome
Undertale

O Game Maker Studio é uma engine paga e pode ser adquirida tanto na Steam quanto no site da empresa YoYo Games.

Construct

O Construct (2 e 3) é uma engine muito interessante, pois permite a criação de jogos sem a necessidade de escrever linhas de código. A engine, que é baseada em HTML5, faz uso de lógica e programação visual, orientada a condições e eventos. É uma excelente opção para desenvolvedores iniciantes e até para aqueles que já programam profissionalmente.

Rift Racoon
Zueirama

A Construct é uma engine paga e pode ser adquirida no site da empresa Scirra.

ClickTeam Fusion

Essa engine tem programação orientada a eventos, ou seja, não é necessário escrever linhas de código, muito semelhante ao Construct. O game é desenvolvido usando um sistema Drag and Drop de condições e eventos responsáveis pelos processos.

Conta também com ferramentas simples de criação de sprites. Além de ser uma ótima ferramenta para games em 2D, também tem suporte ao 3D. O Fusion é uma excelente opção para desenvolvedores iniciantes e até mesmo para profissionais.

Odallus: The Dark Call
The Escapists

A ClickTeam Fusion tem uma versão gratuita, mais limitada que a completa, e as versões pagas que podem ser adquiridas no sita da ClickTeam.

LibGDX

O LibGDX não é exatamente uma game engine, e sim um framework para programar games em Java. A programação Java é complexa e pouco intuitiva. No entanto, pela característica de ser orientada a objetos e ser multiplataforma, ainda é usada por alguns desenvolvedores.

Slay the Spire
Zombie Age 3

A LibGDX é gratuita e pode ser adquirida no site LibGDX.

Corona

Corona é uma engine muito usada para jogos 2D e trabalha com programação em Lua, que é uma linguagem tipicamente brasileira, desenvolvida pela equipe do Tecgraf da PUC-Rio. É uma linguagem intuitiva e muito usada no desenvolvimento de jogos.

Lua é uma linguagem que suporta apenas um pequeno número de estruturas, tais como dados atômicos, valores booleanos, números (dupla precisão em ponto flutuante por padrão), e strings. As estruturas de dados comuns, tais como matrizes, conjuntos, tabelas, listas, e registros podem ser representados por meio de Lua.

Gunman Taco Truck
Drag n Zip

A Corona é gratuita e pode ser adquirida no site do Corona Labs

Stencyl

A Stencyl é uma game engine com programação em blocos (semelhante ao Scratch). A ideia é desenvolver games 2D através de algoritmos, tanto para PCs, dispositivos móveis e web, usando lógica de programação e linguagem computacional.

Duke Dashington
Tiny Dangerous Dungeons

A Stencyl está disponível de forma gratuita, com algumas opções de publicação disponíveis para compra, no site da Stencyl Studio.

Phaser

A Phaser é uma engine usada para games 2D, em HTML5, via mobile ou desktop. A programação pode ser feita em HTML bem como em JavaScript. Essa engine renderizadores Canvas e WebGL.

Sasquash
Meije

A Phaser é gratuita e pode ser adquirida no site Phaser.

GameSalad

Essa é uma engine usada principalmente por educadores e não programadores, como designers e artistas, para prototipação. Não requer escrever linhas de código.

Save Me Hero
Zanda

A Game Salad é uma engine gratuita e pode ser adquirida no site GameSalad.

Gdevelop

A Gdevelop é muito semelhante ao Construct e ClickTeam Fusion. Também é uma engine, cuja programação é visual e orientada a eventos. O interessante é que se trata de uma engine open-source e multiplataforma. É uma boa opção para desenvolvedores tanto iniciantes quanto profissionais.

The Mighty Rune
A Pixel Adventure Legion

A GDevelop é gratuita e pode ser adquirida no site GDevelop.

RPG Maker

O RPG Maker é uma engine mais específica para criação de jogos Role Playing Game (RPG). Essa engine já conta com diversos assets para uso e não exige escrever linhas de código, funcionando também no sistema arrasta e solta.

Diversos desenvolvedores tiveram, em algum momento da carreira, e ainda utilizam contato com o RPG Maker em virtude da sua popularidade e facilidade de programação.

To the Moon
Finding Paradise

O RPG Maker é uma engine paga e pode ser adquirida no site da empresa Enterbrain.

Embora existam diversas game engines, cada uma tem suas vantagens e desvantagens o que torna difícil mensurar e afirmar qual é a melhor. Além disso, é imprescindível ter em mente que engines são ferramentas. Assim, a escolha dessa ferramenta vai depender muito da proposta do projeto ao qual deve se encaixar.

Algumas game engines, como Unity, Unreal, Godot e Game Maker, estão mais em evidência por conta de suas funcionalidades e adequações aos projetos de jogo e a comunidade de desenvolvedores. Todavia, caberá ao profissional selecionar qual ferramenta usar de acordo com suas necessidades no processo de desenvolvimento.

Fonte para a thumb: geomedia.com

Marcio é desenvolvedor e professor de jogos digitais, trabalhando como programador nas engines Unity, Godot, GameMaker e ClickTeam Fusion. Além disso, Marcio também trabalha como designer 2D (PixelArt e Flat design). Aqui no time da WarpZone, Marcio é redator e revisor dos textos o portal, revistas e livros, especialmente relacionados ao desenvolvimento de jogos independentes.