«

»

sep 12 2011

Un acercamiento al desarrollo de juegos en Android

 

El desarrollo de juegos es difícil. No tanto porque se trate de una industria enorme y llena de competencia, sino porque hay una enorme cantidad de información para digerir antes de que puedas empezar a crear el juego de tus sueños.
El día de hoy te voy a platicar acerca de los conceptos básicos que necesitas dominar y de las herramientas que puedes utilizar para que te animes a entrar a este fascinante mundo de creación de juegos en Android.

¿Qué tipo de juego quieres crear?

El primer paso del recorrido consiste en definir qué género es al que pertenecerá tu juego. A menos claro, que tengas en mente algo completamente nuevo para la industria. Básicamente, tenemos las siguientes categorías de las que te puedes basar:
[list type="green"] [li] Juegos casuales: Esta categoría es la que predomina en el Android Market, y se refiere a los juegos con una gran accesibilidad, es decir, no necesitas ser un gamer de hueso colorado para jugarlos, y tienen la característica de que pueden aumentar el número de jugadores potenciales de manera muy rápida. Ejemplo: Angry Birds.[/li]

[li]Juegos de puzzle: No necesitan una introducción ya que tenemos grandes referentes como el Tetris. Aquí pueden entrar en contexto nociones de física y lógica que se pueden programar para hacer más retador el juego. [/li]

[li]Juegos arcade y de acción: Este tipo de juegos son los que dan rienda suelta al potencial de la plataforma Android ya que aquí es cuando podemos usar características más complejas como elementos en 3D que nos ayudarán a crear juegos en primera y tercera persona, juegos de carreras, etc.[/li]

[li]Juegos tower-defense: Esta categoría deriva de los famosos juegos de estrategia para PC, y que evoluciona al concepto de juegos independientes. En Android, estos juegos son los más vendidos en su tienda de aplicaciones.[/li]
[li]Innovación: Y como te comentaba líneas arriba, existen juegos que no entran en las categorías anteriores ya que se centran en explotar las nuevas características de los dispositivos actuales para crear nuevas formas de jugar y nuevas experiencias de usuario. [/li] [/list]

¿Qué herramientas puedo utilizar?

El framework de Android es extenso y puede resultar confuso en ocasiones. Lo bueno de esto es que para cada cosa que se nos ocurra hacer existe una API que podemos utilizar e incluso una serie de SDK’s potenciadas a la creación de juegos. Antes de nombrar las herramientas disponibles es importante que sepas que como desarrollador de juegos estos son los pilares que debes conocer:
[list type="green"] [li] Gestor de ventanas. Que se refiere a la disposición de los elementos del juego en la pantalla de los dispositivos.
[li]Input. Los juegos se caracterizan por recibir órdenes que es la forma en la que le decimos si avanzamos, saltamos, retrocedemos, disparamos, etc.[/li]
[li]File I/O. Debemos conocer cuestiones básicas de entrada y salida de datos para registrar logros, niveles y cuestiones relacionadas con esto.[/li]
[li]Audio. En los juegos son importantes los efectos de sonido, ya sea el sonido de background que puede acompañar todo el desarrollo del juego o los sonidos que se disparan al jugar (explosiones, golpes, efectos de sonidos, etc.)[/li]
[li]Gráficos. ¿Qué sería de un juego sin los gráficos que lo forman? El primer paso será delimitar si utilizar 2D y 3D para decidir qué SDK es el que nos brinda los resultados que queremos obtener en el producto final.
Para desarrollar juegos en Android existen un conjunto de herramientas y entornos de desarrollo que podemos utilizar para ayudarnos a crear juegos de gran calidad. A continuación te enlisto los que considero más populares por las características que ofrecen, sin embargo, no son los únicos:[/li]
[li]Corona SDK. Lo que destaco de este SDK es la facilidad y rapidez con la que puedes empezar a crear juegos, así como el motor de física que minimiza las líneas de código necesarias para crear esa sensación de realidad en los objetos del juego. En Androideity hice una revisión más detallada de esta herramienta para que conozcas las ventajas de Corona SDK, el lenguaje que utiliza para desarrollar los juegos y una serie de recursos como tutoriales para que empieces a crear demos.[/li]

[li]AndEngine. Es una alternativa de código abierto que nos permite utilizar gráficas 2D con la ayuda de OpenGL y utilizar Java como lenguaje principal para crear juegos. AndEngine es muy popular dentro de la comunidad de desarrolladores Android y de la misma forma que el anterior SDK, puedes consultar un  post dedicado a su análisis en este link.  [/li] [/list]

Conocimientos básicos

