Bueno en esta ocasión traemos un tema muy interesante, como crear o mas bién, como programar un juego para Android. Bien sabemos que recientemente los juegos en las diferentes plataformas mobiles ya sean tablets o smartphones se han estado haciendo muy populares, incluyendose en sistemas operativos como IOs, Android, Symbian o Blackberry OS. Nosotros estaremos hablando un poco mas enfocados al sistema Android.
Para dar una breve introducción hablemos un poco de lo que se necesita para crear un juego para Android y que opciones tenemos para hacerlo.
¿Que se necesita para programar un juego para android?
Para poder realizar un proyecto de este tipo se necesitan (en terminos de conocimientos) a grandes rasgos 2 cosas. Un cierto conocimiento de diseño gráfico, y un grado avanzado de conocimiento técnico. Hacer un juego no es una tarea fácil, y si es algo que se planea realizar por solamente 1 persona, no es imposible, si se puede hacer, pero requiere que el arquitecto del juego posea tanto habilidades de diseño(dependiendo del juego) y también un cierto grado de habilidades técnicas. Si tu ya posees habilidades de diseño no esta demás decirte que solo se es necesario para crear imágenes que luego serán implementadas por el programador para darle vida al juego, y es preferente que el formato de dichas imagenes se manejen en formatos como PNG que son muy amigables con Android. Así mismo para generar dichas imagenes se pueden usar alternativas tanto gratuitas(GIMP 2.0) o de paga (Photoshop, Corel Draw, Illustrator, Maya) para generar imágenes que puedan utilizarse en el juego, por lo pronto nos enfocaremos un poco mas en la parte técnica que se requiere para hacer un juego para Android.
Antes de continuar quiero especificar que los juegos están compuestos por los siguientes 4 elementos muy importantes.
- Gráficos : se refiere a las imagenes que utilizamos en un juego.
- Audio : musica de fondo, o sonidos del juego.
- Entradas(inputs) : entradas con las que interactua el usuario(botones, acelerometro, teclado, multitouch)
- Game Loop : El ciclo del proceso principal del juego actualizado cada cierto tiempo.
¿Que tengo que saber para programar un juego?
Realmente para programar un juego se tiene que saber una variedad de cosas distintas. La primera si es que planeamos desarrollarlo para Android, es conocer el lenguaje base de programación para el entorno de desarrollo Android, es decir, hay que saber programar en Java. Lo segundo que tenemos que saber es implementar la lógica esencial para programar un videojuego, y para hacer esto tenemos que aprender un poco como funcionan la mayoría de los juegos.
Naturalmente un juego esta pensado como un programa cualquiera, con la diferencia que este tiene que prácticamente saber pensar por si mismo y consta de varias fases de desarrollo.
- Lo primero que tenemos que hacer es un diseño, a papel y a lapíz de cual sera nuestro juego, ya que si no tenemos idea de que vamos a hacer, no hay realmente ninguna forma de pensar en como lo vamos a programar, definir elementos como el personaje principal, los enemigos, e incluso las pantallas que tendrá el juego es una tarea muy importante antes de comenzar a programar.
- Posteriormente tenemos que implementar todo ese diseño en la aplicación. A diferencia de las aplicaciones normales de Android, un juego no suele ser un programa estático que espera que el usuario realice algún tipo de entrada para que el programa funcione, si no que el juego piensa por si mismo, el juego se esta “actualizando” constante y permanentemente, y puede tomar decisiones en base a nuestra actividad o inactividad. Al final lo vemos reflejado en los llamados “frames” que vemos al jugar un videojuego cualquiera.
- Para poder implementar esta lógica debemos construir un llamado Game Loop. Este no es mas que un ciclo, un proceso que se actualiza constantemente durante la ejecución del juego, y en el debemos hacer todos los calculos del juego, registro de interacciones del usuario, y generar una vista final para el jugador. Finalmente se tiene que implementar todos los componentes del juego, sean graficos, audio, e interacciones para obtener un buen juego.


