Comparación de motores de juego RPG: RPG Maker, Godot, Unity, Unreal y constructores en el navegador
Crea tu propio motor de juego RPG
¿RPG Maker MV/MZ, Godot, Unity, Unreal, Phaser o un constructor en el navegador? Compara coste, código, 2D/3D y opciones de exportación, además de una opción sin motor que puedes jugar ahora mismo.
Elegir un motor de juego RPG es sobre todo decidir tres cosas: cómo se crea tu arte, quién tiene que escribir código y dónde tiene que ejecutarse el juego terminado. Las opciones se dividen con claridad. RPG Maker MV y MZ son editores 2D que ya incluyen los sistemas RPG integrados. Godot, Unity, Unreal y Phaser son motores de propósito general que programas tú. Ren'Py es un motor centrado en el diálogo que trata un juego como un guion. Los constructores en el navegador se saltan por completo la instalación y el paso de compilación.
Esta página compara esas rutas en lo que de verdad decide un proyecto: coste y licencia, si tocas código, 2D o 3D, qué puedes exportar y cuánto tarda algo en ser jugable. Donde una cifra sería una conjetura, se describe el mecanismo en su lugar. Si quieres ver un mundo en funcionamiento antes de comprometerte con un motor, la sección sin motor del final es la que conviene leer primero.
Respuesta rápida
Si el juego es un RPG 2D con vista superior, estadísticas, objetos y cuadros de diálogo, RPG Maker MV o MZ llegan antes a una escena jugable, porque la base de datos y el sistema de eventos ya modelan esos sistemas. Si quieres control sobre el renderizador y las reglas sin pagar por ninguno de los dos, Godot es la ruta más barata que no te encierra en un formato. Unity y Unreal tienen sentido cuando hay un equipo, una entrega para consola o un middleware de por medio. Phaser es la respuesta cuando el RPG es una página web y ya escribes JavaScript. Ren'Py es la respuesta cuando el juego es sobre todo texto y elecciones ramificadas.
La tabla siguiente cubre siete rutas: RPG Maker MV/MZ, Godot, Unity, Unreal, Phaser, Ren'Py y un constructor en el navegador cuyo resultado es una página en lugar de un archivo compilado. Las columnas son coste y licencia, código necesario, 2D o 3D, plataforma objetivo y tiempo hasta la primera versión jugable. Lee esa última columna como el tiempo para poner en pantalla un personaje controlable con colisiones y un objeto interactivo, no como el tiempo para terminar un juego. La mayoría de los proyectos RPG fracasan por los sistemas, no por el renderizado, así que trata la tabla como un filtro y las secciones siguientes como la decisión.
La tabla comparativa
Dos celdas de esa tabla merecen una advertencia. El destino Web de Unity funciona, pero una compilación WebAssembly incluso de un modesto RPG 2D suele rondar las decenas de megabytes antes de comprimir los recursos, y las compilaciones con hilos necesitan cabeceras de aislamiento de origen cruzado (COOP y COEP) que muchos alojamientos estáticos no envían de forma predeterminada. El síntoma es un lienzo en blanco y un mensaje en la consola sobre SharedArrayBuffer, no un error claro. La exportación web con hilos de Godot tiene el mismo requisito de cabeceras, que es la razón más común por la que un proyecto de Godot funciona en local y falla en un alojamiento gratuito.
La exportación HTML5 de Unreal se eliminó en la época de la 4.23 a la 4.24 y no hay un reemplazo compatible, así que un RPG hecho en Unreal se distribuye como binario o a través de una tienda. Si el enlace es el modelo de distribución, eso descarta Unreal de la lista antes de que escribas una sola línea de código.
El despliegue en navegador de RPG Maker carga todo el árbol de recursos por adelantado. Eso está bien para un proyecto pequeño y resulta penoso para uno con una banda sonora extensa, porque el audio domina la carga mucho antes que los mapas. Presupuesta la primera carga, no la tasa de fotogramas, como tu primer problema de rendimiento.
| Ruta | Coste | Código necesario | 2D / 3D | Plataforma objetivo | Tiempo hasta la primera versión jugable |
|---|---|---|---|---|---|
| RPG Maker MV / MZ | Licencia comercial única por puesto; MV y MZ son productos distintos | Ninguno para el sistema de eventos; plugins de JavaScript para todo lo que la base de datos no expresa | Solo 2D; mapas basados en teselas, combates con vista superior o lateral | Compilaciones para Windows y macOS mediante NW.js; el despliegue en navegador y móvil depende de la versión y de herramientas de la comunidad | Minutos: el proyecto de ejemplo incluido se ejecuta al iniciar |
| Godot | Gratis, licencia MIT, sin regalías ni cuotas por puesto | GDScript o C#. Godot 4 eliminó VisualScript integrado, así que no hay un grafo de nodos de juego oficial | Ambos, con renderizadores y tipos de nodo separados para 2D y 3D | Windows, macOS, Linux, Android, iOS y Web (WebAssembly) | Una hora o dos para un personaje que se mueve y colisiona, si ya conoces el motor |
| Unity | Nivel Personal gratuito por debajo de los umbrales de ingresos y financiación publicados por Unity; nivel Pro de pago por encima | C#. La programación visual existe como paquete oficial y recursos de terceros, no como la vía principal | Ambos; el 2D usa atlas de sprites y nodos de tilemap, el 3D usa URP o HDRP | Escritorio, móvil, consolas con aprobación de la plataforma y un destino de compilación Web | Unas horas desde la plantilla 2D; un día o más si el editor es nuevo para ti |
| Unreal | Gratis; regalía del 5 % sobre los ingresos de por vida de un producto por encima de 1 millón de USD por producto | Los Blueprints cubren la mayor parte de la lógica de juego; C++ para el trabajo crítico de rendimiento o a nivel de motor | 3D en primer lugar. Paper2D existe para sprites, pero el resto de herramientas presupone 3D | Escritorio, consola, móvil. Sin exportación compatible a navegador o HTML5 | Menos de una hora para la plantilla Third Person; un RPG se ensambla, no se genera desde una plantilla |
| Phaser | Gratis, licencia MIT | JavaScript o TypeScript; no hay una capa de juego creada desde un editor | 2D; renderizadores WebGL y Canvas, el 3D necesita una biblioteca aparte | El navegador primero; envoltorios para móvil y escritorio mediante Capacitor, Cordova o Electron | Una hora si ya escribes JavaScript; construyes cada sistema tú mismo |
| Ren'Py | Gratis y de código abierto; se permiten los lanzamientos comerciales | Script de Ren'Py para el diálogo y el flujo; Python para todo lo personalizado | 2D; fondos estáticos, sprites, imágenes por capas | Windows, macOS, Linux, Android, iOS y una compilación web mediante el lanzador | Minutos: el proyecto predeterminado ya muestra una escena con diálogo y elecciones |
| Constructor en el navegador (Neta Studio) | Nada que instalar; la herramienta se ejecuta en una pestaña del navegador | Ninguno; describes el mundo y sus reglas con texto | 3D, dibujado con Three.js en la pestaña; una lectura 2D es cuestión de cámara y recursos | La propia página web; se ejecuta allí donde se ejecute WebGL 2 | De una descripción a un mundo por el que puedes caminar |
Motores de RPG 2D vs 3D
El renderizador es la parte barata. Godot y Unity renderizan 2D y 3D en la misma descarga, y cambiar una cámara de perspectiva a ortográfica es una sola propiedad. Lo que cambia entre un RPG 2D y uno 3D es todo lo anterior al renderizador: cómo se crean los recursos, cuánta gente hace falta y cuánto tarda un cambio en hacerse visible.
Una ruta 2D implica hojas de sprites y tilesets. Un personaje que camina en cuatro direcciones suele necesitar tres fotogramas por dirección, doce en total, dibujados a 16x16, 32x32 o 48x48 píxeles. Los ajustes de importación importan más que el propio dibujo: pon Filter Mode en Point (sin filtro) y Compression en None para el pixel art, o el filtrado bilineal predeterminado del editor difuminará cada tesela y pasarás una tarde culpando al artista. La iteración es rápida porque una tesela nueva se dibuja y se suelta en la carpeta. Un mapa de 100x100 a 32 píxeles por tesela es una imagen de 3200x3200 píxeles, que es un coste de memoria real pero manejable.
Una ruta 3D implica mallas, esqueletos, pesos de piel y clips de animación. Un personaje necesita una malla, un esqueleto y, como mínimo, clips de reposo, caminar y ataque. Si no licencias una biblioteca, eso es tiempo de modelado antes de que exista cualquier jugabilidad. La iteración es más lenta en ambos sentidos: la iluminación, las mallas con niveles de detalle y las formas de colisión hay que reverificarlas cuando cambia una malla. La recompensa es una cámara capaz de cosas que una cuadrícula de teselas no puede, y un flujo de trabajo que acepta entornos escaneados o ensamblados a partir de kits.
La pregunta práctica no es cuál se ve mejor. Es cuántos cambios de recursos prevés hacer después de la primera hora jugable. Un proyecto 2D absorbe docenas de cambios a bajo coste. Un proyecto 3D absorbe una docena y luego empieza a costarte una semana cada uno.
Cómo cambia cada ruta el flujo de trabajo gráfico de tu motor de juego RPG
RPG Maker te ancla al 2D, y eso es una ventaja: el editor de mapas, los autotiles y los conjuntos de personajes presuponen una cuadrícula de teselas, así que un tileset es el único tipo de recurso que debes producir. Unreal te orienta hacia el 3D: Paper2D puede renderizar sprites, pero la iluminación, la física y las herramientas de animación están construidas en torno a mallas, así que un juego 2D allí pelea contra el motor.
Godot y Unity son los dos que te dejan decidir más tarde, pero solo a un precio. Cambiar un prototipo de sprites a mallas supone reconstruir las colisiones, reajustar la distancia de la cámara y rehacer cada animación, porque el número de fotogramas de una hoja de sprites y la duración de un clip de un esqueleto no tienen nada en común. Elige la dimensión antes de construir el primer combate, no después.
¿Hace falta programar?
No, hasta el momento en que quieres algo que la herramienta aún no modela. El sistema de eventos de RPG Maker es una lista de comandos con condiciones, interruptores y variables, y puedes construir una cadena de misiones, una tienda y un combate por turnos sin escribir una línea de código. El muro llega con los diseños de menú personalizados y las fórmulas de combate que la base de datos no puede expresar; en ese punto estás editando archivos de plugins de JavaScript y registrándolos en la lista de plugins, lo que es trabajo de autor de plugins más que de principiante.
Los Blueprints de Unreal son lo más parecido a un motor de propósito general con una capa completa de programación visual. Puedes construir toda la lógica de un RPG como grafos de nodos, y la diferencia de rendimiento frente a C++ solo se vuelve visible en código que se ejecuta por fotograma y por actor, como grandes bucles de multitudes o de proyectiles. La programación visual de Unity es un paquete más recursos de terceros, y la mayoría de los tutoriales y respuestas de foros presuponen C#. Godot no tiene ningún grafo de nodos de juego integrado; GDScript es la vía, y su sintaxis es deliberadamente cercana a Python. Phaser es código desde la primera línea. El formato de script de Ren'Py se lee más como un guion que como un programa, con Python disponible para los casos límite.
Hay una cuarta opción que no encaja en la dicotomía grafo de nodos frente a lenguaje: describe el juego y deja que la herramienta lo construya. El constructor de juegos 3D de Neta Studio toma una descripción escrita y produce un mundo con Three.js que se ejecuta en la pestaña. Haces cambios describiéndolos en lugar de abrir un archivo de escena y buscar el panel de inspector adecuado. Es un mal sustituto de un grafo de nodos cuando necesitas control exacto del fotograma sobre una fórmula de daño, y un muy buen sustituto de las dos semanas que la mayoría de los proyectos pierde en la configuración.
Qué motor de juego RPG se entrega sin editor de escenas
Ren'Py es el caso más claro. Un proyecto es una carpeta de archivos de script en texto plano; puedes escribirlo y ejecutarlo desde cualquier editor de texto junto con el lanzador, y la única función obligatoria del lanzador es iniciar el juego. Phaser es el segundo caso: un proyecto es una carpeta de JavaScript y un archivo HTML, y el navegador es el editor. Ninguna de las dos rutas te da un pintor de mapas visual, pero ninguna te pide instalar un formato de proyecto que no puedas leer en un editor de texto.
RPG Maker no cumple ese requisito, porque la base de datos, los mapas y las páginas de eventos viven en el formato de proyecto del editor. Un constructor en el navegador va en la dirección contraria: la descripción es el proyecto, y el editor es un campo de texto que ya estás viendo. Si tu motivo para evitar un editor es que no quieres aprender uno, esa distinción importa más que la lista de funciones.
- Lista de eventosRPG Maker MV/MZ. Comandos, condiciones e interruptores. Cubre misiones, tiendas y combates estándar sin código; una interfaz y fórmulas personalizadas requieren plugins de JavaScript.
- Grafo de nodosLos Blueprints de Unreal. Capaces de sostener toda la lógica de un RPG. El coste frente a C++ aparece en bucles por fotograma y por actor, más que en código de juego corriente.
- Lenguaje de scriptingGDScript, C# y JavaScript en Godot, Unity y Phaser; script de Ren'Py más Python. Control total, y el trabajo de configuración es tuyo.
- DescripciónEl constructor de juegos 3D de Neta Studio. Tú escribes el mundo, la cámara y las reglas; el constructor produce la escena. Lo más rápido para algo recorrible, lo menos adecuado para el control numérico exacto del combate.
Exportación y publicación
Lo que exportas decide lo que tu jugador tiene que hacer antes de poder jugar. RPG Maker despliega compilaciones para Windows y macOS mediante NW.js, con el despliegue en navegador y móvil dependiendo de la versión y de herramientas de la comunidad. Un despliegue en navegador es un archivo HTML, un entorno de ejecución de JavaScript y los directorios de imágenes y audio del proyecto: se puede alojar en cualquier servidor estático, pero los recursos se descargan antes de que aparezca la pantalla de título.
Godot exporta mediante ajustes predefinidos guardados en export_presets.cfg. Una exportación web produce un contenedor HTML, un binario .wasm y un archivo .pck con los datos de tu proyecto. La exportación web con hilos de Godot 4 necesita SharedArrayBuffer, lo que exige que el alojamiento envíe las cabeceras COOP y COEP. Sin ellas, o entregas la compilación de un solo hilo o la página nunca arranca. La compilación Web de Unity pasa por IL2CPP y produce WebAssembly más un paquete de datos, con el mismo requisito de cabeceras para los hilos y la misma consecuencia si se ignora.
Los dos problemas web prácticos de Unity son la carga inicial y la memoria. Una escena que carga todo al arrancar se atasca en el primer fotograma; los recursos direccionables y las escenas divididas son la solución, no una compilación más pequeña. Unreal exporta binarios nativos para escritorio y consola y no tiene un destino de navegador compatible. Phaser no exporta nada, porque los archivos ya son archivos web: el despliegue es copiar una carpeta. Ren'Py produce distribuciones por plataforma desde sus ajustes de compilación, incluida una compilación web, y empaqueta los recursos junto con el entorno de ejecución.
Si publicas en un alojamiento estático, prueba las cabeceras antes de probar el juego. Un servidor local que define COOP y COEP ocultará un problema de alojamiento que solo aparece en producción.
- Subida de carpeta estáticaEl despliegue en navegador de RPG Maker, Phaser y la compilación web de Ren'Py. Copia el directorio de salida a cualquier alojamiento estático y se ejecuta.
- Requiere cabecerasLa exportación Web de Godot y la compilación Web de Unity cuando se compilan con hilos. Sin COOP y COEP, la página no arranca en lugar de ir lenta.
- Distribución binariaUnreal, y las compilaciones de escritorio de Godot, Unity, RPG Maker y Ren'Py. El jugador descarga un ejecutable y lo instala.
- Una página en lugar de un archivoEl constructor de juegos 3D de Neta Studio. El mundo se ejecuta en la pestaña y el resultado es una URL que puedes entregar a alguien.
La opción sin motor
Hay una ruta en la que nada de lo anterior se aplica, porque no hay motor que instalar, ni carpeta de proyecto, ni ajuste predefinido de exportación que configurar. El constructor de juegos 3D de Neta Studio toma una descripción escrita y produce un mundo renderizado con Three.js en la pestaña del navegador. El resultado es una página. Envías un enlace a alguien y el mundo se abre; no descarga un archivo, ni ejecuta un instalador, ni tiene que decidir si confiar en un ejecutable.
Eso cambia la forma del trabajo. No hay paso de compilación que volver a ejecutar tras una edición ni exportación específica de plataforma que mantener. Describes el terreno, el ángulo de cámara, la iluminación, los personajes que existen y lo que el jugador puede hacer; el constructor ensambla el grafo de escena y Three.js lo dibuja. Agent Sprite Forge cubre el caso en que se necesita un personaje o un accesorio antes de que exista un artista, y Mini World y The Cyclops' Island son mundos jugables que puedes abrir para ver la cámara, el suelo y el movimiento ya funcionando.
Esto no sustituye a Godot ni a Unity en un RPG grande. Los sistemas con requisitos numéricos exactos —una fórmula de daño, un formato de guardado que debes mantener compatible entre versiones, una máquina de estados de combate con una docena de estados que interactúan— siguen queriendo una capa de scripting real. Lo que elimina es la fase anterior, en la que el mundo aún no existe y no puedes decir si la cámara se lee bien o si la escala parece equivocada.
01
Describe el mundo en texto plano: el terreno, la iluminación, el ángulo de cámara, qué personajes existen y qué puede hacer el jugador.
02
Abre el mundo generado en la pestaña y recórrelo. Comprueba la escala del suelo frente a la altura del personaje, comprueba que la cámara libra la geometría, comprueba que el primer objeto interactivo es visible desde el punto de aparición.
03
Cambia una cosa por pasada y vuelve a generar. «Mueve el punto de aparición a la cresta» es una edición válida, y también lo es «calienta la luz de la antorcha y reduce su radio a la mitad».
04
Vigila el presupuesto de fotogramas. Unos cientos de objetos instanciados son cómodos; cientos de mallas individuales, cada una con su propio material, bajarán los fotogramas en una GPU integrada.
05
Comparte la página. El mundo se carga en la pestaña sin nada que instalar y sin artefacto de compilación que mantener sincronizado.
Cómo elegir en diez minutos
Recórrelos en orden y detente en la primera línea que lo decida. La mayoría de los proyectos se resuelven en las dos primeras.
01
Cuenta a las personas. Una persona sin artistas apunta a RPG Maker MV/MZ o a un constructor en el navegador. De dos a cinco con un artista apunta a Godot o Unity. Un equipo con un artista técnico y ambiciones de consola apunta a Unity o Unreal.
02
Mira el arte que ya tienes. Los tilesets y las hojas de sprites te empujan al 2D. Los personajes con rig o un kit de entorno te empujan al 3D. Nada en absoluto te empuja a la ruta más rápida hacia algo visible, no a la más impresionante.
03
Decide si necesitas un binario de escritorio. Una entrega para consola, un requisito de tienda o el juego sin conexión implican Godot, Unity, Unreal, RPG Maker o Ren'Py. Si un enlace es aceptable, la ruta del navegador suprime todo tu paso de compilación y distribución.
04
Fija un objetivo para la primera versión jugable. Menos de una hora: el proyecto de ejemplo de RPG Maker, el proyecto predeterminado de Ren'Py o un mundo descrito en el constructor del navegador. Alrededor de un día: Godot o Unity siguiendo tutoriales. Una semana o más: un RPG 3D original en Unreal con tus propios recursos.
05
Nombra los sistemas que no puedes construir. Los guardados, las fórmulas de combate y el inventario son donde se atascan los proyectos RPG. RPG Maker incluye los tres. Godot y Unity te dan primitivas y te dejan el diseño. Un constructor en el navegador cubre los casos comunes y no los exóticos.
06
Anota el destino de exportación antes de la primera línea de código. Un proyecto que debe ejecutarse en una consola y en un navegador son dos proyectos, y decidirlo más tarde significa reescribir las capas de entrada y de guardado.
07
Haz el prototipo en la herramienta más barata y luego porta. Bloquear un nivel en un constructor del navegador y reconstruirlo en Godot cuesta menos que iterar sobre la iluminación dentro de un motor completo.
Entra en el mundo al que pertenece
Una comparación de motores es una tabla hasta que una fila está en marcha. La fila del navegador es la que puedes probar sin instalar nada: abre un mundo que se describió en una frase y se exportó como página. Eso es lo que de verdad se siente en la última fila de la tabla.
Volver al constructor de juegos 3D
Los 31 mundos, juegos y escenas 3D terminados están en una sola página, todos jugables.