Hola gente del mundo bienvenidos, soy IKI.  ¿Qué tan difícil es hacer un rpg?

Muchos, y me incluyo, nos metimos en el mundo de desarrollo videojuegos inspirados por rpg y con ganas de hacer uno. Ahora, ¿es conveniente? ¿que tan complejo es? ¿que compone un rpg realmente?.

En caso de que vos ya tengas experiencia también te va a servir saber que componen rpg para poder crear el tuyo propio. Así que te voy a mostrar con un ejemplo en concreto en donde yo desarrollo un rpg, cuáles son las complicaciones y componentes que tiene el mismo. Vamos allá.

El juego Pokémon por ejemplo, es un juego que contiene pets, combates y no mucho más. ¿Que tan difícil puede ser hacer un juego así?. Me puse a recrearlo así que a continuación vamos a descomponer su contenido.

Primero que nada separando el menú y las imágenes. Fíjate además que en el menú tenemos diferentes opciones y no siempre van a estar activas. Continuar por ejemplo sólo va a estar activa cuando el player tenga una partida guardada, y necesitamos tener también pivot para poder recorrer las opciones como se puede ver en pantalla. Luego necesitamos un sistema y una lógica de transición entre imágenes, fíjate que no siempre está la misma imagen en pantalla, y un sistema de diálogo bastante avanzado ya que los diálogos van a ser dinámicos, van a ir cambiando en el tiempo, no siempre va a ser el mismo diálogo. También ten en cuenta que tenemos que configurar el tipo de FONT o letra que vamos a usar, es decir la tipografía.

Algo bastante complejo de hacer también, es crear un menú que nos permita insertar y personalizar nuestro propio nombre, y que en el juego además aparezca este propio nombre que creamos cada vez que se menciona al personaje. Por ello necesitamos hacer una suerte de alfabeto en donde podamos escribir y borrar letras. Asimismo si bien son pocas tenemos que trabajar en las animaciones de nuestro juego, y cuando digo pocas no estoy teniendo en cuenta el combate, que eso sí que tiene un montón de animaciones.

Otra cosa muy interesante que quizá parezca más divertida es el level design, es decir el mapeado o TILE de los niveles, donde vamos a empezar a insertar los objetos del juego. Hay que tener en cuenta que a este sistema además le tenés que programar otro sistema bastante avanzado para la lectura de TILES, porque vamos a interactuar entonces con algunos objetos en el juego.

Además aunque parezca muy bonito, de fondo tenéis que tener en cuenta que tuve que recortar todos estos SPRITES para que tengan las dimensiones de las imágenes insertables. Unas 282 imágenes por lo menos. También cree un sistema de puntos de SPAWN y SPAWN del personaje, ya que por ejemplo, al entrar en las escaleras va a poder ir a otro nivel, o a otra escena que es el piso de abajo digamos. Y en cada escena el proceso es el mismo. TILE, agregado de elementos, puntos de SPAWN y actores posibles. Acá borro un poco para que veas que trabajo con varias capas. Yendo al pueblo tenemos sistemas más complejos, por ejemplo el sistema de navegación de personajes, donde los npc u otros personajes van a poder caminar por una zona que nosotros indiquemos automáticamente. También me vi en la necesidad de crear un sistema de TILES animados, ya que por ejemplo el agua o las flores tenían movimiento.

 

No menos importantes son las colisiones, sino nuestro personaje se saldría del nivel. Además de puntos de SPAWN y rutas de navegación para los otros personajes, también tenemos punto de spam para los eventos. Por ejemplo el profesor OAK va a aparecer desde acá, realmente no viene desde el laboratorio. Fíjate como además sigue un sistema de ruta inteligente o path finding.

Obviamente también tuve que crear los personajes secundarios que tienen su composición, por ejemplo tienen un sistema de colisión para que puedas colisionar contra ellos, tienen una imagen que los representa, animaciones. Fíjate lo interesante de esto es que hay que crear una animación para cada lado que se vaya a mover, y encima el sistema es un movimiento basado en grillas. Luego cree un sistema para que pueda detectar lo que está mirando adelante suyo y además un sistema de área de navegación para que no se salga de ese área dónde va a tener que caminar. Lo mismo va a suceder con el gordito del pueblo paleta.

