Vistas de página en total

Mostrando entradas con la etiqueta videojuegos. Mostrar todas las entradas
Mostrando entradas con la etiqueta videojuegos. Mostrar todas las entradas

martes, 2 de agosto de 2016

Instalación de Corona

Existen dos versiones del simulador, una para Windows y otra para MacOS. Con la versión para Windows podremos ejecutar nuestro programa en el simulador y podremos generar la versión para Android únicamente (no podremos generar la versión para iOS en Windows debido a restricciones de Apple). Con la versión para MacOS igualmente podremos ejecutar nuestro programa en el simulador y generar la versión para Android, pero además, podremos también generar la versión para iOS. Por lo tanto, si necesitamos generar para iOS tendremos que disponer de un ordenador con MacOS. Vale cualquier modelo, ya que Corona no tiene unos requisitos especiales. También existe la opción de alquilar un Mac en la "nube". Por ejemplo MacinCloud permite alquilar un Mac y trabajar de forma remota en él. Los precios son bastante razonables, como por ejemplo, 1 dólar por hora o 20 dólares al mes, sobre todo si sólo lo necesitamos para generar la versión para iOS (algo que podemos realizar en unos pocos minutos, ya que el desarrollo lo podemos hacer prácticamente en su totalidad en un PC Windows).

También es importante indicar que para generar el APK de Android no necesitamos instalar el SDK de Android, ya que Corona se encarga de generar nuestro APK remotamente (como ya veremos). Esto nos ahorra muchas complicaciones y seremos capaces de hacer nuestro primer programa para Android en pocos minutos. Sin embargo, para generar para iOS es necesario instalar XCode, el IDE de Apple (el cual es gratuito).

Antes de instalar Corona, es necesario instalar un editor de texto para editar los ficheros Lua. En principio vale cualquier editor, por ejemplo, Notepad++ en el caso de Windows, y TextEdit en el caso de Mac. Sin embargo, yo recomiendo Sublime Text, un editor muy potente, multiplataforma, que además tiene un plugin especial para Corona SDK. Con este plugin tendremos opciones de autocompletado, no sólo para Lua, sino también para el API de Corona. Además, podremos lanzar y depurar nuestros programas desde el propio editor. No es un editor gratuito, pero realmente puede merecer la pena. He leído en algún sitio que la versión de evaluación de Sublime la renuevan indefinidamente si se va solicitando cada vez que caduca, pero esto sólo es un rumor.

Lo primero que tenemos que hacer para trabajar con Corona es instalar el simulador.

Instalación de Corona en Windows

Entramos en la web de Corona: https://coronalabs.com/, introducimos nuestro mail (1), para que ellos sepan quién se ha descargado Corona y pulsamos en Download Free SDK (2).


Si no nos hemos registrado antes, es el momento. Para registrarnos simplemente tendremos que dar una cuenta de mail y una clave.

Inmediatamente entraremos en la página de descargas. Seleccionaremos la versión para Windows (1) y pulsando el botón Download (2) se descargará el fichero .msi instalador para Windows. 

En la página de descargas también tenemos disponibles para descargar las versiones que ellos llaman Daily builds. Son versiones últimas de lo que están desarrollando ahora mismo. Normalmente no es necesario utilizar estas versiones, y vale con la versión oficial. Pero en algunas ocasiones añaden alguna funcionalidad muy importante o corrigen algún error que para nosotros es importante, y entonces sí merece la pena utilizar la última Daily build y no esperar a que saquen la siguiente versión oficial (que suele ser cada varios meses).

El siguiente paso es instalar Corona en nuestro PC. Para ello, damos doble click sobre el fichero .msi que hemos descargado. Daremos permiso para ejecutar el instalador:


Seguiremos las instrucciones del instalador paso a paso, ya que no hay opciones importantes, salvo el directorio de instalación, que dejaremos el directorio por defecto.

