como-programar-jogos,

Como ser um programador de jogos: Engine vs Framework

Bruno Cicanci Bruno Cicanci Seguir 28 de Agosto de 2013 · 2 min de leitura
Como ser um programador de jogos: Engine vs Framework
Compartilhe

No post anterior desta série escrevi sobre a importância de começar a programar com coisas simples como fazer um Hello World para conhecer melhor uma tecnologia, agora vou destacar as diferenças entre Engine e Framework.

Além da linguagem de programação, você deve aprender sobre engines e frameworks. Uma game engine é um software completo para criação de um jogo. Um framework é uma biblioteca de programação, sem interface gráfica, que você utiliza para programar seu jogo.

Em uma analogia meio feia, podemos falar que uma engine é como se fosse o Microsoft Word (você pode criar textos de diferentes formas, utilizando várias coisas prontas). Já o framework é como uma caixa de Lego, você constrói o jogo com as peças que quiser, seguindo um manual (tutorial no caso de um jogo) ou sua criatividade.

Atualmente a game engine mais famosa entre estudantes e desenvolvedores independentes, e que também é utilizada em empresas grandes, é a Unity, que permite o desenvolvimento de jogos com modelos 3D para PC, Mac, Web, Chrome, iOS e Android (tudo isso na versão gratuita!). A Unity conta com muita material na internet, principalmente vídeos e tutoriais, porém poucos (e desatualizados) livros. Se você quer estudar desenvolvimento de jogos 3D recomendo começar pela Unity, nela você pode programar em C#, Javascript ou Boo (uma variação de Python).

Enquanto a Unity tem muito destaque como game engine, é difícil falar de apenas um framework. O primeiro framework que estudei foi o XNA da Microsoft, principalmente por utilizar C#, linguagem que eu trabalhei por alguns anos antes de entrar na área de games. Por isso consegui aprender bem rápido a usar o XNA, participei de concursos e fiz meu TCC da pós em games com ele, e até dei aula de programação com XNA. Infelizmente a Microsoft já anunciou que não vai continuar com o XNA por causa do Windows 8, eu pelo menos vou ficar com saudades.

Se você quer desenvolver jogos para Windows, e não tem medo de C/C++, eu recomendo a SDL, um framework bem legal e fácil de usar. Fiz um jogo na pós com ele, foi uma boa experiência. O que eu mais gostei no SDL é sua transparência, mas isso fica um pouco complicado de explicar neste post.

Existem dois frameworks para desenvolvimento de jogos mobile que eu sempre recomendo: Corona SDK, onde você programa em script Lua, e Cocos2d-x, framework open source em C/C++. Ambos são excelentes frameworks, com ótimas features, e muito utilizados no mercado, principalmente por desenvolvedores independentes. Considero sua principal diferença a linguagem, onde no Corona é interpretada e no Cocos2d-x é compilada.

Gostou do post?
Como muitos programadores, aprecio um bom café. Se curtiu este conteúdo, que tal me presentear com um café?
Bruno Cicanci
Escrito por Bruno Cicanci Seguir
Bacharel em Ciência da Computação e pós-graduado em Produção e Programação de Jogos. Atuo profissionalmente com desenvolvimento de jogos desde 2010. Já trabalhei na Glu Mobile, Electronic Arts, 2Mundos, Aquiris, e atualmente na Ubisoft em Londres. Escrevo neste blog desde 2009.