lunes, enero 30, 2006

Internacionalización

Tras un fin de semana de los más frio que se puede estar en estar latitudes, puedo anunciar que ya se pueden introducir acentos y eñes en el generador. Hasta ahora esto no era posible al funcionar la libreria XML en UTF-8, pero ya se puede hacer sin ningun problema.
Y con respecto a funcionalidad, ya se puede guardar la definición del la lista y volverla a cargar, al reiniciar la aplicación ya que me falta hacer un dialogo para abrir ficheros.

miércoles, enero 25, 2006

Carga de gameSystem finalizada

Bueno, la cosa avanza.


Tras unos dias de baja, vuelvo para informar de los avances que llevo realizados.
Para empezar, se realizan correctamente cargas de sistemas de juego (SdJ) y definiciones de listas de ejercitos (DLE). También se comienza a chequear que la DLE cumpla los requisitos de su SdJ asociado. Todo esto es funcionamiento interno, a los usuarios lo que les puede interesar es que poco a poco se acerca el momento en que se pueda configurar una nueva DLE. Se pueden insertar nuevas unidades (que no miniaturas) en el arbol del DLE, aunque todavia no se puede guardar a disco en ningun sitio.

La próxima meta: Guardar el DLE a disco (para usuarios) y completar comprobaciones de DLE con SdJ.

lunes, enero 23, 2006

Continua el avance

Este fin de semana ha sido productivo.

He creado un arbol contenedor de todo. Y cuando digo todo me refiero a absolutamente TODO. Utilizo el mismo esquema de arbol para guardar tanto las definiciones del sistema de juego, en adelante SdJ, las definiciones de la lista de ejercito, en adelante DLE, como la propia lista de ejercito, a la que haré referencia como LE.

Ya he realizado incluso el código para cargar el arbol XML en mi propio arbol, del cual tengo un mayor control y lo tengo contenido en clases más sencillas de depurar y manejar. Terminé este fin de semana creando funciones para mejorar todavia más el control y manejo de dicho arbol. Tengo planeado finalizar este codigo, que incluye cuatro clases en 8 archivos, esta tarde. Cuando ya tenga definitivamente creado el arbol, procederé a realizar la carga del sistema de juego de prueba, estoy utilizando el Warhammer 40k, propiedad de Games Workshop, como prueba. Una vez finalizado esto, como el sistema de juego (las reglas basicas del juego) cambian muy poco en el tiempo, no crearé un editor sencillo de esto. Considero mucho más facil dejar que ese fichero se edite mediante XML que crear un editor para eso. Quizá más adelante en el tiempo si que lo cree si la gente lo pide, cosa extraña pues al parecer nadie aparte de mi se pasa por este blog.

Saludos!

jueves, enero 19, 2006

Ampliación de desarrollo

Bien, el bug de KDevelop todavia no está solucionado, a ver si con suerte lo arreglan para la siguiente versión. Hasta entonces la solución es sencilla pero tediosa: tener abierto de forma independiente el QtDesigner para diseñar los formularios.
Ahora he empezado a realizar la carga de la definición de las reglas del ejercito, y empezando la casa por el tejado, empieza a cargar los listados de unidades definidas.
Si, ya se que comienzo erroneamente, y por eso hoy voy a empezar a cargar la definición de los objetos/propiedades, algo mucho más sencillo y necesario, ya que todas las armas, equipo, reglas especiales y, en definitiva, cualquier cosa que tenga un coste en puntos que NO sean modelos, son objetos.
Una vez cargado el listado de los mismos, cosa que me llevará una horilla o algo más con comprobaciones de errores incluidas, podré comenzar a preparar la carga de los mismos en el marco de la aplicación, para poder editar las propiedades de los mismos. Básicamente estas propiedades constan de:
  • Nombre : Para mostrar en las listas de ejercito.
  • Tipo de objeto : Para saber como se interpretan las propiedades.
  • Propiedades : Esto es más bien un panel donde se meterán las propiedades del objeto, que se guardarán en una cadena separada por ';' en el XML.
  • Descripción : Una simple descripción que será mostrada en la lista de ejercito.

Como ejemplo, un botón:

<baseobject name="Rifle de inducción" profilename="ArmaDistancia" profile="75cm;5;5;Fuego rapido"/>


Esto definiria el objeto 'Rifle de inducción', del tipo 'ArmaDistancia' que tiene un alcance de 75cm, F5 y FP5, siendo de Fuego rápido :'75,5,5,Fuego rapido'.
Se presupone que 'ArmaDistancia' define su perfil como : 'Alcance;F;FP;Comentarios'.

miércoles, enero 18, 2006

Problemas con el QDesigner integrado en KDevelop

Ultimamente he de reiniciar bastante a menudo el KDevelop. Esto es debido a que, en ocasiones, cuando tengo abierto un formulario y estoy editando algún otro archivo fuente bajo kDevelop, se queda en un bucle infinito cambiando de la vista del formuario al fichero fuente que estaba editando. No da ningun SEGFAULT ni nada, sencillamente se mete en esa especie de bucle infinito.

Ahora investigaré a ver si puedo encontrar alguna referencia en la web de KDevelop, o si se trata de un hecho sin precedentes.


En cuanto al desarrollo del proyecto, ya tengo definido el DTD de las listas de ejercito. Me he basado en los de jArmy, pero intentando acotar mejor las opciones. También se cargan los xml de prueba que he creado de definición de un ejercito Tau, unicamente están especificados la casta de fuego y ni siquiera está completa.

lunes, enero 16, 2006

Nuevo desarrollo

Finalmente me he decidido.

Así de sencillo, al fin me he decido a crear un proyecto real y con futuro bajo linux. Lo único es que, en lugar de Anjuta, he decidido decantarme por KDevelop, por que ya he hecho algunos pinitos con él, y se como manejarlo.

El proyecto, al cual si es necesario en un futuro crearé un Blog específico para él, surje con la necesidad de un buen gestor de unidades para un juego al que suelo jugar. Ya existen otros programas que hacen lo que yo quiero conseguir, pero están incompletos, muertos desde hace más de un año, y no tienen una filosofia de funcionamiento como me interesa.

El proyecto lo empezé hara una semana, con soporte local a CVS (lo que se resistia!), y ya he empezado a desarrollar formas con pestañas y muchas virguerias. Y ahora estoy inmerso en enlazarlo con libxml, más sencillo de manejar y desarrollar que libxml++. Utilizaré XML en lugar de una base de datos o de un fichero binario para favorecer el intercambio de ficheros y diseño de nuevos sistemas de juego.
Basicamente el desarrollo será similar a jArmy, pero enfocado de manera distinta, con intención de ser más sencillo e intuitivo, ya que mi experiencia en tal programa es bastante frustrante manejarlo sin manual ni nada parecido.

Mantendré informado este sitio, y subiré alguna release en cuanto haya algo funcionando.