Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Mobile Development
Code

Qual plataforma escolher para seu próximo jogo móvel?

by
Length:MediumLanguages:

Portuguese (Português) translation by Jonathan Ramos (you can also view the original English article)

Neste artigo, vamos explorar vários motores de jogos(também conhecido como game engine) e frameworks, destacando algumas das principais vantagens que cada um oferece. Depois de ler este artigo, você terá várias opções para escolher onde fazer seu próximo grande sucesso. Note que vamos apenas focar nas funcionalidades 2D das plataformas. Vamos começar.

1. Cocos2D

Cocos2d é um framework livre e de código aberto, compatível com Swift e Objective-C. Com suporte para iOS e OS X, também suporta Android através do SpriteBuilder Android plugin e seu código é escrito em Objective-C. O suporte Swift para Android está em desenvolvimento.

Projetos com Cocos2d são criados através do SpriteBuilder, um ambiente gráfico que você pode usar para criar protótipos rapidamente e construir jogos. Não é necessário usar o SpriteBuilder para construir o seu jogo, no entanto, a criação do projeto deve ser feita através do SpriteBuilder.

Cocos2D

A gestão de cenas é feita através da classe CCDirector, que pode utilizar várias transições com a classe CCTransition. Também oferece animações através da classe CCAnimation e ações, tais como mover, escalar e girar, com sua classe de CCAction. Cocos2d tem suporte para sistemas de partículas com a classe CCParticleSystem e tem suporte para tile maps com a classe CCTiledMap.

Cocos2d também usa OpenGL como seu mecanismo de renderização. A mecânica de física usada é a Chipmunk. Se você gosta de Objective-C ou Swift, e quer desenvolver para múltiplas plataformas (iOS e Android), então Cocos2d é um framework que vale a pena considerar.

2. Cocos2d-x

Cocos2d-x é um porte em C++ do Cocos2d que pode compilar para muitas outras plataformas. Cocos2d-x pode compilar para iOS, Android, Windows Phone, OS X, Windows e Linux.

Cocos2d-x

Cocos2d-x não vem com o SpriteBuilder. No entanto, ele tem alguns projetos interessantes, como o Cocos Creator, que fornece um framework, editor de cenas, depurador, pré-visualizador de jogo e a possibilidade de publicação em múltiplas plataformas.

3. Unity

Unity é uma engine que suporta C# e UnityScript, uma linguagem projetada especificamente para Unity com base em JavaScript. É multiplataforma e pode entregar para muitas plataformas, incluindo PlayStation e Xbox. Há uma edição gratuita disponível e uma edição profissional, oferecendo mais recursos. Mais informações estão disponíveis no site Unity.

Há um editor de sprite embutido que permite você cortar visualmente suas imagens e uma janela de animação que permite esquematizar e organizar as animações e adicionar key frame aos sprites. Também é possível projetar visualmente o sistema de partículas dentro do editor Unity.

Unity

Unity usa seu próprio motor de física proprietário. Tem uma câmera embutida, que torna simples navegar no mundo do jogo. Você pode dispor cenas visualmente e a Unity tem um sistema de interface de usuário com componentes, tais como botões, barras e menus. Também há suporte para um empacotador de sprites no editor Unity.

Unity é uma potência quando se trata de game engines. Se você precisa de uma solução multiplataforma que contempla uma ampla game de dispositivos e prefere programar em C# ou UnityScript, então Unity é uma boa escolha. Outra coisa boa sobre Unity é a loja de assets na qual você pode encontrar ou comprar assets para utilizar em seus jogos.

4. SpriteKit

SpriteKit é um framework de desenvolvimento de jogos 2D proprietário da Apple. Apenas está disponível no iOS e OS X. SpriteKit suporta o Swift e Objective-C, uma combinação dos dois.

A gestão de cenas é feita com a classe SKView e há uma grande variedade de transições com a classe SKTransition. No coração da SpriteKit estão as actions, instância da classe SKAction, que são usadas para mover, rotacionar e dimensionar objetos de jogos. Actions também podem ser usadas para reproduzir sons e executar código personalizado.

SpriteKit

SpriteKit tem um editor de cenas em que você pode projetar visualmente os níveis do seu jogo. Também está disponível um editor de partícula na qual você pode projetar visualmente sistemas de partículas. Um número de sistemas pré-configurados de partículas está disponível, tais como fogo e chuva.

SpriteKit usa o motor de física Box2D SpriteKit fornece um pacote amigável da Box2D, que torna muito fácil de usar. SpriteKit também tem uma camêra embutida através da classe SKCameraNode, que facilita a navegação ao redor do mundo do jogo.

Se o seu objetivo é o ecossistema da Apple, então SpriteKit é uma escolha muito boa.

