EasyRPG Player es un intérprete de juegos creados con RPG Maker 2000 y 2003. Es multiplataforma y software libre. Puede utilizarse como un reemplazo de RPG_RT.exe y se publica para más de una decena de sistemas operativos de PC, consolas y dispositivos móviles.

La nueva versión 0.6.0 es un lanzamiento importante, ya que consolida el funcionamiento del sistema de batalla, especialmente el de RPG Maker 2000 incluso en aspectos visuales. También mejora significativamente hasta implementar todas las características del 2003, salvo algunos aspectos visuales y algún que otro detalle que se espera poder resolver en próximas actualizaciones.

Otro aspecto destacable es la sólida estabilidad al guardar y cargar partidas. La estructura de datos se da por estabilizada y se ha verificado contra miles de juegos y comprobando mediante diferencias binarias. Esto podría traer algunas incompatibilidades con partidas guardadas con versiones anteriores de EasyRPG Player, por lo que se recomienda cambiar de mapa y volver a entrar al mismo para reiniciar algunos valores iniciales.

Hay otros cientos de mejoras más, incluyendo nuevas características, algunas no disponibles en el intérprete original. Para conocer la lista detallada y extensa de mejoras (4000 palabras), el artículo original en inglés está en:
https://blog.easyrpg.org/2019/03/easyrpg-player-0-6-0-preemptive-attack/

Tengo una duda con respecto a los mods que puedan haber y es en lo referente al formato de archivos resultante para mods que alteren de algún modo las tablas de la base de datos y las partidas guardadas. ¿Va a haber algún modo para manejarlo en el EasyRPG?

Por ejemplo si quiero añadir interruptores y variables locales implica que los eventos de los mapas tengan más condiciones y efectos para manejarlos que tendrán que guardarse en los mapas más un par de listas dinámicas que se añadirán en las partidas guardadas.

    chaoswarlord sobre el concepto de mods que mencionas, supongo te refieres a modificaciones del programa en algún grado específico para agregarle estas características en el estilo de lo que ofreces de plugins para MV. Debido a que EasyRPG es un proyecto de software libre y cualquier persona puede aportar modificaciones al código fuente, muchas mejoras se pueden proponer como mejora directa al proyecto y así estar disponibles para todos los usuarios del programa.

    Sobre el manejo de extensiones sobre el formato original, en la nueva versión se ha agregado un nuevo ID de bloque para uso de EasyRPG (ID decimal 200 en la raíz) en las partidas guardadas (.lsd). Los objetos binarios (chunks) en el formato lcf permite objetos anidados, por lo que otros IDs "propietarios" de EasyRPG podría partir de ese. De momento el sub id 1 es la versión de EasyRPG. identificar la versión de las partidas guardadas, aunque podría llegarse a un consenso para agregar un bloque ID "de usuario" para los plugins, pero al usar identificadores es un poco más complicado llegar a un consenso de asignación de ID de bloques sin que entren en conflicto. Renombrar un plugin en MV para que no entre en conflicto con otro que se llame igual es relativamente trivial pero resolver algo así en un formato binario que extiende del mismo creo que es algo más complicado.

    Como alternativa a modificar el core del proyecto, por el momento EasyRPG no tiene perfectamente definido cómo scripting todavía, aunque sí hay una propuesta sobre la mesa y el candidato es JavaScript mediante Duktape, aunque todavía no se han realizado más que experimentos y no hay diseño de una API todavía. Duktape es un intérprete minimalista enfocado en consumir poca memoria y tener un tamaño pequeño. Aunque no es nada rápido si se compara con V8 o SpiderMonkey, permitiría crear scripts que funcionen en dispositivos con poca memoria RAM, incluso en una 3DS.

    Quizás una forma de extender el guardado podría realizarse de una forma lo más genérica posible como para abarcar estructuras de datos personalizadas que traten de cubrir todos los casos de uso que requiriera cualquier extensión futura del programa y no tener chunks con identificadores binarios propios para cada mod/plugin/script.

    También es importante avanzar en el editor de EasyRPG, que todavía no está listo para usarse. Una de las ideas que rondan por la cabeza es poder hacer que estos scripts/plugins también amplíen las opciones parametrizables en el propio editor, como permiten algunas interfaces de instrumentos musicales, así los usuarios no tendrían que tocar código para establecer nuevas opciones una vez instalada una modificación. De todos modos esto está todavía lejos, la prioridad es terminar de estabilizar el intérprete y por suerte este objetivo es relativamente cercano y podrá pasarse a poder agregarse nuevas características. También hay que mirar cómo se puede implementar un sistema de extensiones que no entre en conflicto con la licencia GPL.

    Saludos.

    Quizás tenga que esperar a que esté el editor.
    Lo que más me interesa del EasyRPG es que es software libre y se puede editar el código fuente y compilarlo consiguiendo más velocidad de la que se consigue con intérpretes de Ruby y Javascript.

    En el MV para añadir campos tengo que usar huecos en donde se pueda escribir, como las notas en la base de datos y los comentarios en los eventos, y se procesan por cada plugin que lo requiera con el subsiguiente tiempo agregado en el inicio antes de poder jugar. En cambio si ya están dichos campos integrados ese tiempo se reduce.

    Probablemente tenga que crear archivos extra para que no haya conflictos.

    Saludos.