Desistindo da AndEngine

Recentemente lecionei um curso de desenvolvimento de jogos para Android na Coresoft (João Pessoa/PB). Nós escolhemos usar a AndEngine, uma engine para jogos escrita em Java e em cima do Android Application Framework, pois queríamos passar conhecimentos básicos de Android aos alunos, e também deixá-los a vontade no ambiente nativo da plataforma.

Pois bem, passado o curso eu posso dizer que não gostei da AndEgine. No começo eu estava estranhando um pouco, mas à medida que o curso foi avançando e eu fui a estudando mais, pude confirmar minhas suspeitas.

Antes que me atirem pedras, tenho que admitir que a engine é bem feita, implementa o modelo entidade-componente de forma legal, e tem muitas, mas muitas funcionalidades mesmo. São tantas classes utilitárias que o desenvolvedor se perde fácil no meio delas, e só vai descobrir mais tarde algumas soluções já prontas para problemas que ele resolveu de outra forma.

Mas apesar destes pontos positivos, existem pontos negativos que pesaram bastante pra mim.

O primeiro foi a quantidade de código que é preciso escrever, algum desse código é consequência da abordagem em cima do OpenGL ES (principalmente no carregamento de imagens, nunca vi coisa mais tosca). Mesmo depois de adquirir certa fluência com a AndEngine, você ainda tem que escrever muita coisa para poder colocar um sprite controlável na tela.

Tudo bem que neste ponto eu acabo fazendo uma comparação com a Flixel. Eu sei que esta última é feita em ActionScript 3, que o framework do Flex é mais simples que o OpenGL ES, mas no fim não importa. A curva de aprendizado é bem mais suave do que com a AndEngine. E a proficiência vem mais facilmente, e com ela a velocidade para prototipar é bastante alta.

O segundo ponto é a documentação. Ou a falta dela no caso. A AndEngine não possui uma documentação centralizada, o código-fonte não é bem comentado, e você acaba precisando procurar pelos fóruns da vida. Pra piorar, o desenvolvimento dela é bem ativo e se você utilizar a versão mais recente (o que é recomendado) você vai acabar sem achar nada e ter que perguntar diretamente ao autor, Nicholas Gramlich. O que não é tão ruim, pois ele costuma se dar bem com a comunidade, mas nem por isso o processo não deixa de ser um entrave.

Enfim, depois dessa experiência eu decidi tentar, mais uma vez, tocar um projeto pessoal e quero tentar algo para dispositivos móveis.

E que de preferência fosse multi-plataforma…

(Continua em um próximo post :))

Etiquetado , , ,

6 pensamentos sobre “Desistindo da AndEngine

  1. Diogo Carvalho disse:

    Eu já usei essa Engine, a utilizei p/ escrever uma versão de um app que eu havia feito p/ iOS usando cocos2D. Minha escolha foi devido ao Box2D que é utilizado em ambas engines… mas de fato, para pegar fluência nela foi meio Punk! E também senti muita dificuldade para achar uma documentação decente, acabei comprando um livro na Amazon sobre ele, ajudou bastante mas, a versão utilizada no livro estava defasada e tive que procurar muito p/ saber como adaptar algumas coisas! Estou estudando C++ para usar o Cocos2d-X que é multi-plataforma.
    Valeu pelo post!

    Diogo

  2. […] da minha decepção com a AndEngine, eu resolvi apostar em desenvolvimento […]

  3. Fernando disse:

    parece ate que foi eu quem escreveu o texto…vc disse tudo que to sentindo…estou a uma semana estudando a andengine e nao consigo avancar…todo exemplo que eu acho usa formas desatualizadas que nao funcionam mais … assim fica dificil de aprender…

  4. Luis disse:

    Galera, testem a LibGDX! Documentação excelente, comunidade bem ativa! E ainda é Muitplataforma (Android, IOS, Web, Desktop, tudo com exatamente o mesmo código 🙂 )
    Já usei Cocos e AndEngine, e LibGDX pra mim foi a melhor.

Deixe um comentário