5. Titanium

Titanium é um framework que usa JavaScript como sua linguagem de programação. Embora mais tradicionalmente usado para criar aplicativos em vez de jogos, pode ser uma plataforma viável de desenvolvimento de jogos. É livre para usar durante o desenvolvimento. Se você quiser publicar seu jogo, então precisará de uma licença.

Titanium suporta muitos controles nativos do iOS e Android. Isto torna mais fácil para animar as telas e as imagens. Eu construí um jogo de Blackjack, completo com animações e um belo efeito de cartas usando Titanium.

Titanium

Uma das coisas agradáveis sobre o Titanium é a loja para baixar módulos personalizados. Há, por exemplo, um módulo Box2D que você pode conectar ao seu aplicativo. Se você não precisa da complexidade do Box2D, então usar um simples sistema de colisão já pode ser o suficiente.

Embora o Titanium não seja ideal para jogos com um monte de peças móveis e explosões de partículas, usá-lo para jogos de cartas simples, jogos de trivia e jogos com um número limitado de objetos em movimento é mais do que uma opção viável.

6. PhoneGap

PhoneGap permite que você use suas habilidades com HTML, CSS e JavaScript e empacotá-las em um aplicativo móvel. O modo como isso funciona é incorporando uma web view ao aplicativo, carregando seu conteúdo dentro de uma web view. Isto significa que você pode usar a Canvas API para criar jogos.

PhoneGap permite o acesso a APIs nativas, tais como a câmera do dispositivo, o microfone e, o mais importante para o desenvolvimento de jogos, o acelerômetro.

PhoneGap

Na sua essência, PhoneGap é bastante simples. É necessário criar um aplicativo orientado a HTML e empacotá-lo como um aplicativo móvel usando uma web view.

Vamos dar uma olhada em duas outras bibliotecas de JavaScript que você pode usar para criar um jogo Canvas/WebGL, Phaser e CreateJS.

7. Phaser

Phaser é um framework JavaScript de código aberto para programar jogos 2D. Ele usa Canvas ou WebGL, se disponíveis.

Phaser tem suporte há animações, partículas, e ferramentas para mover, dimensionar e rotacionar sprites. Ele possui suporte interno para tile maps e usa três motores de física diferentes, dependendo de suas necessidades. Ele também tem uma camera embutida, o que torna simples a navegação no mundo do seu jogo.

Phaser

Existem alguns plugins disponíveis para Phaser, incluindo um designer de sistema de partículas e um plugin de Box2D. Se JavaScript é a sua escolha de linguagem, então Phaser, em combinação com PhoneGap, poderia ser uma boa escolha.

8. CreateJS

CreateJS é um de conjunto quatro diferentes bibliotecas de código aberto:

EaselJS é uma biblioteca baseada em Canvas API e pode usar WebGL, se disponível. TweenJS é focado em elementos de interpolação enquanto SoundJS destina-se a reprodução de áudio. Por último mas não menos importante, PreloadJS ajuda a pré-carregar os assets.

EaselJS tem suporte para sprite sheets e filtros que você pode colocar em seus elementos. Há também uma classe Shape para desenho de vetores. Mover, escalar e rotacionar é feito incorporando-se a biblioteca de TweenJS ao seu jogo.

CreateJS

Embora CreateJS não tenha muitas APIs adaptadas para o desenvolvimento de jogos, é escrito em JavaScript, então você pode incorporar qualquer biblioteca extra de JavaScript que você deseja, como um porte em Javascript de Box2D. Uma biblioteca que tive sucesso usando no passado é uma biblioteca de detecção de colisão para EaselJS.

Eu já escrevi alguns artigos sobre CreateJS na Envato Tuts+. Se você estiver procurando por uma introdução detalhada para essas bibliotecas, então você pode achar estas interessantes:

9. Unreal Engine

Unreal Engine é uma engine o que usa C++ como sua linguagem de programação. É livre para usar com limites. Para obter mais detalhes, visite o site Unreal Engine. Você pode publicar seu jogo para iOS e Android.

Unreal Engine inclui também o Blueprint Editor, que permite que você visualmente construa suas aplicações sem a necessidade de programá-las. O editor permite que você desenhe as fases do jogo, adicione simulação física, interface de usuário, animações, efeitos visuais e muito mais, de uma forma visual.

Unreal Engine

10. Corona SDK

O Corona SDK é um kit de desenvolvimento de software que usa Lua como sua linguagem de script. Está disponível para Windows e OS X. Você pode desenvolver seus jogos e apps de graça com o Corona SDK, no entanto, Perk, a empresa que adquiriu a Corona Labs, oferece uma versão empresarial que dá acesso a bibliotecas/APIs nativas e algumas outras características. Visite o site para obter mais informações sobre os preços.

