Blog con entradas de avances de la materia de Proyecto de Desarrollo de Software impartida por el profesor Ariel Ortiz
jueves, 2 de diciembre de 2010
Video
He Aquí el enlace del video.
Computer System Quest: The Developer Oddyssey
miércoles, 1 de diciembre de 2010
Formalidades
- Este blog ha servido como bitácora de trabajo pues aquí se ha plasmado el desarrollo del proyecto (cambios, avances, problemas) y sumado con los procesos de desarrollo ágil se ha convertido en una poderosa herramienta de trabajo.
- Las instrucciones de uso de software e instalación se encuentran aquí.
¿Un diagrama de flujo? Correcto. Debido a que este proyecto es un juego y está orientado a estudiantes o personas relacionadas con el área de tecnologías de información, se pensó que poner las instrucciones/manual como un diagrama para conocer el sistema era una opción original y que puede funcionar en este contexto.
- ¿Cómo descargo el código?
- Con un sistema de control de versiones svn checkout http://solidaridad.googlecode.com/svn/trunk/ solidaridad-read-only
b. aprovechando la tecnología existente
- Y finalmente el sistema de control de versiones.
Instrucciones de Uso
martes, 30 de noviembre de 2010
Game Over
CSQ: The Developer Oddyssey.
La programación concluyó con la interfaz de retos/ preguntas para el jugador, validar su respuesta y sumarle/ restarle atributos a su perfil.

lunes, 29 de noviembre de 2010
Casi
El día de hoy se trabajó en terminar el sistema. Luego de estar trabajando en pulir las fallas y "bugs" que había en el juego, hoy ha sido un día dedicado en dejar listo y totalmente funcional el sistema como se tenía planeado, pero ahhh, de nuevo los cambios.
Al tratar de finalizar el sistema de retos me percaté de que había que modificar el modelo de usuario pues es necesario según lo planeado que cada que el usuario intente un reto y lo conteste de manera errónea, el sistema debe descontar puntos de energía al usuario, tal como es un reto de programación de la vida real. La modificación del modelo incluyó otras modificaciones en las vistas pues hubo que modificar algunos campos.
Por otro lado hoy se dejó lista la organización para el video y la presentación final ya que por experiencia sabemos el tiempo que toma todo esto.
Ahora si estamos a un paso de finalizar al 100% el proyecto y por mi parte puedo decir que me ha dejado una gran enseñanza ( y creo que un dominio en Django) y 500 puntos de experiencia.
Evolución

sábado, 27 de noviembre de 2010
Right on!
El juego ya puede calcular los niveles de energía y experiencia en base al tiempo que ha transcurrido entre la última vez que se autenticó y el momento actual, también ya estan bien manejadas las páginas de error cuando alguien pone una dirección erronea y se empezó a trabajar en la compra de items para agregar sus beneficios al perfil del usuario.
En las próximas horas se empezará a trabajar también en la parte de los retos, en donde los usuarios podrán hacer actividades que les añadan puntos, y de esta manera el juego prácticamente estará completo.
Solo tendremos que hacer la documentación y el llenado de las bases de datos para que todo sea funcional.
De la misma manera ya empezamos con la edición del video que contendrá imágenes y escenas de todo el desarrollo del sistema y de esta manera estaremos listos para la entrega el jueves!!!
viernes, 26 de noviembre de 2010
+10 EXP
Cosas por terminar
- Interfaz de retos de modo que el usuario pueda responder el reto.
- Página de manual de usuario
- Página de Desarrolladores (tal vez termine siendo una página estática con información sobre Los Valedores de Atizapán)
Cosas por mejorar
- Consistencia en la interfaz. Aún hay que revisar y corregir el archivo css de estilos
- Re direccionamiento de errores. Algunas veces tras una serie de procesos al entrar a una página no definida se manda a otra página amigable, sin embargo al regresar a la página anterior se cierra la sesión del usuario
- Llenar las tablas con más retos e ítems
Y los avances
- Página de Items
- Página de inicio
- Página del top 10 (Usuario con sesión iniciada)
- Página del top 10 (Usuario sin sesión iniciada)
miércoles, 24 de noviembre de 2010
7 6 5 4 3 2 1 0
En esta última semana hemos decidido dividir el trabajo que queda de tal forma que si todo sale bien y trabajamos en paralelo podremos finalizar exitosamente el proyecto.
Se han hecho algunos cambios tanto en diseño lógico como diseño visual con el fin de hacer más llamativo el sistema. Se han agregado imágenes especialmente diseñadas para el juego, se ha modificado la interfaz, se está trabajando en el sistema de tiempo para el servidor y en llenar la base de datos de actividades/retos y quedan por pulir detalles de consistencia.

