Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

(Pregunta) Para crear editor propio

Ver el tema anterior Ver el tema siguiente Ir abajo

RMMV (Pregunta) Para crear editor propio

Mensaje por ICF-Soft el Lun Abr 18, 2016 10:36 am

Esta pregunta es para programadores.

Me gustaría crear mi propio editor de MV para ponerle mis características y querría saber qué entorno me recomendaríais para programarlo y cómo podría manejar los archivos json.

Por otro lado saber en el caso de usarlo en qué medida estaría ligado a efectos de licencia y créditos. Por ejemplo, si me da por no utilizar ningún material de RPGM, ¿estaría exento?
avatar
ICF-Soft
Soñador
Soñador

0/3

Créditos 160

Gracias : 31

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por Wecoc el Lun Abr 18, 2016 10:51 am

Exento de cuestiones de licencia no estaría porque tienes que vincularlo con el RPG maker igualmente para cargar las librerías, hacer las modificaciones y sobreescribirlas, de modo que no entren en conflicto con el programa. Pero igualmente se puede entender como un tool para el programa como otros que se hicieron para plataformas anteriores (como el convertidor de recursos), mientras dieras créditos y no lo comercializaras no debería haber problema.

Mi recomendación es hacerlo de código abierto porque hay mucha gente que "piensa fuera de la caja" con el RPG maker, y no solo por lo del Change Tile Size, no creo que tarden en querer isometría, 3D y locuras de esas, ahora más que nunca.

Seguramente usar javascript sea lo más adecuado en éste caso, pero ni idea.

Spoiler:
Ya que estamos doy ideas xD

- Adaptación a tiles de tamaño variable (por ejemplo 32x32)
- Capas tipo XP, no pseudo-capas tipo VX/Ace/MV
- Opción de más capas
- Opción de autotiles no cuadrados tipo XP
- Tileset de tamaño ilimitado tipo XP
- Opción de más autotiles

Claro, hacer eso funcional y portarlo en la librería de modo que el maker no te escupa en la cara al abrirlo es todo un reto, porque además al abrir el editor normal y guardar quizá se te jodiera todo lo no default de nuevo, a no ser que esté todo guardado a parte claro... Pero bueno, según tengo entendido tienes experiencia con programas así y seguramente si lo has mencionado es porque ya tienes idea de cómo hacerlo xD

PD.- Te recomiendo asegurarte que no haya alguien más haciendo editores similares, internos o externos, y si lo hay ponerte en contacto y hacerlo conjuntamente o algo. Lo digo porque en MV hay muchos scripters que se han metido a hacer cosas así aprovechando la novedad del Javascript, por ejemplo Yanfly está haciendo programas internos dentro del maker para hacer gráficos de iconos y cosas similares.
avatar
Wecoc
Administrador
Administrador



Créditos 12148

Gracias : 613

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por orochii el Lun Abr 18, 2016 12:39 pm

Para el editor, puedes usar francamente lo que sea. JSON es un formato que hay binders para todo, desde C++ hasta VB.net. Así que sinceramente usa lo que quieras.

Respecto a licencias, aún si usas recursos propios, si usas el código del juego base estás haciendo un trabajo derivativo, lo cual según los términos de la EULA que no me he leído es muy posible que sea un derecho reservado (osea que está prohibido).

Posiblemente el juego base debe ser generado en el RMMV y luego editado en tu editor. La cuestión es que de alguna forma creo que el RMMV y Enterbrain deben salir mencionados en algún lugar, y todo lo hecho en tu editor estará sujeto a los términos y condiciones del programa original.

Eso es lo que creo, ojala haya servido de algo. Salut.
avatar
orochii
Reportero

0/3

Créditos 7630

Gracias : 421

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por fdelapena el Lun Abr 18, 2016 1:28 pm

Como bien apuntn, el intérprete (rpg_core.js, creo) que es la parte privativa podría no poder distribuirse en juegos no creados con un editor del cual tengas licencia. De todos modos voy a comentar algunas cosas:

