domingo, 27 de noviembre de 2011

Articulo: Scripts vs engines en el rpgmaker

Con la aparicion del XP se añadio una importante herramienta al RPG Maker, herramienta denostada y infrausada por diversos grupos de usuarios en diversos sentidos. Yo empeze con engines cuando no habia nada mas y hoy en dia ya llevo sobre 40 scripts realizados. La verdad esque me gustaria que la gente los usara mas, que se crearan mas flexibles y que se aprendiera un cierto grado de RGSS para poder adaptarlos ni que sea.

Creo que solo benefician a la gente ya que ahorran tiempo a invertir en ciertas tareas que se pueden aprovechar para otras cosas.


Ventajas de los scripts
-Pueden hacer cosas que los engines no.
Esto es muy evidente. Con los scripts hay una libertad apabullante de opciones, mientras que los engines estan muy limitados.

-Son mucho mas faciles de compartir y reusar. 
Hay muchos scripts por ahi que solventan ya tus problemas y que no deberas resolver otra vez. Esto es una gran ventaja pero esque ademas los puedes adaptar a tu propio gusto.

-La experiencia que obtienes de scriptear puede ser util para otras cosas.
En general los engines para poco te sirven, excepto para aprender a programar luego, ya que aunque no lo parezca, la logica y estructura usada es muy similar y se usan muchas de las construcciones de la programacion. Yo no recomendaria aprender programacion antes de los engines pero no estancarse en estos.

-Mayor velocidad de proceso del sistema.
Los scripts son muchisimo mas rapidos que qualquier engine. Los engines se procesan como datos de la base de datos generales del rpgmaker, en el apartado de mapas, eventos comunes, etc, y ahi quedan guardados. El punto es que los eventos para empezar, deben ser leidos, analizados, interpretados y luego segun el comando que sea, ejecutar uno u otro codigo de script, haciendo ademas muchas cosas de forma mas ineficiente.

En ese sentido los eventos son utiles para las cosas que no son criticas ni complejas. No tendria sentido hacer escenas con scripts complejos por ejemplo, pero pasa lo mismo al reves.

-No son tan dificiles de hacer.
Probablemente el mayor miedo sobrevalorado sea el paso de algo grafico a algo escrito. Aun asi, y habiendo aprendido a programar en esencia atraves de el RGSS, no los considero tan dificiles. En realidad muchas cosas que haces con engines son iguales en la programacion, solo que con unas capacidades y prestaciones apabullantes.
Y tampoco tienes que ser un pro para valerte, con que puedas adaptar a tus gustos vas tirando, y eso ya son muchisimas opciones.

-La posibilidad de modificar los sistemas default o de otros en vez de crearlos de 0 cada vez.
Este tema es vital. Si yo quiero crear un sistema de habilidades parecido al del FFIX y lo quiero hacer con engines, debo hacer todo el sistema de 0, generando todo mi codigo, todo mi aprenentaje y mis sistemas cada vez.

En canvio con los scripts, mucho de ese trabajo es inexistente. ¿Porque? Este caso del FFIX es real y es que es lo que me paso a mi. Quise hacer una version del sistema de habilidades de este juego con cosas nuevas y tal, pero de base parecida. ¿Que hice? Busque un script que hiciera algo parecido para usarlo como base, y de hecho, al ser FFIX tan popular, habia un calco exacto de ese sistema.

Lo implemente y modifique y expandi luego. Con esto me ahorre un trabajo imenso que ya se habia currado el autor del script.

Pero esque esto se puede hacer practicamente con todo. Lo que se llaman 'scripts default' son sistemas abiertos, documentados y modificables que tu puedes usar como base. Si yo me pongo a hacer un menu de guardado no tengo que escribir toda la escena de 0, hacer todo el refresco, control de teclado, interfaz, utilidades... no. Cojo el script por defecto, lo estudio y lo adapto a lo que yo requiera. Este es sin duda uno de los aspectos mas importantes de los scripts, ya que si hubiera que haber hecho todos mis sistemas de mis proyectos de 0 por engines, habria tardado años y años solo programandolos, mientras que aqui he tradado horas.

