jueves, 26 de septiembre de 2013

Y ahora.... la Versión 2.0

En la presentación de 9 de septiembre se expuso el juego terminado a los demás grupos de desarrollo, en donde gracias a sus comentarios descubrimos detalles que podríamos mejorar. Detalles como que el juego tenia una velocidad lenta y que se demoraba demasiado en llegar a etapas mas difíciles. Otros aspectos técnicos al proyecto de curso es que no logramos conectar el IPhone al proyector (aspecto necesario para la presentación final), por lo cual optamos por dejar concluida la versión 1.0 del videojuego y adaptar estos cambios a un nuevo dispositivo.

Migracion de plataforma iPhone a iPad

Se rediseña el juego para poder visualizarse en un iPad-mini el cual tiene la siguiente resolución 768x1024, siendo muy superior que la actual que poseía el iPhone el cual tenia cargadas 2 resoluciones la del iPhone normal, puesto que estábamos programando para un dispositivo 3GS y su resolución 320x480 y adicionalmente cargábamos la resolución retina que es 640x960, tambien hubo que crear un perfil para el dispositivo y cambiar casi el 30% del código, puesto que al cambiar a XCode5, se eliminaron varios formas de llamar a las funciones y eliminaciones por obsolescencia de parte de Apple de instancias, por ejemplo las llamadas del acelerometro ya no funcionaban, pasaron de UIAcelerometer incluido en el framework Foundation, a ser utilizado mediante CoreMotion. 
Me ha sorprendido lo drástico que pueden llegar a ser los cambios de versiones en XCode, ya que prácticamente son librerías completas las que dejan de funcionar.


Generamos nuevamente el escenario de juego para adaptarlo a las nuevas resoluciones y como fue mencionado anteriormente las dimensiones en la programación fueron adaptadas a las nuevas del iPad.


En cuanto a las ventajas que se ganaron con esta nueva resolución y hardware del dispositivo, fue la opción de poder generar mas obstáculos como fue visto en la presentación (de 5 a 15 rocas), pero no se implementó el modo vibración ya que que los iPads no incorporan esta característica. 
Otro de los detalles de esta nueva versión es que al momento de entrar en Full Screen el juego no oculta la barra de navegación del iPad, aspecto que si ocurría en el dispositivo iPhone 3GS, el tema será resuelto a medida que se tome mas familiaridad con las nuevas implementaciones y/o se mejore la documentación que trae iOS7.

Con esta actualización se da por obsoleto el dispositivo con el cual constatamos y el cual fue presentado en la preview de la semana antes de fiestas patrias de como funcionaban todos los aspectos a los cuales nos habíamos comprometido, y el planB por la no visualización del iPhone 3GS en el proyector recayó en la adoptaron de presentar en iPad y por eso se genera este post, porque es importante mencionar todas las labores extras que se debieron realizar.




-En la Imagen: Vista del  XIB de inicio para la plataforma iPad.




lunes, 9 de septiembre de 2013

Solución de Bugs, ediciones varias

Bueno en el testing del juego nos encontramos con errores que hacían que la aplicación se colgara o quedara sin movimiento y otras relacionadas con el sonido, se describirán en detalla a continuación.

v1.0.1- Se han resulto los problemas que ocasionaban que el auto quedase inmóvil al comisionar con 2 obstáculos a la vez, esto generaba que las respuestas por parte del acelerometro no fuesen procesadas y se terminaba por perder la partida.

Porque ocurría esto ?. Ocurría porque no habíamos puesto un Release en la parte donde se hace referencia al evento que maneja las colisiones, puesto que no estamos trabajando con ARC, como se menciono en spot anteriores, el significado de los ARC, son quienes destruyen los objetos para liberar la memoria.

v1.0.2- Se han resulto problemas referentes a la perdida del sonido, inclusive cuando este estaba activado en las opciones, esto ocurría cuando se iniciaba el juego y el dispositivo estaba con el silenciado o vibrador activado, se iniciaba el juego, y este no volvía a cargar los sonidos. Por que ocurría ?. Este punto comenzó a ocurrir cuando se empezaron a migrar referencias de iOS6 hacia iOS7, por lo tanto se alude el problema a los cambios que hace iOS 7 en AudioToolBox, se soluciona volviendo al estado anterior.

v1.0.3- Se resuelven problemas que ocasionan que al entrar en la view de detalles se perdiera la view del juego, esto también ocasionaba que el juego iniciara sin poder ver la vista del juego.
Por que Ocurría?. Se habían declarado 2 veces los Outlet de la vista inicial, la splash y al entrar en la vista detalles, quedaba un Outlet pasado, es como si entrase 2 veces, se soluciona eliminando un Outlet y dejando el Action tal cual, pues esa parte estaba bien declarada.

Ahora pasamos a los cambios gráficos, se cambia el logo del juego por uno con colores rojos con degrades y sombras, cambio de la gráfica de los botones, y la inclusión de una imagen al lanzar la aplicación.

Nuevo logo.


lunes, 2 de septiembre de 2013

Manejando los sonidos del juego.

Este sera de los últimos Post, ya que tenemos la aplicación funcionando en un dispositivo IOS.
En este Post incluyo el trabajo con los sonidos del juego (que ya esta implementado y funcionando en la aplicación).
Los sonidos escogidos fueron:


  • Choque: sonido que es usado cuando la posición del objeto de nuestro personaje principal en la pantalla intersecta con la de los otros objetos. es decir, es el sonido que hace cuando sufre una colisión.

  • Botón Selección: sonido que hace al presionar uno de los botones del juego (ej: botones de configuración). 
  • Puntuación: sonido utilizado cuando se muestra los resultados de la puntuación.

    Desafíos encontrados:
    Durante el desarrollo de esta etapa nos dio problemas cuando queríamos reproducir mas de un sonido a la vez, también al reproducir sonidos de gran tamaño, lo que fue solucionado al comprimir los archivos de audio lo mas posible tratando a la vez de que no pierda tanta calidad.

    Enlaces:
    Pack de sonidos gratis utilizado: http://www.audio4dj.com/2013/07/01/free-sample-pack-cybernetic-tools/



Carga de RunCrash a dispositivo IOS


En esta ocasión veremos la forma de carga de nuestra aplicación a un dispositivo móvil, en este caso será un iPhone 3GS, donde se compila el código, se verifica que el identificador corresponda al que debe contener el equipo móvil, y si estos perfiles, como los llama Apple están previamente ingresados en la Web de Developers de Apple, tal como se muestran en los post anteriores, donde se mostraron los procedimientos para crear un Identificador de Aplicación. 


Esta es la visualización en XCode en la que vemos una representación de como se vería en un dispositivo IOS, podemos ver que se ve el icono de inicio de nuestro juego. (el otro icono corresponde a una aplicación pequeña creada en la fase de pruebas de factibilidad).


Y luego al pasarlo al dispositivo IOS y ejecutarlo, comprobamos que el juego funciona correctamente. (En la imagen se muestra la foto sacada con la aplicación disponible en el mismo dispositivo):