Lo primero que se nos plantea, una vez decidido emprender desarrollos nativos tanto para las versiones de Android como de iOS, es las alternativas open source en el mercado para el desarrollo de juegos en android. Tras un vistazo previo encontramos que existen una serie de frameworks tales como:
- Age http://code.google.com/p/age/
- Angle http://code.google.com/p/angle/
- Libgdx http://code.google.com/p/libgdx/
- Android-2D-Engine http://code.google.com/p/android-2d-engine/
- CandroidEngine http://code.google.com/p/candroidengine/
- Rokon http://code.google.com/p/rokon/
- AndEngine http://www.andengine.org/
- jPCT-AE http://www.jpct.net/jpct-ae/
- Dwarf-fw http://code.google.com/p/dwarf-fw/
- Mages http://code.google.com/p/mages/
Dada la gran cantidad de alternativas, una primera selección la hicimos en función de la actividad del proyecto y de su madurez. Las opciones más atractivas nos parecieron AndEngine y Rokon.
Comparando el rendimiento y las características de ambas, podemos observar que AndEngine puede sufrir una caída de rendimiento en función de los objetos del juego algo que Rokon parece que es capaz de mantener constante, aunque para nuestro propósito ambos serian validos.
Los dos frameworks utilizan el motor de física box2d, algo fundamental en nuestro caso ya que tanto la versión Android como iOS deben usar el mismo motor, para que los juegos sean idénticos en comportamiento, y nos resulte mas sencillo calibrarlos.
En definitiva cualquier opción seria valida, pero nos decantamos por AndEngine, por la cantidad de código de ejemplos, actividad en sus foros y modularidad ya que existen extensiones para:
- AndEngine Live-Wallpaper Extension
- AndEngine .MOD-Player Extension
- AndEngine Multiplayer Extension
- AndEngine MultiTouch Extension
- AndEngine Physics Box2D Extension
- AndEngine Augmented-Reality Extension