Notad que esto no tiene NADA de malo. Hay mucha sensacion de orgullo enginer que creo que sobra, porque esos años que se tira la gente haciendo engines y que por scripts se tarda tan poco, se podrian haber dedicado a otras facetas del juego. Gracias a ese tiempo el juego podria haber tenido mejores graficos 100% personalizados o muchos sistemas mas por su mas facil implementacion. Nadie habla de vagancia y de no mover el culo.

-Mayor organizacion y claridad del codigo
Con el XP aun, que colorea los engines, pero con los antiguos, ni eso. Aun asi, al hacer engines se tiene todo muy desordenado y escrito de forma poco clara. Una vez aprendes a programar te parece lo contrario.

Ventajas de los engines
-Menor curva de aprendizaje

Obviamente los engines son mas faciles de tomar en primer momento. Aun asi, desde que aparecio el XP, creo que es absurdo eventear en general cosas complejas con este existiendo el RGSS. Creo que los eventos son utiles pero deberian servir de puente hacia los scripts para muchas, muchas cosas.

-Son mejores para cosas simples, como la jugabilidad, escenas, dialogos, mapas, etc
Obviamente nadie usara scripts para esto. Esa es la principal funcion de los eventos.

Algunos falsos topicos que desmentir.
-Los scripts son mas dificiles de testear

Al reves. Los scripts estan pensados para ser testeados y los engines no. Con los engines hay que hacer autenticas virguerias para ello si se lleva hasta cierto nivel de complejidad.

-Los scripts propician la clonicidad y el copy/paste y de que todos los juegos se vean igual

Es cierto que en el pasado al hacer un engine este quedaba normalmente por huevos distinto al de los demas. Pero esto no me parece algo bueno de por si, mas que nada porque con los scripts se puede hacer lo mismo. Me pregunto cuanta gente aprovecha de verdad las opciones que dan de por si los scripts o busca mas scripts por ahi que los tipicos, que los hay, a tropecientos millones, por cierto.

Y aun asi, como digo, es culpa del que adapta el script y de nadie mas. Con el tiempo que uno tarda a hacer engines, te da tiempo a aprender a modificar scripts(muy facil) para darles ni que sea la estetica que a ti te interese. Aun asi muchos usuarios que se lo curran con sus juegos esto ya lo estan haciendo, asi que me temo que el usuario que solo copia y pega scripts y recursos tampoco seria de los que hiciera engines.

-Los scripts propician la vagancia
Una de las cosas mas hipocritas que he oido por ahi. Osea, veamos, segun esta gente, la programacion deberia ser una experiencia cerrada y obligada de 0 cada vez reservada al maximo esfuerzo, porque sino no tiene meritors, ni interes, etc, etc.

Eso si esto lo dice gente que no solo no crea sus graficos y no los crea de 0, sino que encima normalmente los roba. Gente que es incapaz de esforzarse para pagar la licencia del programa. ¿Y de la musica y de los sonidos? Otro tanto que con los graficos.
Y no sabeis, no llegais a saber hasta que punto el RPG Maker es 'vago' segun vuestra definicion y cualquier cosa hecha con el lo sera. Y esto es porque la creacion del propio programa RPG Maker es una tarea tan y tan compleja que supera al trabajo hecho por ninguno de esos makeros. Pero eso si, SI existe gente que le encanta el reto de la programacion y que hace sus propios engines y editores para sus proyectos, y hasta empieza uno nuevo cada vez.

Pero claro, al tio que usa un script es un vago que no llega a personalizar su juego con ningun esfuerzo... y ellos si, por hacer cuatro engines. Porfavor. Incluso son incapaces de esforzarse a aprender a programar...

Lo principal es que no tiene nada que ver con los propios scripts. Es cada usuario el que decide cuanto esfuerzo invertir, por lo que que use scripts o cualquier otra cosa es lo de menos, no variara su interes.

Finalmente, como ya he dicho antes, cuanto mas tiempo se libera con los scripts, mas tiempo queda para todo lo demas, mejorando el juego en conjunto.
¿Como serian los juegos si cada persona tuviera que crearse su propio RPG Maker? No metamos esfuerzos intulies en busca de se sabe quien falso merito y dedicamonos a cuidar otros aspectos de nuestros proyectos con el tiempo que nos liberan estas herramientas.

No hay comentarios:

Publicar un comentario