EDIT: PSA: Lembre-se de que esta resposta foi escrita em 2012 e, 3 anos depois, existe muito mais mecanismos, e muitos deles são feitos exclusivamente para dispositivos móveis. Não tome essa resposta como garantida e pesquise no Google por mecanismos mais recentes.
Porto o Irrlicht no Android e o uso para jogos em 2D. Não é a melhor solução, mas tenho desempenhos fortes. Eu tentei muitos frameworks Java, mas o Garbage Collector pode atrasar seus jogos durante 0,2s no telefone G1 ... Portanto, o framework deve fazer uma alocação com muito cuidado.
Estruturas comerciais C ++:
- unity3D : muito bom (disponível no Android, iOS, Web, Windows, OS X) [Jogo: Rocket Bunnies]
- Unreal Engine (comercial): o melhor mecanismo, mas não para iniciantes [Jogo: Dungeon Defenders]
Estruturas C ++ de código aberto:
- SDL : provavelmente a melhor biblioteca C para desenvolvedores de jogos, código aberto e multiplataforma (incluindo dispositivos móveis)
- Ogre3D : o melhor mecanismo 3D de código aberto, mas é um grande quadro
- Irrlicht : bom desempenho, estrutura leve [Jogo: Moblox]
- Linderdaum Engine : código aberto para Windows e Android
- Cocos2d-x : plataforma cruzada de código aberto
Frameworks de código aberto Java:
- LibGDX : Código aberto, muito popular, suporta múltiplas plataformas, suporte para Tiled, Box2D e outros, boa documentação
- AndEngine (código aberto): bom desempenho. Para documentação, veja exemplos e leia o código fonte; mas é a biblioteca gratuita para iniciar um projeto de jogo [Jogo: Drop Block]
- cocos2d para Android: problema do coletor de lixo
- rokon : bom desempenho e projetado para dispositivos móveis, mas o projeto parece morto.
Motor de Física:
- box2d (OpenSource): rápido e fácil
- jbox2d (OpenSource): tão lento no Java que criei um wrapper JNI com SWIG para usar o box2d nativo (o AndEngine faz o mesmo)
- chipmunk (OpenSource): rápido, mas eu prefiro o box2d
- bullet (OpenSource): excelente mecanismo 3D
Atenção, com o Froyo e o JIT, as bibliotecas Java têm um desempenho muito melhor. Mas os problemas do Garbage Collector são sempre válidos. Com Gingerbread, o coletor de lixo é contínuo, então não há problema.
Estou surpreso que ninguém tenha mencionado a libgdx. http://code.google.com/p/libgdx/
fonte
O AndEngine é bastante novo, mas é de código aberto e parece promissor.
Auto descrição:
fonte
Eu acho que você poderia usar o jogo Replica Island de Chris Pruett como um exemplo de um jogo 2D. Acho que deveria ser a base para outros jogos, conforme explicado neste vídeo do Google I / O 2010. Você pode assistir ao jogo aqui .
fonte
O Unity3D (que tecnicamente pode ser usado para criar jogos em 2D) está "chegando em breve" para Android: http://unity3d.com/
fonte
O cocos2d para Android é baseado na biblioteca cocos2d do iPhone . Não tenho certeza de como é utilizável no momento, mas vale a pena conferir.
fonte
Rokon parece muito bom, ainda não tentei, mas parece bastante ativo.
fonte
androidbox2d é a porta android do Box2D. O Box2D é um mecanismo de física de corpo rígido 2d rico em recursos.
fonte
Existe uma porta Android de SDL em andamento no momento, e SDL é provavelmente a melhor estrutura de gráficos 2D disponível no mercado. Ele foi projetado por um dos líderes da Blizzard, para que você conheça alguma experiência real em criação de jogos.
fonte
Mecanismo de jogo SIO2. Acabei de lançar uma nova versão com suporte completo para Android. Você pode criar jogos 2D e 3D usando-o e portando entre plataformas diferentes. http://sio2interactive.com
fonte
Slick2D e GOLDEN T GAME MOTOR
fonte
Estou trabalhando em um mecanismo de jogo 2D de código aberto chamado YoghurtGum, que deveria ser para Windows Mobile e Android. No entanto, portar tudo para o Android C ++ se mostrou extremamente difícil.
Esta é a resposta mais inútil de todas, estou bem ciente.
fonte
Se você gosta de desenvolver no AIR for Android, pode usar o Flash. O Flash em si não possui nenhum recurso específico para o jogo, mas graças ao sucesso do Flash na Web, há uma enorme quantidade de bibliotecas de terceiros, especialmente projetadas para jogos.
Algumas das estruturas de terceiros mais populares para jogos no Flash incluem Flixel (http://flixel.org/) e PushButtonEngine (http://pushbuttonengine.com/), totalmente projetadas para o desenvolvimento de jogos. O Flash também possui uma versão do Box2D (mecanismo de física mencionado acima - http://box2dflash.sourceforge.net/ ) e existem várias bibliotecas 3D, como o Papervision (http://code.google.com/p/papervision3d/) se você quiser seguir esse caminho no futuro.
A principal desvantagem do desenvolvimento no AIR, porém, é que tenho certeza de que você precisará direcionar o Froyo 2.2 ou posterior, para que aparelhos mais antigos sejam deixados de fora.
fonte
O Cocos2D-x é uma porta do Cocos2D para iPhone escrita em C ++ direcionada ao Android NDK e está sendo ativamente desenvolvida para obter paridade de recursos com a versão do iPhone. Não haverá problemas de coleta de lixo, e você terá uma porta relativamente fácil para iOS, Win32 e provavelmente OSX em um futuro próximo.
fonte
PlayN é uma estrutura de jogo 2D multiplataforma que tem como alvo o Android, além de HTML5, Flash e JVM. É um pouco novo, mas foi usado para escrever a implementação HTML5 do Angry Birds e tem uma comunidade razoavelmente ativa.
fonte