27 de marzo de 2011

Buscando bichos

Siempre imprimo mis listados cuando tengo el proyecto en un estado estable y avanzado. Se descubren muchas sorpresas en el código en no pocas ocasiones. Yo he encontrado muchas secciones que puedo limpiar bastante y así poder eliminar de paso bastantes variables innecesarias tras la optimización.

Como ya tengo la estructura del juego definida esta semana empezaré repasando el listado del juego y poniéndo en práctica las notas que he realizado en lugar de proseguir con el desarrollo del guión. He encuadernado el todo lo impreso para poder consultar las anotaciones de forma cómoda en un futuro. Nunca se sabe si hay que rebobinar.

25 de marzo de 2011

Problemas con el IDE...

He perdido dos días detrás de la "tontería" del IDE. Como se ve en la imagen perdí en el último upgrade los textos correspondientes a las pestallas del ControlTab de los ficheros.

Realmente imposible el programar así... aunque finalmente hallé la solución CAMBIANDO EL TEMA DE ESCRITORIO DE WINDOWS. Algún fichero del sistema se habrá corrompido...


Enlace al foro donde comento el asunto y al final, la solución (UK).

20 de marzo de 2011

Hora de escribir el guión...

Bien, tras bastantes pruebas de objeto+evento+reacción satisfactorias, creo que ha llegado el momento de aparcar el ordenador por algunos días y empezar a desarrollar sobre el papel, el guión de la aventura.

Tengo descrito en mi cuadernillo de bolsillo la base de la historia y tengo más o menos claro las dificultades, puzzles y trampas que tendrá que superar el protagonista de la aventura, pero ahora toca diseñar los mapas con cierta lógica y sobretodo con una estructura sólida en ambientación y coherencia.

Quiero planificar todo muy bien para evitar que el jugador se quede atrapado dentro del juego y se tropiece con algún punto muerto sin salida... por falta de algún objeto o acción no realizada en orden u omitida...

19 de marzo de 2011

Test Movimiento y control de objetos

Test de control de movimiento e interactividad cn los objetos del mapa. Se prueban los triggers y el guardado de partida. Recomendada reproducción a 720p.


NOTA: La velocidad de reproducción no corresponde con la realidad ya que la herramienta para capturar vídeo ralentiza el juego.

17 de marzo de 2011

15 de marzo de 2011

Compilando con Xcode 4

Por fin todo funcionando de nuevo; he estado muy entretenido actualizando la máquina, realizando backups, etc... y ya tengo todo de nuevo instalado correctamente.

A saber:
- Ipad actualizado a iOS 4.3
- Máquina virtual Windows actualizada*.
- GLBasic actualizado a la última versión 9.x
- XCode actualizado a 4.x


Como se puede ver en la captura, XCode ha sido modificado en su aspecto sustancialmente recordando mucho al interfaz de iTunes y tras el susto inicial (sobre el que ya estaba bajo aviso) de redistribución DE TODO... estuvé 20 minutos viendo los cambios y finalmente compilé la aplicación para el Ipad sin más pegas.

* NOTA: Probadas aplicaciones Parallels y VMware para MacOS... me sigo quedando con VirtualBox; yo diría que es el más rápido en mi máquina entorno.

10 de marzo de 2011

"Run with Performance Tool"

He puesto a prueba una de las utilidades que mejor he encontrado a la hora de programar algún aparato conectado al ordenador. La experiencia recuerda mucho a Palm, que también dispone de monitores similares.

Como muestra la captura, estoy consumiendo casi 64 mb de memoria RAM. Creo que es demasiado así que habrá que ver cómo descargar ésos gráficos que no se necesitan durante el juego como el fondo del menu, etc. En cuanto a velocidad, perfecto como un reloj suizo.

El momento correspondiente en el juego...

9 de marzo de 2011

Modificada hoja de ruta


Añadidos cambios por corregir, entre otros:

- Reescribir rutina SWITCHES para simplificarla.

- Implementar control de Script de la historia.

- Organizar variables y eliminar sobrantes en rutina carga mapas.

- Reducir datos para rutinas Save_Slot()n.

- Optimizar control bucle principal.

- Limpiar código de datos obsoletos y líneas con comentario //.

Datos "geek" sobre el proyecto

Como curiosidad solamente, ya que en la práctica no sirve para nada, presento algunos datos inútiles sobre el proyecto:

1.918 Comandos.

6,1 Segundos para compilar en un PC Windows Vista Basic(32). Intel Core2 Quad 2.66 Ghz, 4Gb Ram.

18 Ficheros *.gbas.

71 Funciones declaradas.

108.245 Carácteres.


Y seguimos adelente... ;-)

Gestión de objetos y eventos

He preparado tres mapas sencillos para test. La idea es probar las interconexones entre diferentes salas así como la interactividad de los diferentes objetos con el entorno.

Tengo que tener en cuenta bastantes variables cuando se trata de preparar un entorno de juego coherente. Las luces, el comportamiento de los diferentes ítems así como muchos parámetros que se arrastran de una habitación a otra...

De paso voy autodocumentando mis funciones de generación y gestión de eventos relacionados con los objetos. Hay que tener en cuenta muchas cosas... ;-)

5 de marzo de 2011

1 de marzo de 2011

Probando iOSMessageBox()

El amigo David me invita a probar su función para mensajes tipo MsgBox de Windows, que está implementando en el proyecto Xcode+GLB:

iOSMessageBox(const char*,const char*, const char*, const char*)

Se trata de una función para mensajes de alerta totalmente personalizable que emplea llamada a la función nativa de iOS. Lo curioso del asunto es que en iPhone 4, iPhone 3Gs, y iPod funciona sin problemas... pero en el iPad se obtiene un error de lo más curioso:

2011-02-27 23:07:28.120 msgbox[2697:6003] bool _WebTryThreadLock(bool), 0x14eb90: Tried to obtain the web lock from a thread other than the main thread or the web thread. This may be a result of calling to UIKit from a secondary thread. Crashing now...

La verdad, no acabamos de entender porqué en unas máquinas iOS sí funciona y en el iPad no.... ¿culpa de GLB? ¿XCode? ¿La mezcla de ambas? hmmm.

David por su parte sigue en la brecha... ¡adelante!


NOTA actualización: Me comenta el compañero que al parecer la función no trabaja correctamente con iOS 4.2.1 y sí en la versión anterior... hmmm ¿cambios del Xcode? ¿algún fix de GLBasic que no funciona?

Ops! Volviendo a orientación vertical....

Estos últimos días he estado realizando algunos test con la orientación de pantalla y la barra de aplicaciones...


Como ya comenté en un post anterior (y también en el Foro de GLBasic), existe un problema extraño con GLB y la resolución horizontal en el iPad (desconozco si el problema se reproduce en el iPhone).

Se supone que si en Opciones declaramos la resolución 1024x768, el iPad debe funcionar en pantalla con horizontal... en realidad es así, aunque he observado que al pulsar en el botón home, éste se presenta en una orientación que NO corresponde...

Total, que tras algunas pruebas he decidido pasarme a modo vertical 768x1024.


A fin de cuentas, la zona de juego de la aplicación está ubicada en un recuadro de 768x768 pixels, lo que me permite emplear la resolución vertical modificando tan sólo la ubicación de los paneles de información y algunos botones del juego.

A redistribuir espacios tocan...