Como apunte, el editor original de MV está hecho en C++ con las librerías Qt.

El hecho de editar JavaScript desde el editor de MV no implica que tenga que ejecutarse JavaScript desde el editor, de hecho creo que no lo hace en ningún momento, solamente lee y guarda la base de datos y los mapas en formato JSON. Para ello como bien apuntan puedes usar cualquier librería que trabaje con JSON usando cualquier lenguaje. No es necesario integrar un intérprete JavaScript o un sistema de scripting empotrado en el editor para nada (se me viene a la cabeza Duktape, pero insisto en que no se necesita, salvo que quieras inventar "plugins" para el editor).

En EasyRPG Player leemos JSON para leer el "caché" de archivos para la versión HTML5. Player está programado en C++ y usamos la librería picojson en nuestro caso. Hay muchas más que hacen lo mismo para C++ y por supuesto como apunta orochii las hay para todos los lenguajes populares.

Por cierto, el propósito de crear tu propio editor es un objetivo similar al que tiene EasyRPG Editor pero con juegos de 2000/2003, que también queremos extender. La diferencia es que en nuestro caso tenemos un intérprete propio, por lo que evitaríamos ese problema de licencia con el intérprete.

En cuanto a un formato JSON para los datos de juegos: por ahora estamos usando una librería que soporta tanto el formato original y también un formato equivalente en XML (convertible entre éste y el nativo en ambas direcciones) y es posible que también soportemos JSON o que reemplace definitivamente a XML.

fdelapena
Soñador
Soñador

0/3

Créditos 266

Gracias : 74

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por ICF-Soft el Miér Abr 20, 2016 1:32 pm

@Wecoc. No hacen falta librerías externas ni nada del editor original, todo está en json y sé a grandes rasgos cómo es la estructura de la base de datos. Supongo que el paso a mi editor sería unidireccional pudiéndose perder todas las características al volver atrás. Además ya es tarde para crear un XP Ace.

@orochii. Interesante. Es para pensar si sería mejor hacer uno de 0, pero es demasiada faena y no habría compatibilidad con los plugins hechos para MV.

@delapena. Apunto que el intérprete es game.exe y no es más que un navegador básico, pudiéndose usar otro que admita javascript. De modo que podría estar exento si es la única pieza privativa aparte de los recursos. Pero me interesa estar seguro para los términos de uso.
El EasyRPG Editor es un programa que llevo esperando bastante tiempo y me gustaría saber en qué medida puede editarse el Player, mejor dicho, el parecido en las escenas y clases predefinidas con los de ruby y javascript si no difiere demasiado el código fuente.

PD: El C++ Builder, ¿cómo lo veis? ¿o es demasiado obsoleto?
avatar
ICF-Soft
Soñador
Soñador

0/3

Créditos 160

Gracias : 31

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por fdelapena el Miér Abr 20, 2016 2:10 pm