Y ya lo tenemos. Es muy sencillo instalar Corona SDK para Windows, como hemos visto. En la siguiente entrada del blog realizaremos un sencillo ejemplo para comprobar que todo ha ido bien.

Instalación de Corona en MacOS

Entramos en la web de Corona: https://coronalabs.com/, introducimos nuestro mail (1), para que ellos sepan quién se ha descargado Corona y pulsamos en Download Free SDK (2).


Si no nos hemos registrado antes, es el momento. Para registrarnos simplemente tendremos que dar una cuenta de mail y una clave.

Inmediatamente entraremos en la página de descargas. Seleccionaremos la versión para Mac (1) y pulsando el botón Download (2) se descargará el fichero .dmg instalador para MacOS. 



En la página de descargas también tenemos disponibles para descargar las versiones que ellos llaman Daily builds. Son versiones últimas de lo que están desarrollando ahora mismo. Normalmente no es necesario utilizar estas versiones, y vale con la versión oficial. Pero en algunas ocasiones añaden alguna funcionalidad muy importante o corrigen algún error que para nosotros es importante, y entonces sí merece la pena utilizar la última Daily build y no esperar a que saquen la siguiente versión oficial (que suele ser cada varios meses).

El siguiente paso es instalar Corona en nuestro Mac. Para ello, damos doble click sobre el fichero .dmg que hemos descargado y aceptamos la licencia:


Arrastramos Corona SDK a la carpeta de Aplicaciones:


Y ya lo tenemos. Es muy sencillo instalar Corona SDK para MacOS, como hemos visto. En la siguiente entrada del blog realizaremos un sencillo ejemplo para comprobar que todo ha ido bien.

jueves, 14 de julio de 2016

Quiero hacer apps y juegos para móviles

Este blog va a estar dedicado a la programación de aplicaciones y juegos para móviles utilizando Corona SDK.

Desde que aparecieron los primeros smartphones, mucha gente ha tenido ideas para desarrollar un juego o una aplicación para estos dispositivos. Pero hay varios problemas a los que hay que enfrentarse, sobre todo si no se tiene mucha experiencia en este mundo del desarrollo para móviles.

El primer problema al que nos enfrentamos es que no existe una única plataforma o sistema operativo para móviles. Nos encontramos con al menos, dos grandes plataformas: iOS y Android. También podríamos incluir Windows Phone, pero a día de hoy, no está tan expandido como las otras dos.

Las aplicaciones para Android se desarrollan en Java y se utiliza Android Studio como IDE. Las aplicaciones para iOS se desarrollan en Swift (o bien en el antiguo Objective-C) y se utiliza XCode como IDE. Ambos entornos son completamente diferentes, tienen APIs muy distintos y requieren de una especialización importante para desarrollar aplicaciones o juegos de una complejidad media.

Podríamos pensar que lo mejor es centrarse en una de las plataformas, Android o iOS, especializarse en ella y desarrollar nuestra idea sólo para esa plataforma. Si con el paso del tiempo, empieza a tener éxito, habría que plantearse desarrollarla de nuevo para la otra plataforma. Esto tiene algunos inconvenientes: Nunca sabemos si nuestra idea va a tener éxito en una plataforma y quizás empecemos por la opción errónea, además, quizás el éxito está asociado al momento actual. Os voy a contar mi experiencia. Hace unos cuatro años, desarrollé un juego para Android (Retro Kong Jungle), tuvo un éxito inicial inesperado para mí. En pocos meses llegó a las 50000 descargas. Entonces me planteé desarrollarla de nuevo para iOS, pero la falta de tiempo para aprender el nuevo entorno y la inexperiencia, hicieron que esto se retrasara hasta 3 años. Cuando por fin me decidí a hacer el desarrollo del juego para iOS, me llevé la gran sorpresa que prácticamente no tiene descargas (Retro Kong Jungle). Conclusión, las cosas hay que hacerlas en su momento, no dejarlas para después. Si cuando desarrollé el juego inicialmente lo hubiera hecho para las dos plataformas, quizás la historia hubiera sido muy distina. Nunca lo sabré.

