8 ago 2011

Script de Decoración de Casas

¡Hola!

Bien, después de como... mucho tiempo (?) de no hacer entradas (por lo menos no yo xD), hoy vengo a petición de Gatto a contarles un poco acerca de un nuevo script que he conseguido recientemente que nos ayudará realmente mucho en el juego. Ví que Gatto lo mencionó un poco en a entrada antepasada, aunque en realidad no es que diera mucha información de él xD. La entrada de hoy será, como ya les dijeron, "una entrada completa y no de relleno donde les hablaré sobre esto y usaré tecnicismos raros de los que Gatto no tiene ni la más mínima idea." Eso de los tecnisismos es algo variable... intentaré explicar lo mejor posible qué hace el script, cómo funciona y qué necesitamos modificar de él antes de empezar a usarlo sin usar tantas palabras raras para los que no saben mucho del RPG Maker, y a la vez quizá dar algunas explicaciones usando esas palabras extrañas para que los que sí saben puedan comprender mejor en qué ámbitos y de qué manera podemos nosotros usar el script y por qué es necesario cambiar algunas cosas del mismo.

Antes que nada me gustaría dejar clara la definición de script, porque es una palabra que de ahora en adelante van a estar oyendo mucho por aquí en el blog. Un script es un código que se puede introducir en un proyecto de RPG Maker XP o RPG Maker VX o un millón de motores para la creación de videojuegos sin usar código más, que agrega nuevas funcionalidades que de otra manera sería imposible tener. Los scripts de RPG Maker son escritos por personas, usuarios del programa, que tienen unos amplios conocimientos de un lenguaje de programación basado en Ruby que es el que usa el Maker, llamado RGSS. Existe también el lenguaje RGSS, que utiliza RPG Maker VX, pero es una cosa aparte porque nosotros utilizamos el XP, de forma que no entraremos mucho en el tema.

Si alguno de ustedes alguna vez ha jugado a cualquier juego del estilo Tycoon o construcción de cualquier cosa (ciudades, parques de diversiones, zoológicos y un largo etcétera) se darán cuenta de que la base de todo, lo que hace que TODO funcione y sea divertido es la posibilidad de personalizar completamente el entorno del lugar donde jugamos, añadir si queremos algo por aquí y algo más por allá en el mapa en el que estamos jugando (sea una ciudad, un parque, zoológico o incluso una casa en un juego de simulación social), y así vemos como cada cosa nueva que agregamos, movemos o quitamos afecta a los demás factores del juego.

Un juego de construcción de ciudades como City World se reduce básicamente a nada si no se pueden poner estaciones de bomberos, de policía, edificios, zonas residenciales y esas cosas. Pues bien, eso no era posible en City World hasta hace unos días. Hemos creado muchos edificios, sí, pero no habíamos agregado la posibilidad de meterlos en un mapa (una partida). Como se habrán dado cuenta, no nos sirve de mucho tener una infinidad de edificios disponibles si el jugador no puede poner ninguno xD. Desafortunadamente, y como los conocedores del Maker sabrán, hasta ahora es imposible teletransportar eventos de un mapa no activo a uno activo. Podemos mover un evento ya activo de una parte del mapa a otro, pero no transportarlo o crear una instancia de un evento no existente en el mapa activo en, precisamente, el mapa activo, usando únicamente engines. En otras palabras, y aplicado al ejemplo concreto de City World, no podemos poner en la ciudad algo que no estaba antes ahí. Quizá podríamos cambiar de lugar un edificio que ya estuviese puesto desde antes, pero crearlo de cero no. Y eso representa un gran problema en un juego de construcción de ciudades, seguro que ya saben por qué.

Pues bien, el script que me he encontrado y que pensamos incorporar después de unos cambios que haré con los mínimos conocimientos de RGSS que tengo (serán cambios más sobre la interfaz gráfica que otra cosa, aunque también necesito arreglar algo como que no sea necesario tener las cosas para agregarlas, y que se cree una instancia y no se transporten los eventos, porque no tiene caso que sólo podamos poner un edificio de cada tipo xD, que es lo que pasaría sin esos cambios) hará posible por fin que podamos poner tantos edificios como se nos antoje y ver cómo afectan éstos a nuestra economía, población, medioambiente y todas las demás variables. Es uno de los scripts más importantes de entre los que nos faltaban.

Ahora revisando un poco la página donde me encontré el script, parece que por sí mismo crea instancias de los eventos y no los mueve, lo que me va a ahorrar mucho trabajo xD. Para los que quieran ver el script, pueden encontrarlo aquí. Para los que no, aquí sigue la entrada (?). La implementación de un nuevo script muchas veces supone cambios radicales en toda la estructura de la programación del juego, sobre todo si el script es fundamental para el correcto funcionamiento del proyecto, lo cual es nuestro caso. Así que me temo que después de hacer todos los cambios pertinentes al código y de implementarlo, tendremos que cambiar muchas cosas e instrucciones dentro de los eventos que conforman cada uno de los edificios, además de modificar las variables dentro del script que definen a cada uno de los objetos y los lugares donde éstos no se pueden poner. Aún nos falta un script para la modificación del terreno en tiempo real que supongo que será más difícil de conseguir (con él podremos poner lagos y esas cosas que no podemos con el script porque, como sabrán quienes usen RPG Maker, eso se hace con autotiles y no con eventos, y el script no transporta autotiles).

Calculo que estaré POR LO MENOS una semana trabajando duro con ésto y les mantendré informados de todo lo que haga y qué tal vaya con el script. Aún me falta saber si sé lo suficiente para cambiar lo que necesito, aunque le eché un vistazo hoy y creo que por lo menos puedo modificar la interfaz gráfica que no me parece la adecuada para un juego como el nuestro. Después comentaré con Gatto la posibilidad de crear un Windowskin diferente al del RTP que es más bien algo seco y no tan bueno como me gustaría que fuese, pero eso es cosa aparte y lo comentaré con ustedes después (para los que no entendieron, dije algo de cambiar la apariencia de muchas cosas (?)).

¡Un saludo!

TréboL

No hay comentarios:

Publicar un comentario