viernes, 4 de mayo de 2012

AndEngine, otro motor de juegos 2D OpenGL


Esta semana estaremos hablando acerca de varios frameworks y SDK’s enfocados al desarrollo de juegos y continuando con esta serie, hoy vamos a platicar acerca de uno de los preferidos por los desarrolladores: AndEngine, un motor de videojuegos 2D paraAndroid.

Una de las características que más resalta de AndEngine es que es de código abierto y que en sí, se trata de una implementación 2D de OpenGL para Android por lo que utilizaremos puramente el lengauej Java, a diferencia de los motores Unity3D y Shiva3D con los que podíamos trabajar con lenguajes como C#, Python, o incluso Javascript.
Uno de los puntos en contra de AndEngine es que la documentación “oficial” es aún muy pobre, por lo ni siquiera en la Wiki lograremos encontrar toda la información que necesitemos. Afortunadamente, en la web podemos encontrar algunos links muy interesantes a tutoriales para crear juegos con AndEngine y con ellos podremos iniciarnos con éxito en este motor de juegos.

Conceptos básicos de AndEngine
Para empezar a familiarizarnos con esta herramienta, hay que saber que existe una terminología propia de AndEngine, y a continuación menciono los conceptos básicos que debes dominar según el sitio de Droideando:
  • BaseGameActivity: El BaseGameActivity es la raíz del juego, que contiene el motor y crea la vista donde se va a dibujar todo. Hay siempre exactamente un solo Engine por cada BaseGameActivity.
  • Engine: El Engine es el motor interno del juego, se encarga de ir dibujando en pantalla y actualizando objetos en la escena, que contiene todo el contenido que tu juego lleva. Normalmente hay una escena por Engine, a menos que vayas a usar unSplitScreenEngines.
  • IResolutionPolicy: Una implementacion de IResolutionPolicy interface es parte delEngineOptions. Te hace abstraerte de la resolución del terminal, tú trabajas para una resolución y el AndEngine se encarga del resto.
  • Camera: Un objeto Camera define el rectángulo visible actualmente de la escena actual, no tiene por qué ser la escena completa. Normalmente hay una cámara por escena. Hay subclases específicas que permiten hacer zoom y mover la cámara suavemente.
  • Scene: La clase Scene es el contenedor para todos los objetos que se van a dibujar en la escena. Una escena puede tener Layers, que son capas para ordenar objetos. Hay subclases de la Scene como CameraScene/HUD/MenuScene que tienen comportamientos específicos.
  • Entity: Una entidad es un objeto que puede ser dibujado, como Imágenes, rectángulos, Texto, Líneas. Una entidad tiene posición/rotación/zoom/color…
  • Texture: Una textura es una imagen que se guarda en memoria. En Android, las imágenes deben ser una potencia de 2.
  • ITextureSource: Una implementacion de ITextureSource interface se encarga de cargar una imagen en una posición en la textura.
  • TextureRegion: Una TextureRegion define un rectángulo en una imagen. LasTextureRegion se usan por Sprites para usar una imagen grande en la que guardamos muchas imágenes pequeñitas.
  • PhysicsConnector: Motor de físicas integrado en el Engine.

¿Por dónde empiezo?
Lo primero es descargarte el código desde la página oficial de AndEngine. Aquí encontrarás links hacia el foro y el blog del proyecto así como un código QR que te enlaza a una aplicación que te puedes descargar en tu Android para ver algunos ejemplos de lo que puedes hacer con AndEngine.

Links de referencia
Si quieres empezar a crear demos con AndEngine te comparto unos links que te pueden servir de mucha ayuda para lograrlo.
  • Droideando. Un excelente blog enfocado a publicar series de tutoriales acerca de AndEngine y tips muy útiles para desarrollo de juegos en Android.
  • Guía tutorial para programar juegos 2D en Android utilizando AndEngine. Este es uno de los recursos que más recomiendo que revises ya que se explica desde cómo enlazar tu proyecto con la librería, la estructura básica de un juego, implementación de características básicas y cómo mejorar el rendimiento de un juego.
  • AndEngine – Examples. Aplicación Android con ejemplos de AndEngine para que los veas corriendo en un entorno completamente “real”.
  • Código del proyecto. Aquí encontrarás varias extensiones que puedes utilizar en tus proyectos y una serie de video dónde se muestra su uso.
  • Foro y Blog oficiales.
  • Artículo “Eligiendo un framework de desarrollo para Android”. Este artículo expone una comparativa entre varios frameworks de los cuáles podemos elegir para crear juegos. Te ayudará a decidir cuál es que más se acomoda a tus necesidades.

Seguiremos platicando acerca de otros frameworks que existen para desarrollar videojuegos en Android. Si actualmente estás desarrollando juegos, ¿qué herramienta utilizas?.

2 comentarios:

  1. Saludos!!!! Pasa por mi blog, en este hago tutoriales con andengine y he publicado un juego open source!!!
    http://vinicius-dsl.blogspot.com/

    ResponderEliminar
    Respuestas
    1. ok, muchas gracias por tu link, y felicitaciones por tu blog. Saludos!!

      Eliminar