Colaborar con Aetheria.

En principio no dejé muy claro si había o no manera de colaborar con el proyecto, principalmente por los motivos que explico en "método para crear Aetheria": la idea inicial es que éste fuera un proyecto individual, algo que saliera únicamente de mi imaginación. Sin embargo, esta idea, que formaba parte de las premisas iniciales de las que partí al embarcarme en el proyecto y por tanto es algo a lo que considero que debo intentar tender, choca frontalmente con el hecho de que el juego pretende ser muy grande, de manera que incluso en años de trabajo sería difícil hacerlo solo. Por lo tanto, ahora mismo estoy prácticamente convencido de que debo buscar colaboraciones, eso sí, bien seleccionadas. Me he ido convenciendo cada vez más de esto a medida que avanzaba en el proyecto, no sólo por darme cuenta de lo grande que es; sino porque además el armazón que estoy programando, que es una máquina de estados que puede guardarse totalmente en el disco para volverse a cargar cuando se quiera reanudar la simulación, es tremendamente modular. Una vez esté completo este armazón, un juego en sí (con todos los objetos del mundo, así como el argumento, el principio y el final) no va a ser más que un estado inicial, un conjunto de ficheros describiendo objetos tal y como comenzarán, y que luego irán evolucionando por su cuenta. Quiere decir esto que el programa que carga Aetheria puede plantearse como un "cargador de mundos" sin más, que podría utilizarse del mismo modo para cargar el juego Aetheria que cualquier otro juego de complejidad igual o menor: con base en el sistema de Aetheria se pueden crear en el mismo formato juegos totalmente diferentes, incluso juegos de aventura de texto sin elementos de rol como pretende tener el Aetheria, ambientados en el mismo o en otro lugar. Esto ya lo tenía en mente como una posibilidad al hacer las primeras compilaciones en C++; pero además el sistema multithread que he diseñado al portarlo a Java podría permitir que el sistema soportara, incluso, juegos multijugador en tiempo real, cosa que no se corresponde con lo que concebí en un principio; pero que es otra posibilidad que podría interesar a alguien.
A este "engine" modular que podría soportar multitud de juegos es a lo que llamo, de momento, Aetheria Game Engine, que se complementará con el Aetheria Entity Workshop, editor que permite crear el mundo a partir de las entidades en su estado inicial, y del que ya tengo hecho un rudimentario editor de habitaciones.
¿Qué tiene que ver todo esto con la política de colaboraciones? Pues mucho, porque esa modularidad hace que, en cierto modo, mi idea inicial de obra individual se pueda conciliar con la idea de un juego enorme dotado de un ingente mapa: el programa que da soporte al juego lo puedo programar yo; pero el mundo (que es realmente la parte que hace faraónico el trabajo) se puede crear entre varias personas. Y si quiero hacer un juego más "personal" cuidando personalmente todos los detalles, ya lo haré más tarde con el Entity Workshop.

Sin embargo, todavía hay otro motivo por el que no he buscado colaboraciones, y es que no sé bajo qué tipo de licencia se va a distribuir el juego. Evidentemente no va a ser comercial, porque nunca fue mi intención ganar nada con esto, y dudo que haya alguna empresa en el mundo a la que le pudiese interesar un juego de texto. Pero, fuera de ese campo, en fases tan tempranas del proyecto todavía no sé si optar por distribuirlo como software libre con licencia GPL o más bien como alguna variante de shareware, pidiendo un precio simbólico (aunque seguramente sólo para el que quiera pagarlo, sin limitaciones ni fecha de expiración) con el objetivo de soportar el mantenimiento del juego y (por qué no) animarme a otros proyectos. Otra opción, que es la que más he estado sopesando últimamente, sería distribuir partes libres y partes shareware: por ejemplo, sería una organización lógica distribuir el Game Engine y el Entity Workshop que he explicado antes como software libre y el mundo de Aetheria como shareware, o tal vez distribuir como shareware el Game Engine con algún juego pequeño y que Aetheria fuese libre, ya que es en la construcción del mundo donde más colaboraciones harían falta.
En todo caso, el tema es que entiendo que estas cuestiones pueden preocupar a la gente que pudiese tener intención de colaborar, pues evidentemente muchos pueden estar de acuerdo en trabajar en un software libre y no en un shareware. Por ello en ningún momento he ido por ahí buscando colaboraciones, y de hecho todavía no las busco, sino que simplemente ofrezco aquí la posibilidad a cualquiera de ofrecerse a colaborar. Siento no tomar la decisión de cómo distribuir el juego por anticipado; pero no creo que lo haga, por eso lo advierto a cualquiera que piense colaborar. Todo el que se ofrezca tendrá que hacerlo sabiendo esto.

Por último, hechas todas las advertencias que convenía hacer, queda decir qué colaboraciones podrían ser útiles. De momento, el Game Engine lo voy a hacer todo yo, como he dicho, así que no hace falta nadie en lo que se refiere a programación, salvo en un aspecto: hace falta implementar un intérprete de un lenguaje simple que imbuir en los objetos. De momento, yo he resuelto la papeleta con un pseudoensamblador, el Ensamblador Virtual de Aetheria (EVA), porque es muy fácil de interpretar, aunque sea más difícil programar en él; pero sería bueno soportar a la vez otro lenguaje más cómodo para que los constructores de juegos pudieran programar cosas avanzadas para el Game Engine. Así pues, si alguien es capaz de "superar" la oferta del ensamblador y podría crear en Java un intérprete de un lenguaje de alto nivel muy simple, que soportara llamadas a las funciones de Aetheria, eso haría falta.

Pero lo que realmente hace falta, como supongo que ya quedó un poco claro antes, no son programadores, sino gente que sepa escribir. Se trata de crear las zonas y los objetos que constituirán el mundo de Aetheria, y ahí también puede aparecer un poco de código en el caso de objetos "inteligentes"; pero la mayor parte de la tarea es imaginar y describir paisajes, ciudades, objetos, criaturas y personajes. Así pues, si crees que puedes hacer bien esto y te gustaría colaborar en la construcción del mundo de Aetheria, independientemente de la idea que tengas de programar (aunque sea nula), puedes apuntarte a la lista de correo de Aetheria y mandar un correo para ver lo que puedes hacer.

Si alguien querría colaborar pero con condiciones (su parte del trabajo distribuida bajo GPL, por ejemplo) sólo tiene que fijar esas condiciones.

Si no quieres colaborar; pero de todas formas te interesaría enterarte del progreso del proyecto de forma más directa que mediante esta web, también puedes apuntarte a la lista de correo de Aetheria. La lista está abierta a todo el mundo, y mientras no surjan problemas (y dudo que lo hagan) cualquiera puede mandar un mensaje, así que pregunta lo que quieras ahí.


Vade retro