Durante las primeras semanas del desarrollo de Nigrum, mi principal tarea ha consistido en ampliar y mejorar las funcionalidades del motor RPG Maker MZ para que se adapte mejor a lo que tenía en mente. Para ello, he estado trasteando con diversos scripts hasta lograr mi objetivo. Os cuento.
Scripting en RPG Maker MZ
Como motor base, RPG Maker MZ no está del todo mal. De por si, posee todas las herramientas necesarias para desarrollar un juego al 100%. No obstante, eso haría que todos los juegos fueran prácticamente igual a nivel base. Para evitarlo, existe el concepto de script.
¿Qué es un Script?
Aunque la definición exacta puede variar dependiendo de sobre qué tecnología estemos hablando, podemos entender un script como un fragmento de código externo al propio sistema, el cual nos permite añadir nuevas funcionalidades al mismo o modificar las ya existentes. En el caso concreto del RPG Maker, los scripts se encargan de gestionar la mayor parte de la lógica del juego, permitiendo con ello adaptar nuestro proyecto y darle ese toque especial que lo diferencie del resto.

En versiones anteriores, el uso de scripts se realizaba mediante un editor incorporado en el propio motor. En el, podíamos modificar el código actual o añadir nuevo, todo ello mediante el uso del lenguaje Ruby.
A partir de la versión MV, no obstante, la cosa ha cambiado. Para empezar, ya no existe el editor de scripts, sino que tenemos acceso al código del juego. Eso quiere decir que simplemente tenemos que abrir el fichero correspondiente con nuestro editor favorito y empezar a escribir. Otro cambio importante, es que ahora el lenguaje utilizado es JavaScript. Este, junto a HTML5, permite exportar el juego a prácticamente cualquier plataforma.
En mi opinión, ha sido un cambio acertado, ya que les da más libertad a los desarrolladores para controlar su propio juego. Sin embargo, es posible que para los recién llegados esto suponga algún impedimento.
Modificaciones Realizadas para Nigrum
Localización del Juego
Desde bien empezado el diseño del proyecto, tenía claro que el juego debía estar disponible en diferentes idiomas. El inglés es imprescindible para poder acceder al mercado internacional, y el español era un sí o sí debido a ser mi idioma natal. En la red encontré diversos scripts que cumplían con mis propósitos, y tras probar varios de ellos, finalmente me he quedado con el Iavra MZ Localization.
Por cierto, también me gustaría tenerlo en japonés debido al propio trasfondo del género, pero esto ya se verá de cara al final del desarrollo, pues resultará en una inversión económica que no sé si podré llevar a cabo.
Sistema de Batalla
Por defecto, el sistema de batalla definido consiste en enfrentarse a imágenes estáticas de los enemigos. Esto no me gustaba, y menos cuando los propios personajes del jugador sí que tienen sus animaciones. Aquí mi objetivo era que los enemigos siguieran el mismo sistema que los personajes.

En su momento encontré el script perfecto, pues cumplía con todos mis requisitos e incluso algunos que no sabía que tenía. No obstante, resultaba tan difícil de configurar y que no creara conflictos con los otros scripts, que acabé desistiendo al cabo de varios días de pegarme cabezazos contra una pared.
Finalmente, descubrí la web de HimeWorks, y combinando varios de sus scripts logré crear un sistema de batalla bastante parecido a lo que tenía en mi cabeza. Todavía tiene algunos fallos, pero es más que suficiente para ir tirando, y ya lo ajustaré más al final del desarrollo si tengo tiempo.

Sistema de Juego en HD
Como ya comenté cuando decidí migrar a RPG Maker MZ, esta nueva versión del motor lleva por defecto todos los scripts y complementos para poder configurar el proyecto en modo HD. Gracias a ello, he logrado configurar un sistema de juego en 720p, con todos los menús adaptados sin crear ningún conflicto entre los mismos. Sí, es la solución fácil, pero a mí me vale.
Pequeñas Mejoras Gráficas
Llegados a este punto, el motor ya estaba más que listo para comenzar a trabajar en el juego. No obstante, cuando lo probaba, como que le faltaba algo. El juego me parecía muy plano, poco atractivo. Simplemente añadiendo algunos detalles, como sombras en los diversos elementos y personajes, así como una animación del estado idle (en reposo) para estos últimos, han logrado que el juego parezca algo totalmente distinto. Y me gusta.

El proyecto va avanzando poco a poco. Ahora mismo tengo dos objetivos en mente. A corto plazo, crear la página de Steam y empezar a moverlo un poco por ahí. A medio plazo, seguramente para año nuevo, tener el prólogo terminado al 100%, y utilizarlo como demo del proyecto. ¿Lo lograré?
¡Nos leemos!
¿Quieres estar al día de todo lo publicado en el blog?
Para ello puedes suscribirte a mi canal RSS y/o seguirme en mis Redes Sociales.
