| Descargas | F.A.Q. | Artículos | Screenshots | Comunidad | Archivo | Foro | English Info | Acerca >
Descripción

Descripción general.

CRISOLEngine tiene como objetivo simular juegos de rol por ordenador de estilo europeo y norteamericano (Fallout, Ultima VII, Darksun, etc) en lugar de japonés (Final Fantasy), sin caer, necesariamente, en las estandarizaciones del interfaz de éstos.

Uno de los aspectos cruciales de CRISOLEngine, será el de ser lo suficientemente flexible como para que el diseñador no tenga que crear juegos encasillados en un ambiente específico y con unas reglas muy rígidas. En este sistema existirán reglas inamovibles (ya que sino, sería imposible cerrar el diseño del mismo), pero el motor podrá adaptarse fácilmente (hasta donde lleguen sus capacidades, claro está) a una gran variedad de diseños de juego. Para poder implementar esta filosofía, CRISOLEngine no contará con reglas muy complejas y concretas, sino que dispondrá de unas normas universales, esto es, que se puedan emplear en casi cualquier diseño que se plantee. Para reforzar estas reglas comunes a la gran mayoría de juegos de rol, el motor permitirá incorporar, si el diseñador así lo desea, sistemas de magia, habilidades y estados. Todos ellos completamente modificables. Estos sistemas opcionales tendrán como objetivo especializar las reglas básicas que provea el motor, para hacerlas más ricas y concretas a los deseos de diseño del creador.

Desde el punto de vista gráfico, CRISOLEngine permitirá modificar el aspecto de la interfaz para adaptarla a la estética de juego que el diseñador precise (algo así como tener la posibilidad de usar diferentes skins para las interfaces básicas del motor). Así mismo, el diseñador podrá utilizar los gráficos que él considere oportunos para crear los escenarios y personajes del juego.

En líneas generales, las características "deseables" de CRISOLEngine serían las siguientes:

  • Plataforma de desarrollo Windows 9x, utilizando las librerías DirectX.
  • Representación gráfica del universo de juego en isométrico, con uso de las capacidades de las tarjetas 3D para incorporar efectos de iluminación y alpha blending (efecto traslúcido).
  • Representación de personajes y objetos como sprites 2D tradicionales.
  • Posibilidad de adaptación del motor a las reglas que quiera el diseñador para su universo de juego.
  • Interfaz visual orientado a ventanas e iconos totalmente.
  • Utilización de un lenguaje script embebido, CrisolScript, sencillo para establecer la lógica del juego.
  • Utilización de un lenguaje sentencial, CrisolBuilder, para definir el contenido de un juego (diseño de niveles, objetos, etc.) sin necesidad de contar con herramientas visuales.
  • Manejo de una sola criatura por parte del jugador.
  • Sistema de combate por turnos.
  • Sistema de conversación.
  • Facilidad para crear secuencias automáticas y presentaciones.
  • Soporte de trabajo con ficheros musicales (wav y mid) y gráficos (tga).
  • Trabajo con sistemas de archivos empaquetados.

Obviamente, esa lista es poco realista porque en todo proyecto siempre hay un tiempo limitado para poder implementar todos los deseos y bueno, es posible que alguna de las opciones se caigan. De todas formas, CRISOLEngine se está desarrollando con una prioridad de objetivos de desarrollo, así que no se intentará ir a por algo muy grande desde el principio, sino que se plantearán metas cada vez mayores según avance el proceso de desarrollo. Esto permitirá que yo pueda ir obteniendo resultados desde el principio y que no acabe volviéndome loco al ver que el proyecto se me escapa de las manos.

En conclusión, el engine no podrá resultar nunca rico en complejidad de reglas, pues el objetivo no será construir un universo con sus propias normas de tratamiento de personajes, objetos, magia y demás, para luego programar el engine que le dé soporte (cosa que ocurre en todos los proyectos comerciales). En lugar de eso, el objetivo será crear un sistema que, partiendo de unas reglas no específicas, permita crear juegos de rol del agrado de todos los que se interesen por esta herramienta.

Sobre el lenguaje script embebido.

CRISOLEngine utilizará un lenguaje script embebido, que le permitirá poder saber lo que tiene que hacer en cada momento. Principalmente, cuando se activen eventos internos. En tales eventos, el diseñador podrá incluir programas o secuencias de comandos, que CRISOLEngine interpretará para poder realizar lo que el diseñador quiera que se haga.

Sin el uso del lenguaje script sería imposible que el motor pudiera dar sentido a lo que es capaz de hacer. En otras palabras, no se le podría dar "inteligencia" al motor. De esta manera, se deberá de entender CRISOLEngine como un conjunto de módulos preparados para gestionar las reglas básicas de los juegos de rol. Dichos módulos permitirán narrar historias, dibujar en pantalla, reproducir sonido, controlar la entrada por parte del jugador, etc, pero sin saber, en realidad, lo que realmente están haciendo. CRISOLEngine no pondrá coherencia a lo que hagan dichos módulos, sino que será el diseñador del juego el que lo haga. Así pues, CRISOLEngine proporcionará una serie de funciones, o un API, que el diseñador podrá utilizar para crear el juego que tenga en mente. Para todos aquellos que se hayan hecho ilusiones con el motor y no tengan ni idea de programar, que no se alarmen, porque el lenguaje script será algo ridículamente sencillo. ¡Se trata que cualquier persona que no tenga conocimientos de programación pueda usar CRISOLEngine, así que os aseguro que pondré muchísimo esfuerzo en hacer algo muy elemental!.

La implementación de herramientas visuales podrá ayudar a la generación de código de forma automática. Si bien, las herramientas no podrán contemplar todos los casos, sino los más generales. A partir del código que pueda generar la herramienta visual, el diseñador podrá realizar sus propias modificaciones. Sería estupendo poder contar con el suficiente tiempo como para poder crear un conjunto elemental de herramientas visuales, así que en cuanto haya algo lo suficientemente funcional, me pondré a trabajar a ello.

Y lo repito una vez más, no quiero perderme con este proyecto, como ocurre con el 90% de los motores que se inician. En cuanto tenga algo mínimamente funcional y con buena presencia, me pondré a cerrarlo y no a seguir expandiéndolo hasta que termine volviéndome loco.

¿Más información?

Puedes acudir a la sección de descarga y obtener mucha más información sobre el proyecto, bajándote un documento en word. Así mismo, estoy pensando en crear un FAQ que pueda aclarar mucho mejor de qué va el proyecto.