No, game.exe no es el intérprete, ya que el juego puede funcionar sin game.exe en un navegador normal. Me refiero al motor intérprete del juego, que sí es privativo y viene en javascript "empaquetado" (se puede desempaquetar con http://matthewfl.com/unPacker.html por ejemplo) y el código original incluye comentarios y código formateado.
La licencia no permitiría usar este componente en juegos no creados con un RPG Maker MV con licencia.
El código de EasyRPG Player tiene cierto parecido a la estructura de clases de RGSS, separado en namespaces RPG, clases Window y Scene, entre otras. Puedes mirar el código fuente en GitHub. Cabe mencionar que EasyRPG Player no usa scripting pero tienes el código fuente a la vista. El editor todavía no está listo pero puedes usar el editor original de RPG Maker 2000 o 2003 sin problemas.

fdelapena
Soñador
Soñador

0/3

Créditos 266

Gracias : 74

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por ICF-Soft el Jue Abr 21, 2016 5:00 am

No es del todo cierto. En la preventa se ofuscó el código javascript pero con el lanzamiento cada versión viene con el código visible.
El game.exe del MV, salvo por que usa javascript, es de la misma naturaleza que los game.exe de la tercera generación (XP, VX y VX Ace). Los cuatro game.exe son intérpretes de un código editable ya sea en javascript o ruby. En este aspecto existen varios intérpretes de javascript que puedan usarse en su lugar.
La diferencia de estos con los anteriores reside en que el código del juego es externo al programa mientras que hasta la segunda generación era interno. Player intérprete frente a player compilado, cada uno trae sus ventajas.

El entorno ya sé que será en C++. Ahora tendría que concretar los términos de uso de mi editor.

Para mí con el EasyRPG pasa lo mismo que con los otros, quiero añadirle mis características para editor y player. Por lo que de momento esperaré a que esté el editor.
avatar
ICF-Soft
Soñador
Soñador

0/3

Créditos 160

Gracias : 31

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por fdelapena el Jue Abr 21, 2016 5:57 am

Gracias por aclarar lo del javascript, pensaba que en las versiones post-evaluación lo desempaquetarían porque esa ofuscación es sumamente ineficiente.

Lo de los scripts es un tema complicado, no sabría decirte si los scripts ruby rgss públicos o el rpg_core de js que son la base de los juegos tienen restricciones, pero si la licencia aplica como la de los materiales de los RTP, entonces sin duda sí. En el caso de los rpg maker de anterior generación no hay código base, se genera desde el editor y son básicamente datos de configuración, no es código fuente creado por terceros.

Pero en cuanto a lo que te refieres con intérprete de game.exe insisto en que es una especie de webkit "headless", del mismo modo que game.exe de rpg maker xp lanza MRI (intérprete ruby), es por ello que ejecutando index.html funciona tal cual sin necesidad del game.exe. Y aunque el intérprete de HTML/JS (webkit) sea libre del mismo modo que Ruby/MRI es libre, el código base de rgss o el js base no implica que lo sean. Por ejemplo, el proyecto mkxp reimplementa una interfaz compatible con RGSS por su cuenta pero no puede copiar literalmente las clases "base" internas de rgssXXX.dll porque estaría violando la licencia, del mismo modo que copiar literalmente el javascript core también la estaría violando. Si miras rgssXXX.dll con un editor especial verás que hay unas porciones de ruby que son algunas clases base. Otras están en C++ (las más críticas).

Visto desde otro punto de vista, en MV ya han tenido un toque de atención con la licencia de NW.js (node-webkit) por no mencionar el copyright ni licencia por ningún lado (fuente). Aunque acompañen a los juegos, no implica que podamos los creadores de juegos borrar las referencias a estas dependencias, del mismo modo que no podemos ocultar el uso de ruby en los juegos de la generación anterior (!). Estaríamos en un caso parecido al de usar gráficos del RTP fuera de RPG Maker, aunque se incluyan sin modificar, si la licencia exige motrar el copyright y una copia de la licencia como obligan a Kadokawa/Degica, en el caso la licencia restrictiva de los gráficos del RTP no permite redistribuir, literal o modificado, en software que no sea el programa original. Y en el caso del game.exe y compañía creo recordar que se considera "parte de rpg maker" y no permite redistribuirse con juegos no creados con un rpg maker con licencia.

En resumen, creo que para poder hacer tu propio editor deberías tener un intérprete (rpg_core.js) alternativo compatible, es decir, una reimplementación. Creo que esto es viable, y hacer la API compatible no debería ser un problema legal, pero sí considero que deberías reimplementar el intérprete, aunque sigas usando las mismas librerías base libres (pixi.js y demás).

fdelapena
Soñador
Soñador

0/3

Créditos 266

Gracias : 74

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por ICF-Soft el Vie Abr 22, 2016 12:31 pm

Entonces supongo que ya tengo casi todos los casos cubiertos en cuanto a licencia y términos de uso.
Siendo mi editor una herramienta que amplía las características del MV y siendo el código js externo y sin ofuscar no me saldría de la licencia ni del eula al usarlo, ¿no?

Y por cierto, ¿con qué editor podría ver los rgssxxx.dll?
avatar
ICF-Soft
Soñador
Soñador

0/3

Créditos 160

Gracias : 31

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por fdelapena el Sáb Abr 23, 2016 5:17 am

El archivo rgss090j.dll que venía en la demo del XP del CD de la revista Famitsu venía sin proteger con ASProtect, con un editor hexadecimal se podía ver parte de ruby. De todos modos no todo el código es visible, las clases están implementadas en C++. La demo de XP que publicaron después en la web (rgss095j.dll) era más reciente y ya venía protegida.

En cuanto a la licencia no importa si está ofuscado o sin ofuscar, la licencia de rpg maker es muy restrictiva y no permite redistribución si no se creó con el programa original, aunque el código del script esté intacto, igual que no puedes distribuir materiales del RTP aunque estén intactos si no se usan con productos de RPG Maker (y con licencia)

fdelapena
Soñador
Soñador

0/3

Créditos 266

Gracias : 74

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por ICF-Soft el Miér Abr 27, 2016 4:39 am

Algún modo tiene que haber para utilizar un editor propio sin saltarse la licencia. No me imagino teniendo que utilizar un editor de texto para añadir cada uno de los campos en cada uno de los elementos de la base de datos, además de los mapas y eventos.

Si el juego se crea en el MV y se edita en mi editor, ¿puede seguir contando como juego de MV? ¿se puede usar la opción de desplegar del MV?
La forma resultante no difiere (o al menos no es demasiado notorio) de la del editor del MV.

Por ejemplo, yéndonos al terreno del EasyRPG, si teniendo editor alguien con licencia del 2k3 crea un juego en el Easy y lo distribuye como del Maker con su ejecutable en teoría no se salta las condiciones del rm2k3, ¿no?
avatar
ICF-Soft
Soñador
Soñador

0/3

Créditos 160

Gracias : 31

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por fdelapena el Miér Abr 27, 2016 5:32 am

Que un editor pueda generar JavaScript no hay problema, el problema está a la hora de distribuir el archivo rpg_core.js. Esto no ocurre en EasyRPG porque nuestro intérprete (Player) es un reemplazo completo del intérprete RPG_RT (equivalente a rpg_core.js). Si pudieras crear tu propio reemplazo de rpg_core.js podrías distribuirlo sin restricciones, de otro modo la gente debería obtener este archivo por otro lado para que el juego creado con el editor funcionara y asumir que lo está haciendo siendo consciente de lo que supone legalmente.

Con EasyRPG también advertimos de que necesitamos un reemplazo del RTP libre porque usar el RTP oficial no está permitido (cargamos la responsabilidad al usuario y debe instalarlo aparte, no podemos distribuirlo con el programa).

Sin embargo, con RPG Maker MV pasa algo peor: no hay RTP como tal, deberían copiarse a mano (¿de otro juego también?) o proporcionar tus propios materiales. Esto complica un poco las cosas, ya que sin gráficos va a ser complicado editar los mapas. Estos gráficos no se pueden distribuir por separado, así que estarías obligando al usuario a tener una copia de RPG Maker MV aunque fuera la versión de prueba y buscar la carpeta de New Data o como se llame.

En resumen, si quieres hacerlo de esta forma sin programar tu rpg_core.js creo que deberías indicar a los usuarios que deben copiar/importar el rpg_core.js de otro juego o leerlo de algún lado de una instalación de RPG Maker MV existente, con el resto de archivos no hay problema porque los crearía el editor (el resto de rpg_xxxxxxxx.js).

fdelapena
Soñador
Soñador

0/3

Créditos 266

Gracias : 74

Volver arriba Ir abajo

RMMV Re: (Pregunta) Para crear editor propio

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.