Una solución por la que optan algunos desarrolladores es la aplicación Web. Se trata desarrollar la aplicación y publicarla en un servidor web, pero haciéndola responsiva, es decir, adaptada a dispositivos móviles. Ésta no es una mala solución para algunas aplicaciones (por supuesto no para todas), y desde luego, no es válida en absoluto para juegos. Creo que este asunto, no merece más explicación.

Por suerte, existen herramientas multiplataforma, las cuales con una única base de código fuente, permiten el despliegue en múltiples plataformas móviles.

Pero hay muchas diferencias entre todas estas plataformas, y cada una tiene sus ventajas e inconvenientes si comparamos con implementar un desarrollo distinto para cada plataforma.

El primer tipo de herramientas está basado en HTML-Javascript-CSS. No se trata de aplicaciones web, si no de herramientas en las que se programa en estos lenguajes y generan una especie de navegador web embebido en la aplicación. A diferencia de la aplicación web de toda la vida, estas aplicaciones no se ejecutan online, si no que se ejecutan localmente. El código javascript que controla la aplicación lleva el flujo de toda la aplicación en el propio móvil, sin necesidad de conectarse a un servidor web para cargar las páginas. El ejemplo más típico de estas herramientas es PhoneGap. La gran ventaja de estas herramientas es que se utilizan lenguajes muy conocidos para los desarrolladores. El problema es que desde javascript no se puede acceder a todos los recursos nativos de cada plataforma, además no es una solución para desarrollar juegos.

Otro tipo de herramientas, como Xamarin, permite desarrollar en un único lenguaje de programación y ofrece unas librerías en cada plataforma de forma que el API sea común. También ofrecen otros APIs específicos de cada plataforma, y por lo tanto, casi siempre habrá que desarrollar un porcentaje, más o menos elevado de la aplicación, específicamente para cada plataforma. La gran ventaja es la utilización de un lenguaje de programación y de APIs comunes. Pero obliga a desarrollar partes de la aplicación para cada plataforma.

Por último, tenemos las herramientas que traducen el código fuente común a cada plataforma. Este es el caso de Corona SDK. En el caso de Corona, no se utilizan widgets nativos para la interfaz de usuario, sino que dibujan en la pantalla utilizando OpenGL. De esta forma, el resultado en cada plataforma es prácticamente igual. Lo cual es una ventaja, pero también se podría considerar un inconveniente, ya que los usuarios de cada plataforma están acostumbrados a utilizar ciertos widgets. Por ejemplo, una aplicación Corona que ponga un botón, tendrá el mismo aspecto tanto en Android como en iOS. La gran ventaja es que, además de utilizar un lenguaje común, se pueden desarrollar todo tipo de aplicaciones multiplataforma rápidamente, así como juegos.

Este blog está dedicado a Corona SDK, e iremos viendo poco a poco sus características. Haremos ejemplos desde lo más sencillo hasta aplicaciones completas. Aprenderemos el lenguaje de programación que utiliza. Y también, veremos algunas herramientas útiles que utilizaremos constantemente en el desarrollo para móviles: editores de texto, bitmaps, vectorial, audio, etc.

Espero que este blog os ayude a empezar en el mundo de la programación móvil de una forma sencilla y sobre todo, divertida. Yo creo que el desarrollo tiene que ser algo divertido. El programador que no se divierte programando, quizás debería reflexionar un poco sobre su trabajo, porque la programación es algo muy divertido, y si además, hacemos videojuegos, mucho más.

Por último, sólo una advertencia. Aunque voy a explicar el lenguaje de programación de Corona SDK, doy por supuesto que tenéis unos conocimientos mínimos de programación. No voy a explicar lo que es un if o un bucle. No hacer falta ser expertos programadores, pero sí hace falta cierta base mínima.