O Corona SDK exporta para iOS, Android, Windows Phone 8 e Kindle. Exportações para Windows e OS X estão em beta privado e virão em breve.

Corona Labs oferece algumas outras características atraentes, como o Editor Corona, um plugin para Sublime Text que inclui um depurador, auto-completar de código e algumas outras opções. Composer GUI, disponível no Mac OS X, oferece um ambiente gráfico no qual você pode desenhar os níveis do jogo e ver como os objetos interagem uns com os outros usando o motor de física do Corona.

Corona SDK

O Corona SDK usa OpenGL como seu mecanismo de renderização e Box2D para física. Seu motor de física fornece um wrapper em torno do Box2D, que torna mais fácil de usar. O Corona SDK inclui mais de mil APIs que você pode usar para criar seus jogos.

Também tem uma gestão de cena embutida através de seu composer library e oferece uma grande biblioteca de transição que ajuda a mover, dimensionar e rotacionar assets gráficos do jogo.

Infelizmente, o Corona SDK não tem a opção para construir um atlas de sprite e usar formas complexas para detecção de colisão física pode tornar-se complicado. No entanto, existem alguns aplicativos grandes de terceiros que podem aliviar esta dor, como Texture Packer e Physics Editor.

Em geral, o Corona SDK é um grande SDK para explorar se você estiver procurando por uma solução multi-plataforma e quer a facilidade da linguagem de script Lua.

11. Gideros

Gideros, assim como Corona, usa Lua como sua linguagem de script. Gideros é livre e open-source, e ele pode compilar para iOS, Android, Windows Phone, OS X, Windows e Windows RT.

Embora Lua não seja uma linguagem de programação orientada a objeto com um sistema baseado em classe, Gideros fornece uma API baseada em classe, permitindo que os desenvolvedores escrevam código limpo e reutilizável.

Gideros tem um gestor de cena com todos os tipos de transições, uma classe MovieClip para animações e fornece a interpolação através de sua biblioteca de GTween, que permite você mover, dimensionar, rotacionar as entidades e muito mais.

Gideros Mobile

Gideros, como o Corona, usa Box2D para física, mas a API Box2D de Gideros está mais próxima da API Box2D original e, portanto, é um pouco mais difícil de usar.

Ele fornece algumas ferramentas extras como um empacotador de texturas e um criador de fontes, que pode ser encontrado no diretório da instalação. Gideros permite que você faça testes instantâneos de seus projetos em seu dispositivo móvel através de uma conexão Wi-Fi.

Assim como o Corona, é uma grande plataforma se você está procurando desenvolvimento multiplataforma com a facilidade da linguagem Lua.

12. AndEngine

AndEngine é um framework de desenvolvimento móvel para Android. É gratuito e de código aberto. No entanto, como o nome sugere, é apenas para Android. AndEngine, como muitas outras plataformas móveis, usa OpenGL como seu mecanismo de renderização e Box2D como seu mecanismo de física através de uma extensão.

AndEngine

AndEngine tem suporte para sprites animados, sistemas de partículas e permite a interpolação de entidades através de modificadores de entidade. AndEngine também fornece uma classe Camera que lhe permite mover ao redor do mundo do jogo com facilidade.

Não há nenhuma gestão de cena dedicada na AndEngine, mas você pode encontrar uma abundância de exemplo sobre como construir um gestor simples de cena. Se você estiver procurando publicar apenas um app Android e Java é sua linguagem de programação preferida, então este framework é uma boa opção.

13. libGDX

libGDX é outro framework de desenvolvimento de jogos Java. É multiplataforma e pode compilar para Windows, OS X, Linux, Android, iOS, Blackberry e HTML5. libGDX também usa OpenGL como seu mecanismo de renderização e usa Box2D para simulação de física.

libGDX tem uma classe Camera, uma classe Action para mover, dimensionar e rotacionar objetos e uma classe ParticleEmitter para exibir as partículas. Tem suporte para mapas com a classe TiledMap, que pode ser usado com o editor Tiled.

libGDX

libGDX vem com algumas ferramentas extras, como um empacotador de textura, um editor de partícula e um gerador de fontes bitmap.

Se o Java é sua linguagem preferida e você almeja criar um jogo multiplataforma, então, libGDX é um bom framework para se aprofundar.

Conclusão

Neste artigo, nós falamaos de várias game engines e frameworks de desenvolvimento. Agora você deve ter uma melhor ideia de quais soluções cabem melhor em suas necessidades e as de seu próximo jogo. Obrigado pela leitura e espero que você tenha achado este artigo útil.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.