sábado, 24 de mayo de 2008

Pantallas PDA

Estas son algunas capturas de pantalla del juego en la PDA. La interfaz gráfica es MUY sencilla.
Login


Inmediatamente después del login te muestra la pantalla para elegir una partida que tengas iniciada. Se muestra el nombre del juego y la fecha de inicio de cada partida. Puedes entrar a una de esas partidas o elegir iniciar una partida nueva.

Para iniciar una partida nueva eliges el juego y, de la lista de tus contactos, eliges con quien quieres jugar.

Una vez dentro de una partida, el mapa se muestra como se ve a continuación. Los textos no forman parte de la pantalla. Los he añadido yo a esta imagen con el fin de explicar la pantalla, pero no sé si sería buena idea que el juego los mostrara. Las posiciones de los puntos las obtengo a partir de las coordenadas geográficas con que se crea el juego, convertidas a coordenadas cartesianas y después a escala de acuerdo a la pantalla del dispositivo. La foto que se ve es la imagen con que se registra el jugador en el portal web. Esa imagen el jugador la puede cambiar cuando quiera desde el mismo portal. La posición de la imagen se muestra de acuerdo a las coordenadas GPS. También se muestra la posición de otros jugadores en la partida que estén conectados en ese momento. He fijado un timeout de 5 minutos, si el usuario no actualiza su posición en 5 minutos asumo que no está conectado.


Finalmente, esta pantalla en donde puedes ver el nivel en que estás, los puntos y recursos que tienes.

En los próximos días estaré trabajando en el resto de la documentación, manuales de usuario y esas cosas. Si alguien quiere probar el juego, lo que sería de mucha utilidad, le paso el fichero y una explicación más amplia de como funciona. Es necesario tener Windows Mobile 5 o superior porque estoy utilizando el GPS Intermediate Driver. Yo por ahora lo he probado en una iPAQ hw6945.

domingo, 11 de mayo de 2008

Conexión WiFi

Parece que ha quedado resuelto uno de los pendientes que me quedaba en la aplicación para el dispositivo móvil. Finalmente lo resolví mediante eventos cada vez que cambia el status de la conexión. La librería que revisa si el dispositivo tiene conexión a Internet tiene un background thread que lanza un evento cada vez que cambia el estado de la conexión. La interfaz de usuario recibe el evento y si el dispositivo está conectado reanuda las invocaciones a los servicios web.

jueves, 8 de mayo de 2008

Gestión de usuarios y contactos

Siguiendo alguna sugerencia de Tejo he implementado la gestión de contactos utilizando FOAF (Friend of a Friend). Ha sido un ejercicio interesante dado que luego de dar Web Semántica en el máster lo dejé registrado como un mito en mi cerebro. Así que ha valido la pena ponerlo un poco en práctica. Entonces las cosas han quedado implementadas de la siguiente forma. Como todo en el proyecto esto funciona mediante servicios web porque siempre necesito acceder desde dos clientes distintos, un portal web y la aplicación del dispositivo móvil. Entonces tengo publicados dos nuevos servicios, uno para gestión de usuarios y otro para gestión de contactos. Lo típico, registro de usuario, modificar datos, cancelar la cuenta y validar el login. En cuanto a la gestión de contactos, puedes agregar contactos (friends) y luego es con estos contactos con quienes puedes jugar partidas. En base de datos sólamente tengo la información relativa a la autenticación de usuario y en ficheros xml tengo la descripción del usuario en FOAF. En el resultado final me parecen interesantes dos cosas, la primera es que podrías registrarte cargando directamente tu fichero FOAF (evitando registrarte una y otra vez en distintas aplicaciones) y la segunda es que una vez teniendo la red de amigos de un usuario, podrían iniciarse partidas con sus conocidos, con los conocidos de sus conocidos y así a distintos niveles.