Sin importar la plataforma y el lenguaje en el que programes juegos, hay conocimientos específicos que debes dominar en un alto porcentaje. Si estás leyendo este post es porque quizás desarrolles en varios lenguajes y tienes el interés de saber qué es lo que ofrece Android para este mercado.
Recuerda que primero es sensibilizar la lógica de un programa y luego es aprender la sintaxis del lenguaje que vayas a utilizar. Uno de mis blogs preferidos en cuánto a lógica orientada a creación de juegos es Razón Artificial en dónde puedes encontrar recursos muy interesantes de conceptos de 2D, uso de C++ (un lenguaje con el que tendrás que lidiar independientemente de la plataforma),  gestión de escenas en juegos, manejo de eventos, y varios ejemplos que sin duda te darán un panorama más amplio de este tema.
También, te recomiendo que le eches un ojo al post “Game development for Android: A quick primer” de la documentación oficial de Android developers.

Recomendaciones para lograr el éxito

[list type="green"] [li] Pantallas y características. Recuerda que en Android tenemos una larga lista de dispositivos. Resulta una buena idea que definas si los juegos que vas a crear serán para teléfonos o para tablets ya que esto puede ayudarte también a pulir tu idea del juego y hasta puede cambiar las reglas con las que el jugador va a interactuar.[/li]
[li]Arma tu equipo. El desarrollo de juegos es un tema complejo y uno a veces no puede ser todólogo. Elige crear un equipo de gente especializada en cada área (diseño, audio, desarrollo) para que los resultados finales sean mejores.[/li]
[li]Disciplina. Como en todo, si decides introducirte al desarrollo de juegos debes ser muy disciplinado en tu aprendizaje. Son muchas herramientas y conceptos que debes dominar para que el juego sea exitoso.[/li]
[li]Diviértete. Si le pones pasión a lo que haces y tienes todas las ganas de ver tu proyecto hecho realidad ya tienes la primera fase ganada. [/li] [/list]

Agradezco la invitación del equipo de Androjuegos para participa en su blog. Este es un tema fascinante y muy extenso por el lado de programación. Este post es sólo un pincelazo del panorama que debemos conocer para empezar a desarrollar juegos. Espero que te haya sido de utilidad la información.

Soy Aurora Rodríguez, editora y autora del blog Androideity, comunidad de desarrolladores en México. Sígueme en Twitter: @condesa_sama y @androideity.

Share

Acerca del autor

Polo

Adicto a la tecnología y a Android, con ganas de ofreceros los mejores juegos y noticias sobre este mundo ;)

5 comentarios

1 ping

Ir al formulario de comentarios

  1. Zifu

    Tenía pensado desde hace unos días la creación de un juego para android bastante famosillo pero que aún no hay ninguna versión para android, el problema es que mis conocimientos de programación se quedan en visual basic (hace ya años xD) y cositas muy básicas de java por lo que incluso había pensado en la posibilidad de hacerlo de una manera muy muy cutre con alguna aplicación del estilo appinventor, pero leyendo este post y teniendo en cuenta la cantidad de tiempo libre que tengo ahora mismo me ha animado a informarme, a leer y aprender y si tengo que hacer algo aunque tarde mas, a hacerlo en condiciones.

    A ver si de aquí a un tiempo puedo cumplir esta pequeña meta.

    Porcierto, el juego en el que había pensado es el “¿Quien es quien?” a traves de bluetooth haciendo el movil de tablero unicamente (de momento). Y la idea se la debo a mi novia en realidad jejej que estabamos jugando al hundir la flota (posteado en este blog hace unos días) y se le ocurrió.

    1. Sheldon

      Si te interesa he visto que ya hay un juego parecido en el market aunque se llama ¿Quién eres? https://market.android.com/details?id=com.phonexd.quieneres

  2. Sheldon

    Ya hay un juego parecido en el market android aunque se llama ¿Quién eres?https://market.android.com/details?id=com.phonexd.quieneresPor cierto muy bueno el artículo

    1. Sheldon

      El otro post no se grabó bien.Ya hay un juego parecido en el market aunque se llama ¿Quién eres?https://market.android.com/details?id=com.phonexd.quieneres

      1. Raul Lopez

        Y con el nombre “¿Quién es quién? también esta.
        https://market.android.com/details?id=xam.sykey.who_are_you 

  1. Bitacoras.com

    Información Bitacoras.com…

    Valora en Bitacoras.com:   El desarrollo de juegos es difícil. No tanto porque se trate de una industria enorme y llena de competencia, sino porque hay una enorme cantidad de información para digerir antes de que puedas empezar a crear el juego de……

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes utilizar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>