Tras un tiempo con el blog inactivo (que no el proyecto), he decidido que es hora de poner de nuevo el blog al día. He recibido en este tiempo 250 comentarios, que eran spam en su mayoría, por lo que he marcardo todos como spam. He decidido poner un filtro para spam en los comentarios, para evitar tener que mirar manualmente todos los comentarios.
En las sucesivas entradas iré poniendo al día el estado del proyecto.
Muchas veces he querido grabar un vídeo de cualquier proyecto personal (como los que he publicado de Sion Tower) pero siempre he tenido muchos problemas a la hora de hacerlo con Software Libre en mi preciada Ubuntu. Hasta ahora me había visto obligado a recurrir a productos privativos pero por fin he encontrado herramientas libres
He tomado la decisión de volver a MySQL como sistema para la base de datos del Servidor. Esto es debido a que no había tenido en cuenta la concurrencia en SQLite, que hasta ahora era el sistema para manejar los datos. La concurrencia me estaba dando problemas a la hora de escribir en la base de datos porque, aunque sólo escribía un proceso al mismo tiempo en ella, dicho tiempo de escritura bloqueaba cualquier intento de acceso de lectura (y además, por bastante tiempo) de otro proceso, lo que cual era inaceptable ya que la base de datos tiene que estar disponible para su lectura a través del servicio web del Servidor. El cambio de sistema está ya implementado.
El Servidor no sólo podrá usar MySQL, en el futuro podrá usar más tipos de servidores de bases de datos, como PostgreSQL u Oracle. Esto es debido a que estoy usando una biblioteca “genérica” para acceder a sistemas de gestión de bases de datos (SQLAlchemy). El Servidor, a priori, no dependerá de ningún sistema en concreto al instalarse pero después, el usuario configurará el Servidor por medio de una órden en una terminal donde especificará, entre otras cosas, los detalles de la base de datos donde grabará sus datos (tipo de servidor, dirección del servidor, nombre de la base de datos, nombre de usuario y contraseña de usuario). Después de la configuración, por medio de otra órden en la terminal, el usuario grabará las tablas y los datos iniciales en la base de datos especificada anteriormente. Así, el Servidor ya estaría listo para su uso.
Esto permitirá usar bastantes tipos de servidores de bases de datos, aunque de momento, sólo estará disponible MySQL, ya que, aunque la biblioteca SQLAlchemy permite acceder a cualquiera, el código SQL empleado para crear tablas y restricciones difiere un poco según que servidor se esté usando y sólo he creado el código SQL inicial para MySQL. Supongo que en la segunda versión del Servidor añadiré más opciones de servidores.
Podría parecer que he perdido mucho tiempo usando SQLite, pero no lo siento así. El tiempo que he empleado con SQLite me ha hecho descubrirlo y aprenderlo suficientemente bien. Ahora sé que puedo usarlo para otros proyectos y conozco el ámbito idóneo para emplearlo: SQLite es ideal para 1 sólo cliente/usuario de una base de datos, como un programa que necesite guardar datos pero sólo él tenga que acceder a ellos.
Al final, me está llevando más tiempo de lo que pensaba arreglar los problemas del Servidor, que ha necesitado cambios drásticos como éste, pero merece la pena esperar un poco más con tal de que el Servidor sea más robusto y esté más probado.
Para terminar, tengo que felicitar a mis compañeros participantes del concurso, los cuales me han ayudado bastante con mis dudas sobre la concurrencia de SQLite por medio de la lista de distribución de correo del concurso. Saben muchísimo y, después de haber barajado sus opciones (sobre si mantener SQLite como sistema o cambiar a MySQL), he tomado la decisión de cambiar a MySQL y esta decisión la he tomado más rápidamente gracias a su ayuda (por mí mismo, habría tardado mucho tiempo en darme cuenta de que no me valía SQLite).
Tras abordar los dos primeros ciclos del proyecto, se ha llegado a la conclusión de que el análisis inicial realizado no respondía a la que al final ha ocurrido en la implementación. La inexperiencia en la gestión de proyectos y …
A día de hoy se ha finalizado la implementación del ciclo #2 de desarrollo del proyecto. Este ciclo del desarrollo se puede calificar como el más importante que se va a llevar a cabo. Su objetivo era la implementación de …
Volvemos a la carga con la descripción de las clases que conforman la biblioteca multimedia de desarrollo de juegos en 2D para Nintendo Wii que me estoy currando; ayer me salté la actualización, pero es que también se merece uno un homenaje de vez en cuando, ¿no?. La clase Fuente es la tercera relacionada con [...]
Parece que el proyecto empieza a tomar forma y el programa funciona cada vez mejor, así que estoy más motivado que nunca, así que tengo que aprovechar el poco tiempo que me queda ocioso (hasta que empiecen a meternos caña en la escuela) para meterle un empujón al programa.
Programa, por cierto, que viene con algunas novedades éste mes, entre ellas la más importante es el rediseño de la página en www.javadikt.net, ahora es un poco más sería y no está alojada de manera horrorosa en una subpágina de wordpress(aunque la página antigua sigue ahí).
La nueva versión, la 1.1.2beta viene además con algunas mejoras:
Pues eso es todo por ahora, a ver si aprovecho ahora para publicar más entradas sobre la arquitectura del programa, que en ese sentido el tintero está lleno de ideas pero el blog está vacío desde diciembre.
Parece que el proyecto empieza a tomar forma y el programa funciona cada vez mejor, así que estoy más motivado que nunca, así que tengo que aprovechar el poco tiempo que me queda ocioso (hasta que empiecen a meternos caña en la escuela) para meterle un empujón al programa.
Programa, por cierto, que viene con algunas novedades éste mes, entre ellas la más importante es el rediseño de la página en www.javadikt.net, ahora es un poco más sería y no está alojada de manera horrorosa en una subpágina de wordpress(aunque la página antigua sigue ahí).
La nueva versión, la 1.1.2beta viene además con algunas mejoras:
Pues eso es todo por ahora, a ver si aprovecho ahora para publicar más entradas sobre la arquitectura del programa, que en ese sentido el tintero está lleno de ideas pero el blog está vacío desde diciembre.
Este nuevo vídeo muestra la carga de un escenario básico creado en Blender a partir de su exportación a formato DotScene. El sistema es capaz de cargar tanto objetos colisionables como fuentes de luz. En los próximos días profundizaré en la carga de escenarios. Así mismo, puede observarse el uso de la nueva versión de
He puesto a vuestra disposición, tanto en la sección de descargas como en la forja, el nuevo prototipo de YakiTo. Básicamente ya comprende la funcionalidad que quería darle, por lo que a partir de ahora me centraré en mejorar el proyecto, más que en añadirle nuevas posibilidades. Espero vuestras opiniones: