18/07/02
- Actualizo para comentaros que sigo trabajando en la siguiente beta y que ya estoy muy cerca de poder publicarla.
Al carecer de herramientas visuales, tardo más de la cuenta en terminar mis diseños si bien, eso no es lo
que realmente hace que tarde más; el problema es que, actualmente, Crisol se halla en etapa de test y hay diversos
errores o arreglos que hacer que sólo se ven mediante la construcción de betas como la que estoy haciendo. Por todo,
la publicación de la siguiente beta es inminente pero no puedo dar el día exacto en la que la pueda subir. Os muestro
una captura de la misma:
Esta será la beta más larga de todas y tendrá un inicio y un final. El inicio será el mismo que el de la anterior,
esto es (lograr introducir al personaje en la la guarida de "Lord Pip").
- El pasado 15 de julio pude ir a ver a mi director de proyecto. Estuvimos hablando de añadir pequeños elementos
a la documentación actual para mejorar la lectura de la misma, sobre todo en cuanto a imágenes. De todas formas, hay
algunas cosillas que se me pasarón de incluir y otras que tienen que ser corregidas. Estos últimos casos son muy
puntuales, así que todo lo que hay ahora sigue valiendo a un 99%.
10/07/02
- Siento no haber actualizado antes. Tenía en mente hacerlo durante el fin de semana para subir las herramientas ya
definitivas pero ya sabéis como es esto. He encontrado problemas a la hora de revisar el sistema de combate
y además me dí cuenta de que hacían falta unos pocos métodos y funciones más para CrisolScript. Esto
también afecta a la documentación, que deberá de recoger dichas novedades. De todos modos, todo esto que os
comento no supone un gran retraso, sigo con la idea de intentar sacar la siguiente beta con combate muy pronto. Idealmente
antes del 15 de julio, que es cuando volveré a ver a mi director de proyecto. También Manuel Moreno "Dracke" está trabajando
en alguna animación extra para la cara del personaje (Crisol soporta que se puedan construir retratos con
animación y cambiarlos desde CrisolScript, pudiendo hacer que se muevan los labios cuando el personaje hable o que
la cara muestre los daños causados, etc). La siguiente beta será una continuación de la anterior, es decir, se podrá
ahora descender a la guarida y ahí tendremos que localizar al personaje con el que lucharemos.
- El sistema de combate ya responde de forma más o menos aceptable (es posible que haya casos en los que
el motor pueda quedar en estado de error, pero trabajando yo sólo de "tester" es muy complicado tener conocimiento
de todas las situaciones). El caso es que, como sabréis los que hayáis echado un vistazo la documentación, Crisol no implementa ningún
tipo de comportamiento por defecto para las criaturas con las que el jugador luche. Toda la inteligencia de las mismas
se ha de programar vía CrisolScript "a pelo". De esta forma, cuando le llega el turno de combate a una criatura, se ejecuta un evento llamado
OnStartCombat. En él se deberán de programar todas las actuaciones que la
criatura tome durante su turno de combate. Cuando se termine de ejecutar dicho evento, se pasará de turno automáticamente.
- Tal y como puse en un post del foro, contestando a Seryu, el combate en la siguiente beta se basará, sobre todo, en reglas
descriptivas. Es decir, el enemigo persiguirá al jugador y le intentará golpear (siempre y cuando no esté herido)
pero a la hora de mostrar la acción de golpear sólo mandaré por consola un mensaje descriptivo, ya que aún carecemos
de suficiente material gráfico (esto no es del todo cierto, ya que el personaje principal cuenta con animacion de
ser golpeado).
Para implementar las reglas de combate, he definido tres atributos en las criaturas: la fuerza,
la defensa y la destreza. Cuando una criatura A ataque a una criatura B, se
calculará el porcentaje de acierto lanzando un dado y sumando su resultado a la destreza de A. El dado lanzado tendrá 6
caras. Por otro lado, B hará lo mismo, pero utilizando un dado de 3 caras (cuando
hablo de lanzar un dado, realmente hablo de obtener un valor aleatorio entre 1 y 6 y entre 1 y 3 respectivamente,
usando CrisolScript, la función APIRand para mas señas). Con los valores obtenidos
comprobaremos si A tiene un valor superior a B. Si es así, A golpeará a B. El daño causado se obtendrá de la
diferencia entre la fuerza de A y la defensa de B. Si la diferencia es superior a 0, A habrá logrado dañar a B.
Naturalmente, la fuerza y la defensa de las criaturas se podrá ver modificada equipando armas y/o armaduras.
Este sistema de combate que yo he implementado, usando CrisolScript para la siguiente beta, es muy sencillo y básico.
Cualquier otro diseñador podría crearse el suyo propio con mucha mayor complejidad y riqueza.
La verdad es que muchos detalles de funcionamiento de Crisol deberían de existir en tutoriales completamente desligados de lo
que es la documentación oficial del motor (la que presento como proyecto fin de carrera). Todo dependerá de cuánto se use Crisol
y de lo que llegue a gustar pues, una vez que
le de el visto bueno de "acabado" (independientemente de que puedan existir pequeños errores sueltos), yo dispondré de
muy poco tiempo para seguir trabajando en el mismo y por ese mismo motivo, espero que la gente que de verdad
haga cosillas cree algún que otro tutorial, de forma altruista, comentando cómo hizo esto o aquello, para que la gente
que quiera utilizar Crisol no tenga que pelearse con toda la documentación oficial.
- Antes de despedirme hasta la siguiente actualización, en la que espero suba ya la nueva beta, mando mis felicitaciones
a RRC2Soft, que ha cumplido su tercer aniversario. Esta página, que supongo conoceréis, se centra en mantener
una base de datos sobre proyectos de juegos de rol y motores de grupos hispanos, así como en publicar tutoriales
relacionados con el tema de la programación de juegos de rol y mantener información sobre el juego PORTAL, que
está siendo desarrollado por ellos. Podéis localizarles en
http://www.rrc2soft.com.
2/07/02
- Finalmente he tardado menos de los cuatro días, que apuntaba en la última
actualización, en tener una primera versión presentable de todo lo que
es la documentación final de Crisol. Lo he subido todo en formato PDF. He
separado por temas el documento con el fin de que sea mucho más fácil consultarlos (y editarlos). Como
siempre, todo está en la sección de descarga. Los manuales de uso de
CrisolScript, CSCompiler, CrisolBuilder y CPAKTool así
como de Crisol durante la ejecución de un juego, están ahora en los
anexos al documento del proyecto. La parte central está decidada al
análisis y diseño de Crisol y del resto de las herramientas. También hay
apartados sobre organización de la implementación y pruebas si bien, no las he dado tanta
importancia ya que son muy genéricas. Por último, he incluido la
bibliografía. Creo que está casi todo lo que he consultado pero
tengo que darle un segundo repaso ya que es más que probable que me haya
olvidado más artículos sueltos.
- Ahora me pondré a terminar de repasar las herramientas de apoyo para
subirlas cuanto antes (espero que antes de que finalice esta semana) para
poder centrarme en la terminación de Crisol como proyecto presentable en
Septiembre. Naturalmente, lo prometido es deuda y, una vez que presente el proyecto a finales
de Septiembre, subiré también el código fuente (el de Crisol y el resto de
herramientas que en que se apoya). De todas formas, con la documentación actual
y la siguiente versión de las herramientas, todo aquel que se quiera animar
a realizar editores visuales para Crisol ya no tendrá ningún problema. Recordar
que las herramientas son en línea y desde los editores visuales únicamente se
deberá de recabar la información para llamar a estas herramientas. Quizás me anime
a hacer "algo" si acabo con tiempo (¡viva la utopía! :o)