Aetheria Game Engine

De WikiCAAD, la enciclopedia aventurera.

Revisión a fecha de 14:59 9 jul 2016; Incanus (Discusión | contribuciones)
(dif) ←Revisión anterior | Examinar la revisión actual (dif) | Revisión siguiente→ (dif)
Captura de pantalla de PUCK, el prometedor entorno de creación de Aetheria Game Engine

Aetheria Game Engine o AGE es un un sistema de creación de aventuras conversacionales desarrollado por Carlos Gómez (Al-Khwarizmi). El desarrollo se comenzó en el 2002 y continúa en la actualidad, pudiéndose informar de bugs o sugerir mejoras al desarrollador en la página del proyecto. El código es libre, distribuido bajo licencia BSD.

Está desarrollado integramente en Java y el lenguaje de programación que ofrece para crear las aventuras es BeanShell. Posee un entorno de desarrollo visual (IDE) llamado PUCK.

Características

Más en detalle, algunas características destacadas de este sistema son las siguientes:

  • Soporte multijugador nativo:
    • Se pueden montar partidas multijugador mediante tres protocolos diferentes: telnet, IRC, o bien un protocolo específico de AGE que permite disfrutar de las capacidades multimedia del sistema en las partidas multijugador. El soporte multijugador está integrado en el sistema, no haciendo falta intermediarios como Rebot o similares.
    • El modelo de mundo está pensado desde el principio para multijugador, los objetos para jugadores están modelados como los objetos para cualquier otra criatura del mundo (al contrario que en sistemas "jugador-céntricos" como los basados en Inform, donde el jugador es una entidad separada).
  • Modelo de mundo:
    • El modelo de mundo está orientado a objetos y planteado desde una perspectiva simulacionista, donde un mundo es un conjunto de entidades que en un momento dado tienen un determinado estado y unas relaciones entre ellas, que pueden cambiar dinámicamente.
    • Todo lo que hay en el mundo (localidades, descripciones, etc.) es dinámico y cambiable, al contrario que en otros sistemas.
  • Sistema de tiempo:
    • Cuenta con dos sistemas: tiempo real o "turnos". El sistema de turnos es en realidad un sistema síncrono basado en unidades de tiempo, donde las acciones consumen un determinado número de unidades, y el tiempo se pausa cuando un jugador puede reaccionar (a la manera de juegos estratégicos como X-COM UFO Defense).
    • Ambos sistemas son totalmente intercambiables, la misma aventura se puede jugar en modo tiempo real o turnos sin que el programador tenga que hacer nada especial (salvo definir el tiempo que consume cada evento personalizado que cree).
  • Elementos de rol:
    • El sistema está pensado desde el principio para hacer juegos con elementos de rol (estadísticas, progresión del personaje, combates, etc.) Dichos elementos vienen de base en el núcleo del sistema.
    • El sistema de combate es complejo, soportando cosas como bloqueos, esquivadas, tiempos de aturdimiento tras los ataques variables con las armas, probabilidades de acierto/fallo de las armas que varían según la destreza, conjuros, contraconjuros... todo ello enriquecido por el sistema de unidades de tiempo antes mencionado.
  • Arquitectura del sistema:
    • Al contrario que la mayoría de los sistemas actuales, que se basan en compilar para máquinas virtuales de propósito general, el AGE tiene una arquitectura de motor de juego "data-driven", como lo que se suele utilizar en otros tipos de juego que no son aventuras: hay un motor de ejecución de mundos común que integra toda la funcionalidad básica del modelo de mundo, y cada juego específico sólo tiene que definir unos objetos y sus comportamientos.
    • Dichos objetos se definen mediante lenguajes actuales: XML para los datos y BeanShell (scripting similar a Java) para los comportamientos. Sólo es necesario definir comportamientos para eventos personalizados, todo lo que se da por hecho en el modelo de mundo de una aventura (movimiento entre localidades, apertura de puertas, etc.) se puede definir simplemente con datos XML.
  • Integración con Java:
    • El lenguaje BeanShell permite acceso directo a la API de Java, con lo que el programador de aventuras puede hacer cualquier cosa que se pueda hacer con este lenguaje. Esto hace que podamos aprovechar toda la potencia de la máquina sin limitaciones como las que imponen la Máquina-Z o Glulx (aunque a costa de perder algo de portabilidad).
  • IDE visual:
    • El IDE visual PUCK permite definir todos los elementos estáticos de la aventura (los datos que van en XML) mediante mapas visuales y formularios. El creador de aventuras sólo tendrá que programar los comportamientos específicos en lenguaje BeanShell, para lo cual el IDE también ofrece ayudas (como menús de asistencia de código).

Aventuras

Enlaces

Herramientas personales