No episódio desta semana do podcast sobre ciência mais divertido da internet brasileira (rá), Silmar, Jorge, Ronaldo e Matheus (equipe #SciCast) – aliados ao jornalista especializado em games Caio Corraini (podcast Games on the Rocks e @CaioCorraini) – acionam o gerador de capangas aleatórios e enchem de porrada as engines mais atuais do mercado. Bônus: comentamos alguns depoimentos dos nossos ouvintes malucos, colhidos durante a Campus Party 2014. Escuta aí, galera!
Comentado neste episódio:
- O que é um motor de jogo?
- What is a game engine?
- Guia ricamente detalhado (e ilustrado) para o Game Developer iniciante (por Matheus no MB)
- Linguagens e ferramentas para programação de jogos
- Portal Rendering Engine: não é propriamente uma game engine, e sim um algoritmo para determinação de visibilidade. Funciona realizando operações matemáticas de setores em formato cúbicos, que se encaixam em outros cubos. Não é necessário renderizar toda a tela ao mesmo tempo. Isso dá um ganho de performance significativo ao jogo. Utilizada no desenvolvimento do jogo Descent.
- Principais Game Engines
- Unity 3D (2005): Unity é similar ao Blender, Virtools ou Torque Game Engine, em relação a sua forma primária de autoria de jogos: a sua interface gráfica. O motor cresceu a partir de uma adição de um suporte para a plataforma Mac OS X e depois se tornou um motor multiplataforma. Jogos do Unity também rodam na maioria dos browsers de internet, com o uso de um plugin.
- Unreal Engine (1998): desenvolvido pela Epic Games. Sua primeira versão foi lançada em 1998, seu primeiro jogo foi Unreal, e continha renderização, detecção de colisão, inteligência artificial, sistema de redes e sistema de arquivo. Usava a Glide API em vez do OpenGL, com uma linguagem de script que ajudou a sua popularização, e também incluía um sistema de cliente-servidor.
- Shiva3D (2010): The ShiVa Authoring Tool está disponível para Windows, Mac, Linux, Wii, iOS, Android, BlackBerry QNX, HP WebOS e Airplay SDK embutido, tudo gratuito para baixar. Foi a engine utilizada para o desenvolvimento do primeiro jogo do Matheus.
- Cryengine 3 (2005): engine alemã, criada pela Crytek, porque você vê o preço e chora (mentira, mas poderia se aplicar ;). Uma licença pode custar US$ 1,2 milhões. Mas possui uma licença free para quem quer criar games em casa ou ser um indie game developer. Considerada uma das mais poderosas e completas engines do mercado.
- MS XNA Game Studio (2008): não é bem uma game engine, mas um conjunto de ferramentas para desenvolvimento de games da Microsoft. É de graça, e permite fazer jogos pra PC, Xbox 360 e Windows Phone.
- RAGE Engine: Rockstar Advanced Game Engine (2005): criado pela Rockstar games, foi utilizada para desenvolver a franquia GTA, incluindo o GTA V. Possui tudo que os outros tem, praticamente, mas deu uma evoluída no mocap (motion capture), que melhora e muito a realidade dos jogos da nova geração.
- FROSTBITE (DICE, 2008): desenvolvida pela EA Digital Illusions CE, criadora da série BattleField, Need for Speed e Mass Effect. Pode criar jogos para Windows, PS3, PS4, Xbox 360 e Xbox One.
- Unity 3D (2005): Unity é similar ao Blender, Virtools ou Torque Game Engine, em relação a sua forma primária de autoria de jogos: a sua interface gráfica. O motor cresceu a partir de uma adição de um suporte para a plataforma Mac OS X e depois se tornou um motor multiplataforma. Jogos do Unity também rodam na maioria dos browsers de internet, com o uso de um plugin.
Cinema
- The Videogame History (canal ComicCon Reviews no Youtube): série de vídeos curtos, em que cada episódio conta a história do desenvolvimento de um jogo específico, e curiosidades a respeito dele. Estão contidos no pacote desde Final Fantasy, Doom 3, Silent Hill e Metroid.
Literatura
- A história das game engines: o artigo é de 2009, mas está muito bem montado e as informações são de primeira, contendo diversas curiosidades sobre o nascimento desta indústria.
- 3D Modelling in Java: Xj3D (antigo, mas simples de usar e prototipar usando XML) e Java3D (mais moderno e faz parte da API do JDK), servem para prototipação rápida e como forma de entender como se constroem os modelos 3D. O Xj3D possui um browser que renderiza os arquivos de modelos, baseados em xml, facilitando visualizar rapidamente as alterações efetuadas.
- 3D Game Engine Programming: livro em inglês para quem é ousado (e um pouco insano) e deseja criar sua própria game engine 3D. Os requisitos primários são conhecimentos nas linguagens C e C++, além de galões e mais galões de café, pois muitas serão as noites em claro criando novas funções e consertando bugs. Definitivamente, não recomendado para iniciantes.
Games
- Quê??? Você ainda quer mais?! Veja a próxima seção ;)
Saiba Mais
- Game Dev on the Rocks: comunidade no G+ contendo muita discussão técnica e projetos interessantes. O Caio e o Matheus estão trocando figurinhas por lá :);
- Listão das Game Engines: contém praticamente todas as game engines disponíveis no mercado, em forma de comparativo das funcionalidades de cada uma.
- Menção Honrosa: linguagem de script LUA, Stencyl (para advert games) e o GameMaker Studio (para jogos mais simples).