RPG maker o la cara oculta de la luna

Por PolectronElMagnifico el 26/05/2015


El título elegido en este tema no es una casualidad, es un reflejo de la situación del RPG making en wah, pocos RPG makers quedan ya y los que quedan, salvo contadas excepciones, no reciben mucha atención y no exprimen al máximo las capacidades de esta plataforma. Así que con mi experiencia en RPG maker he decido hacer una pequeña recopilación de cosas que yo he realizado e ideas sobre qué se puede llegar a hacer.


Los usuarios en general consideran el RPG making como el hermano feo del ROM hacking, lo ven como esa manera no canónica de hacer fangames de pokémon, más facil y que ofrece mejores resultados con menos esfuerzo. Esto realmente no es siempre cierto, en realidad las características del ROM hacking y del RPG making son muy distintas.


No voy a discutir qué plataforma es mejor, ambas tienen propiedades distintas que les confieren ventajas y desventajas. Por ejemplo, con un ROM hack es más fácil realizar un juego muy ceñido a la estructura original de pokémon y con RPG maker es más sencillo realizar algo con una mecánica más original. Pero no quiero andarme por las ramas, ya existen varias comparaciones en el foro entre RPG making y ROM hacking, hoy vengo a hablaros de mi experiencia personal con el RPG maker, sus capacidades y más.


En RPG maker, como ya he dicho, contamos con mayor flexibilidad a la hora de introducir cracterísticas innovadoras, también nos permite insertar caracteristicas de juegos de pokémon más modernos, esto es posible con conocimiento de programación en ruby, mucha gente que usa esta plataforma se asusta con tan solo pensar en programar, pero esto es porque en RPG maker estamos acostumbrados a crear eventos, algo muy básico que vosotros ROM hackers conocéis como scripts, pulsando 4 botoncitos, mientras que en un ROM hack es necesario programarlos (scriptearlos).


Conociendo lo básico de programación es posible por ejemplo modificiar las fórmulas de daño y de ganancia de experiencia en combate. O modificar el funcionamiento del PC para impedir la depositación de cierto pokémon que por ejemplo sea vital para el desarrollo de la historia. Este tipo de modificaciones solo requieren del uso de operaciones matermáticas y condicionales.


En mi juego originalmente se iba a utilizar el script para evitar que ketrideh (el pokémon principal) se pudiese depositar en la caja, pero no llegamos a inplementarlo, otra modificación sencilla del código que sí se llevó a cabo fue hacer que los pokémon salvajes tuviesen un nivel igual a la media de los pokémon del equipo más un número aleatorio dentro de un rango [a este sistema lo llamamos BLAS (Balancing Level Automatic System)].


No siempre es necesario utilizar programación para hacer cosas interesantes, esta captura que os voy a mostrar está hecha entera con eventos, en ella un kyogre enfurecido te lanza rayos de hielo que al alcanzarte te congelan, el jugador tiene que esquivarlos y presionar los 3 interruptores que causarán daño a kyogre hasta debilitarlo, todo se gestiona desde un par de eventos en proceso paralelo que ejecutan bucles comprobando diversas condiciones y ejecutando acciones.



Si nos atrevemos a aprender a programar con RGSS (la librería que usa RPG maker para introducir gráficos y sonidos) podemos lograr cosas mucho más avanzadas, lo más sencillo y que recomiendo para aprender es comenzar modificando interfaces ya existentes (el inventario pokémon y la pokédex son ejemplos con los que aprender funciones de RGSS)
Dado que casi no existe documentación acerca de RGSS, recomiendo adquirir algo de experiencia aprendiendo a usar otra librería gráfica como SDL o PyGame (un port de SDL para python) que utilizan conceptos similares para dibujar elemntos en la pantalla (rects y surfaces) ya que tienen la misma finalidad que RGSS. Personalmente siempre tuve dificultades entendiendo el funcionamiento de RGSS hasta que comencé a interesarme por programación de juegos en otras plataformas algo menos cerradas y conocí SDL.


Un HUD es un ejemplo muy básico de lo que se puede lograr con conocimiento de RGSS:



Si ya conocemos los entresijos de RGSS podemos llegar a crear sistemas completos.


Como este buzón de misiones:



También es importante conocer los entresijos del propio RPG maker y como gestiona varias cosas, como los mapas, los eventos y los tiles. Si controlamos esto podemos acceder a la carga de mapas o de eventos y modificar datos en tiempo de ejecución.


En este sistema cargo eventos en el mapa definidos en un documento de texto de manera dinámica (los pokémon no están introducidos originalmente en el mapa porque es un coñazo meterlos uno a uno así que cree un sistema que leía un documento de texto y los introducía automáticamente):



Esto es un sistema que permite mover eventos por el mapa:



Otro sistema muy sencillo que atiende a las pulsaciones del teclado para comprobar combinaciones:



Por tanto como podéis ver, chicos no os quedéis cortos, aprovechad las ventajas que ofrece RPG maker a la hora de ampliar las capacidades, innovad y soñad, no os dejéis parar por el miedo a no saber hacer algo, yo me pegué meses intentando pulir mi sistema de pokémon errantes hasta al fin terminarlo y estar satisfecho con ello y recordad que no todo lo que importa son gráficos e interfaces atractivas. Nunca os rindáis.

Comentarios