Pages - Menu

viernes, 27 de diciembre de 2013

RPG Maker VX Ace: Tesoro Aleatorio

Durante todos estos posts hemos podido ver cómo realizar importantes añadidos a nuestro RPG que aumentan la duración del juego, hoy vamos a añadir un nuevo complemento que dará un toque distintivo al juego: Los tesoros  aleatorios.


Tesoros Aleatorios.

Los tesoros aleatorios dan un toque muy distinto a nuestro juego, eliminando un poco de linealidad y aportando variedad estratégica a la hora de otorgar recompensas. Por ejemplo, podemos hacer que un cofre tenga una de las tres posibles armas finales de nuestro personaje, de esta forma nos aseguramos que nuestro personaje tenga que recorrer el mundo en busca de los otros dos cofres para así completarlo todo.

CSCA Random Loot.

Gracias al usuario Casper Gaming podemos implementar éste sistema de tesoros aleatorios muy fácilmente, tan sólo es cuestión de seguir los siguientes pasos:

Nos copiamos el código de éste enlace.

Nos vamos a nuestro juego en el editor y pulsamos F11 para abrir la ventana de scripts. Insertamos uno nuevo donde siempre y lo nombramos como "CSCA Random Loot" y pegamos el código en la zona de la derecha.


Con ésto hemos terminado de implementar el sistema, ahora vamos a crear un evento para utilizarlo.

Creamos un evento rápido del tipo cofre, y editamos el código de la siguiente manera:


De nuevo he añadido una llamada dentro del evento mediante un script.


Pulsamos F12 para probar el juego.


Si salimos del juego y volvemos a entrar es posible que al abrir de nuevo el cofre salga otra cosa:


Con esto hemos terminado de implementar el sistema perfectamente, ahora tan sólo resta colocar más eventos para así poder dar al juego más variedad y eliminar cierta linealidad.

Editar Tesoros Aleatorios.

Podemos editar en el código los tesoros que podrán contener los cofres, para ello pulsamos F11 para abrir la ventana de scripts.

Localizamos la parte siguiente:

LOOT.push [CSCA_Item.new(1, 1, :item), 1, 1]
LOOT.push [CSCA_Item.new(500, 0, :gold), 1, 2]
LOOT.push [CSCA_Item.new(1, 1, :weapon), 2, 2]
LOOT.push [CSCA_Item.new(5000, 0, :gold), 2, 1]

Como podemos ver, tenemos un nuevo array, LOOT, el cual rellenamos con tres datos:

CSCA_Item, INDICADOR_NIVEL, RAREZA.

Como ya pudimos ver en el post del CSCA Colloseum, los objetos de la clase CSCA_Item se rellenan con la siguiente estructura:

CANTIDAD, ID del ITEM, TIPO de ITEM.

Los tipos de items son:

:item. 
:weapon. 
:armor. 
:gold.

Veamos como se crean los dos objetos que hemos visto antes en la prueba:

LOOT.push [CSCA_Item.new(1, 1, :item), 1, 1]
LOOT.push [CSCA_Item.new(500, 0, :gold), 1, 2]

Con esto creamos una poción, de nivel 1 y rareza 1 además de 500 de oro, de nivel 1 y rareza 2.

Si quisiéramos crear un nuevo ítem tan sólo tendríamos que mirar en la base de datos el ítem que deseemos y poner su índice, poner la cantidad, el tipo de ítem y el nivel y rareza.

El nivel sirve para agrupar los objetos aleatorios que pude haber dentro de un cofre, en el código que viene por defecto se crean hasta cuatro ítems, pero agrupados en el nivel 1 y 2. Si vemos de nuevo el código de llamada que puse en el evento de cofre veremos que especifico un número como parámetro, ese es el nivel que quiero que me genere el cofre.


En otras palabras, estoy diciéndole al código que me dé un ítem aleatorio de todos los posibles dentro del nivel 1.

Si quisieramos crear un nuevo nivel tan sólo tenemos que especificarlo en el código creando nuevos registros, por ejemplo:

LOOT.push [CSCA_Item.new(50000,0, :gold), 3,1]
LOOT.push [CSCA_Item.new(5000000,0, :gold), 3,2]

Hemos creado el nivel 3, que serán 50.000 y 5.000.000 de oro, ahora para que salga alguno de estos premios sólo nos falta llamar al script así:

csca_rl(3)

La rareza sirve para especificar la probabilidad con la que ese objeto puede salir al abrir el cofre, a más rareza más difícil es que salga ese objeto.

Conclusiones.

Con esto hemos terminado de implementar un sistema de tesoros aleatorios en nuestro RPG, con esto hemos dado un toque aleatoriedad a nuestro juego, que siempre se agradece quitar rutina para nuevas partidas o juegos compartidos, además que obliga a investigar bastante a la hora de dominar completamente nuestro juego.

¿Qué tipo de tesoros aleatorios pondrías en RPG Maker VX Ace?