El proyecto está cerca de ser completado y nos esforzaremos para solucionar los problemas que se presenten.
Hasta ahora así se ve la interfaz. No se notan muchos cambios visuales pero en verdad ha sido modificada muy a fondo.
jueves, 18 de noviembre de 2010
CSQ: The Developer Oddyssey

Nuevamente presentamos un avance del recién nombrado juego The developer Oddyssey. Ahora Durante esta semana se ha trabajado arduamente en implementar un sistema de control de tiempo, de modo que cada determinado tiempo el usuario/jugador que inicie sesión reciba una recompensa de puntos de experiencia o dinero virtual para comprar ítems. Esto has sido un reto debido a que hubo que investigar la manera correcta del funcionamiento del registro de la fecha de último inicio de sesión del usuario (que se modifica dinámicamente) y el tiempo actual del sistema.
Además de lo anterior se ha rediseñado la interfaz del juego de modo que parezca mas un juego y sea sencillo de utilizar, por ejemplo, registrar a un usuario nuevo en solo 1 paso que consta de escribir nombre de usuario y password. El rediseño ha quedado casi totalmente completado y solo faltan pulir algunos detalles con el manejo de la información y la manera de mostrarla, pero estamos trabajando y seguiremos trabajando en eso.
Por último se ha trabajado en poblar la base de datos con retos e ítems. Esperamos seguir avanzando de buena manera y sin tantos contratiempos.
sábado, 13 de noviembre de 2010
En el camino correcto...
Esta parte nos preocupa un poco debido a todos los problemas que tuvimos para hacer correctamente la autenticación y el registro con la base de datos, pero esperamos que la experiencia que ésto nos ha dejado nos permita avanzar rápidamente.
Para esta semana pensamos tener lista todas las vistas con excepción de la de los retos, así como empezar con la creación del video con las fotos y cortos que tenemos hasta el momento. De esta manera pensamos tener todo listo para el día de la presentación y tener el juego completamente funcional.
viernes, 12 de noviembre de 2010
202+202
Después de la semana de exámenes hemos vuelto a la vida el proyecto. Hasta ahora el principal problema había sido la administración de los usuarios del sistema pues hicimos varios cambios a la base de datos para aprovechar los beneficios del sistema como explicamos en la entrada pasada, sin embargo esto nos trajo más problemas de los que esperábamos.
Para resolver este problema prácticamente hubo que hacer un proyecto de prueba con una base de datos únicamente formada por la tabla Usuario, registrar unos usuarios mediante el superuser del sistema y luego revisando la base de datos. El problema es que el sistema de autenticación revisa el modelo del usuario del sistema autenticador de Django, no el nuestro. Por lo tanto si creábamos usuarios en nuestra tabla Usuario no eran reconocidos como usuarios válidos (únicamente los creados en el usuario del sistema Auth).
Después de leer y probar pudimos corregir esto mediante la creación de perfiles de usuario. Con esto se crea un usuario en sistema de Django y este usuario se usa como relación de perfil en nuestra base de datos. Efectivamente nos tomó mucho tiempo pero ya quedó listo.
Por otro lado se han corregido los problemas que teníamos al tratar de acceder a direcciones no válidas dentro de nuestro sistema. Pueden ocurrir errores 404 pero hemos tratado de que sean los menos posibles y si llegan a ocurrir los mandamos a una página “amigable”.
martes, 26 de octubre de 2010
Cambios
Después de haber leído e investigado más a fondo sobre formas de trabajar sesiones con Django hemos decidido hacer ligeros cambios en el diseño y la implementación de la base de datos que ya teníamos hecha. Agregamos una tabla a la base de datos con el fin de mantener un registro de las actividades completadas por los jugadores, se agregaron algunos campos a las otras tablas pero principalmente se cambió la tabla Usuario.
Las ventajas de usar este nuevo modelo son:
- Métodos pre hechos de gran utilidad tanto para administrar como para implementar en las funciones de nuestra lógica.
- Seguridad en el manejo de datos mediante password cifrados y no visibles de manera sencilla
- Validación en los datos para evitar caracteres que puedan comprometer la seguridad del sistema
- Capacidad de autenticar de manera automática y otorgar permisos a los usuarios
Las desventajas:
- La manera de trabajar con los fixtures cambia debido a la seguridad que se menciona antes, esto trae también la desventaja de no poder registrar usuarios mediante los fixtures, dependiendo totalmente de la base de datos
- Modificar las pruebas de unidad
Por otro lado, ya tenemos la interfaz de inicio casi total (falta modificar unas cosas de diseño), y así es como se ve
lunes, 25 de octubre de 2010
toda la semana anterior nos habíamos concentrado, como habíamos espeificado en las tarjetas, en la creacion de las bases de datos de nuestro sistema. cuyas tablas ya quedaron implementadas.
También comenzamos la parte de los registros de usuario y validacion de ellos mismos. Al principio quisimos hacer uso del modelo user definido por django, pero no pudimos concluir el proceso usando este modelo ya que nos producía algunos errores a la hora de probar las tablas. sentiamos que el manejo que hacia de las tablas y la informacion que le dabamos era un poco rara y no nos permitiría hacer los fixtures de la manera que queríamos. Hemos intendado resolver el problema y empezamos a ver si sería mejor para nosotros adecuarnos a este modelo o buscar otra opcion para desarrollar lo que queremos.
También comenzamos a hacer los templates del sistema. Usando varias herramientas comenzamos a diseñar las hojas de estilo y las demás interfases del sistema. pero también tuvimos algunos problemas por no haber tomado en cuenta los cambios que tenemos que hacer para que django nos deje manejar el contenido estático, como las imagenes que usaríamos como fondo y nuestras barras.
Seguimos trabajando en finalizar nuestra segunda historia, y acoplarnos con los tiempos que habíamos propuesto. Al mismo tiempo seguimos trabajando en nuestra tercera y cuarta historia para terminarlas segun los tiempos que habiamos propuesto.
lunes, 18 de octubre de 2010
Diseño Detallado de la Base de Datos
Por otra parte hemos decidido que usaremos MySQL que es una base de datos más robusta que SQLite y se puede utilizar sin problemas en un ambiente distribuido. Además con esta base de datos se puede sacar ventaja también de los modelos de Django para la creación de las tablas de la base de datos.
A continuación se muestra el diseño detallado de la base de datos, tal y como ha sido implementada en Django:
Esta parte la definimos durante el fin de semana, pero hasta hoy hicimos un commit sobre la base de datos que implementamos, ya que también, duarante el fin de semana estuvimos estudiando nuestras opciones y al elegir MySQL, estudiamos su forma de implementación, así como la actualización y adaptación de nuestras StoryCards y TaskCards
jueves, 14 de octubre de 2010
Diseño Conceptual del Juego
viernes, 24 de septiembre de 2010
Descripción General del Proyecto
Algunas de ellas nos parecieron más llamativas que otras, lo que hizo que redujéramos las opciones a dos, un sitio de apuestas en línea y una página de un juego de rol. Al principio nos gustó un poco más la idea de las apuestas, ya que es algo atractivo para los clientes y sentíamos como un buen reto desarrollar dicho proyecto, pero no teníamos un experto que pudiera estar con nosotros y con el que pudiéramos tener el contacto necesario.
Esto nos dejó con la idea de que sería mejor para nosotros desarrollar la página con el juego de rol (RPG), ya que el experto sería alguien con quien tendremos mucho más contacto y estará mucho más comprometido con el proyecto. Tenemos pensado hacer un juego bastante atractivo e innovador, un tema en el que al menos nosotros, no hemos visto. Crearemos un juego con una temática escolar, los niveles que tendría que pasar le darían más puntos en experiencia y lo llevarían a tener mejores herramientas para poder pasar a los niveles más fuertes, posiblemente con ejemplos reales.
Nuestro experto será Gerardo Samuel Cabello Montes de Oca. Él tiene 24 años de edad; Gerardo se encuentra estudiando la carrera de Ingeniería en Tecnologías Computacionales en el Tecnológico de Monterrey, Campus Estado de México. Impulsado por un enorme gusto sobre los videojuegos decide seleccionar su concentración en el área de Sistemas Inteligentes y Computo Visual. Uno de sus géneros favorito de videojuegos es el llamado Juego de Rol o Rol Play Gaming por sus siglas en inglés (RPG), ésta será la temática que tendrá nuestro proyecto lo cual nos da la razón para tomarlo como experto.