Si bien los personajes comparten ciertas similitudes, algunos son mucho más complejos que otros. Por ejemplo el profesor OAK va a aparecer en diferentes partes del juego con diferentes comportamientos y diálogos, por lo tanto requiere una programación especial basada en transiciones. Asimismo observa que esta escena también va a tener un punto de navegación hacia dónde se va a dirigir nuestro personaje y el profesor. No olvidemos que está llena de los otros componentes que tenían los otros niveles, es decir TILES, actores y demás.

 

Un elemento crucial es el primer rival del juego, ya que tenemos que entonces generar un sistema de rivales. Cada rival va a tener diferentes pokemon, diferentes habilidades. Por eso hay que crear otro juego o programa totalmente diferente, en donde vamos a tener un generador de rivales, generador de pokemon y demás. Un montón de generadores.

Como puedes ver el generador de rival me va a permitir identificar sus pokemon, sus textos, diálogos, el dinero que va a dar como recompensa, el nombre que tiene, un montón de cosas. Todos estos datos se van a guardar en las carpetas de nuestro juego que están ya organizadas de una forma bastante inteligente, así como también el sistema de guardado de partida.

¿Y para qué hacemos generadores?. Bueno para poder crear más fácil rivales. Imagínate estar programando uno a uno, no terminaríamos nunca más. Son más de 200 rivales, no terminas más.

Por eso el generador de rivales trata de hacer un poco más eficiente todo este sistema, así como el generador de Pokemon que son 151, etcétera.

Fíjate que inclusive cree un sistema de generación de ataques pokemon, porque cada pokemon o personaje va a tener sus ataques, diferentes ataques. Cada ataque va a poder infringir diferentes estados o daños. Por ejemplo podemos envenenar a otro personaje, entonces todo esto se configura.

También tenemos un editor de cartas pokemon ya que cada pokemon tiene su propia descripción e imagen.

Las pokebolas son un objeto complicado del juego ya que entregan diferentes tipos de objeto que nosotros configuremos o pokémons, entonces tienen este dinamismo de poder dar lo que se nos venga a la gana a nosotros.

Estás en particular justo tienen los pokemon iniciales a elegir, por lo tanto fíjate que hice un generador de pokemon como mencioné antes, con las evoluciones, los niveles, los ataques, etcétera.

Esto también funciona como un evento en esta parte, ya que fíjate que solamente va a poder elegir un solo pokemon, entonces tenemos que limitar las opciones. Sino obviamente se llevaría a los 3, ya estarías haciendo una gran trampa y el juego no tendría tanto sentido.

En este punto avanzado es que me puse a desarrollar el sistema de batalla, el cual es muy complejo.

Fíjate que arriba tenemos los stats del personaje así como los del player, y son dinámicos, es decir, los pokemon y las imágenes van a cambiar, así como sus animaciones, su estado, el nivel, el nombre.

Siempre va a tener el dinamismo del rival según los pokemon que el mismo tenga y elija.

Bueno y tenemos muchísimos elementos más, voy a mencionar algunos.

Por ejemplo para cargar al rival obviamente que uso los archivos generados por el generador de rival que creamos anteriormente.

Entre los stats del player tenemos las medallas que va a ir desbloqueando, así como el tiempo jugado y el dinero.

El menú de lista de nuestros pokémon para que podamos hacer cambios en el equipo y plantear diferentes estrategias o ver los stats.

El mapa que nos transporta a las diferentes escenas del juego.

Tu vieja.

Y todos los otros diálogos y personajes que vamos a tener durante el resto del juego, que son como 300 o más.

 

Para tu suerte, si estás interesado, el proceso de todo lo que acabas de ver lo grabé en un CURSO.

Un curso bastante sencillo de comprender hecho en Godot, y lo podes conseguir acá en nuestra página (Clickea en la imagen, con confianza):

Con esto no quiero decir que lo tengas que comprar pero comprarlo.

Bueno te invito a compartir cuál es tu experiencia al respecto. Hiciste alguna vez un rpg? queres hacer un rpg? qué complicaciones has tenido? o conoces algún caso?. Lo puedes dejar acá en los comentarios. Si te gustó el vídeo recuerda compartí, suscribirte, darle me gusta y nos seguimos sintonizando. Hasta la próxima.