RedDwarf, heredero de Project Darkstar

Si leísteis el artículo anterior de esta serie, os acordaréis que faltan ciertas áreas que no se ven muy cubiertas por esta serie de motores o componentes comerciales: la concurrencia, la conectividad, la persistencia, y muy importante, la escalabilidad. ¿No hay componentes (frameworks) que nos simplifiquen todo esto? ¿frameworks que nos den lo que prácticamente todos los MMORPG necesitan en estas áreas comunes ya hecho y programado? Yo conozco uno, y he alucinado: RedDwarf.

Project Darkstar

Hasta hace unos pocos días, RedDwarf, como parece que será finalmente el nombre elegido, se llamaba Project Darkstar. Se trata de un proyecto que se inició en el año 1999, y que ha sido desarrollado hasta ahora por Sun Microsystems. La causa del cambio de nombre ha sido el abandono del proyecto por parte de Sun, debido a la compra de esta compañía por parte de Oracle. Ya que se trata de un proyecto abierto, la comunidad está en proceso de relanzarlo. Pero expliquemos mejor qué es esto.

RedDwarf cubre todos los aspectos que he nombrado anteriormente, aspectos complejos comunes a todos los MMORPGs. Para el desarrollador, el problema de la concurrencia quedaría totalmente subsanado: no existen los hilos al usar framework, ni la sincronización, el programador sólo piensa en tareas que RedDwarf se encargará de ejecutar cuando pueda creando los hilos que crea necesarios dependiendo del sistema (núcleos de CPU, etc). Tampoco tienes que encargarte de las comunicaciones: la base ya está programada, y de la forma más eficiente posible. Toda la comunicación entre los clientes y el servidor ha sido simplificada al máximo mediante conceptos como “Channels” o canales de subscripción. Y qué pasa con la persistencia, culpable de los rollbacks (perder cosas cuando te caes del servidor o el servidor se cae) del resto de MMORPGs por una programación no tan óptima: arreglada por completo, no existen los rollbacks ni los “server save”, el servidor siempre está guardado.  Ah, espera, falta la escalabilidad: tan fácil como conectar una nueva máquina, no haría falta reprogramar nada de nada (aunque esto último estaban a punto de conseguirlo en el momento en el que Oracle anunció que dejaba de apoyar al Project Darkstar).

Este proyecto, en la versión 0.9.11 es totalmente funcional, de hecho existen empresas que han desarrollado juegos online comerciales utilizándolo. Las posibilidades son tremendas, y la comunidad lo sabe, por lo que muy seguramente RedDwarf, como ahora ha sido bautizado, tenga un buen futuro. Si os interesa, deberíais acudir a la página de  Project Darkstar para buscar información, ya que el traslado a RedDwarf comenzó hace sólo 6 días. Por último comentar que estoy migrando un juego de mus online a este framework, y espero poder contaros más al respecto, aunque puedo decir ya que es tremendamente fácil utilizarlo y simplifica muchísimo el desarrollo de este tipo de sistemas.