Preguntas Frecuentes
Este contenido es para la versión 0.1.0. Cambia a la última versión para documentación actualizada.
General
Sección titulada «General»¿Qué es Ludens?
Sección titulada «¿Qué es Ludens?»Ludens es un wrapper de Compose Multiplatform que te permite portar juegos de RPG Maker MV/MZ a dispositivos móviles (Android e iOS). Envuelve tu exportación de juego HTML5 en una aplicación nativa con controles en pantalla, ajustes y soporte adecuado para distribución móvil.
¿Necesito saber Kotlin para usar Ludens?
Sección titulada «¿Necesito saber Kotlin para usar Ludens?»No. Para el uso básico — exportar tu juego, personalizar la identidad de la app y compilar un APK — solo necesitas editar gradle.properties y seguir la guía de compilación. No se requieren cambios de código.
¿Ludens es gratuito?
Sección titulada «¿Ludens es gratuito?»Sí. Ludens está licenciado bajo la Licencia Apache 2.0.
Compatibilidad
Sección titulada «Compatibilidad»¿Qué versiones de RPG Maker son compatibles?
Sección titulada «¿Qué versiones de RPG Maker son compatibles?»Ludens soporta juegos hechos con RPG Maker MV y RPG Maker MZ. Ambos exportan juegos HTML5 que pueden cargarse en el WebView.
¿Mis plugins funcionarán en móvil?
Sección titulada «¿Mis plugins funcionarán en móvil?»No todos. Muchos plugins de RPG Maker están diseñados específicamente para entornos de escritorio (PC/Mac). Los plugins que dependen de APIs de Node.js (como fs para el acceso al sistema de archivos, común en sistemas de guardado personalizados o integraciones de escritorio) bloquearán inmediatamente el juego en dispositivos móviles. Además, los plugins que esperan entradas de teclado físico sin proporcionar alternativas en pantalla podrían resultar injugables. Debes probar tu juego exhaustivamente en un dispositivo Android físico o en un emulador para verificar la compatibilidad.
¿Qué versiones de Android son compatibles?
Sección titulada «¿Qué versiones de Android son compatibles?»Ludens apunta a Android API 21 (Android 5.0 Lollipop) como SDK mínimo, con un SDK objetivo de 36. Esto cubre la gran mayoría de dispositivos Android en uso activo.
¿Se soporta iOS?
Sección titulada «¿Se soporta iOS?»El soporte para iOS está planeado pero aún no está completamente configurado. El proyecto actual incluye la plantilla iOS por defecto de Compose Multiplatform, pero el proceso de compilación y las configuraciones no están finalizados.
Compilación y Configuración
Sección titulada «Compilación y Configuración»¿Puedo tener múltiples juegos instalados en el mismo dispositivo?
Sección titulada «¿Puedo tener múltiples juegos instalados en el mismo dispositivo?»Sí. Para tener varios juegos instalados simultáneamente sin que se sobreescriban entre sí, cada juego debe tener un ludens.applicationId único configurado en su archivo gradle.properties (por ejemplo, com.miestudio.juego1 y com.miestudio.juego2).
¿Cómo cambio el nombre y el icono de la app?
Sección titulada «¿Cómo cambio el nombre y el icono de la app?»- Nombre de la app: Edita
ludens.applicationNameyludens.applicationLauncherNameengradle.properties. - Icono de la app: Reemplaza las imágenes en los directorios
composeApp/src/androidMain/res/mipmap-*o usa el Image Asset Studio de Android Studio (clic derecho enres> New > Image Asset).
Consulta la página de Configuración para más detalles.
¿Qué es keystore.properties?
Sección titulada «¿Qué es keystore.properties?»Es un archivo que almacena tus credenciales de firma para compilaciones release. Contiene la ruta a tu archivo keystore .jks y las contraseñas asociadas. Una plantilla (keystore.properties.template) está incluida en el repositorio.
¿Puedo generar un AAB (Android App Bundle) en vez de un APK?
Sección titulada «¿Puedo generar un AAB (Android App Bundle) en vez de un APK?»Las tareas de compilación por defecto generan archivos APK. Para generar un AAB, puedes ejecutar:
./gradlew bundleReleaseEl AAB se generará en composeApp/build/outputs/bundle/release/.
Juego y Runtime
Sección titulada «Juego y Runtime»¿Dónde se almacenan los archivos de guardado?
Sección titulada «¿Dónde se almacenan los archivos de guardado?»Los archivos de guardado son gestionados íntegramamente por el motor de RPG Maker dentro del WebView usando las APIs de Almacenamiento Web de HTML5 (LocalStorage o IndexedDB). Ludens no proporciona un sistema de guardado nativo separado. Estas bases de datos web están fuertemente aisladas (sandboxed) por el sistema operativo móvil por razones de seguridad.
¿Puedo usar WebGL?
Sección titulada «¿Puedo usar WebGL?»Sí. WebGL está habilitado por defecto y puede alternarse en los ajustes de la aplicación. Cambiar a WebGL requiere un reinicio de la aplicación, y solo está disponible para MV, dado que MZ requiere WebGL por defecto.
¿Qué es el plugin YDP_Ludens.js?
Sección titulada «¿Qué es el plugin YDP_Ludens.js?»Es un plugin opcional de RPG Maker que:
- Corrige errores de verificación de carga de fuentes en versiones antiguas de WebView.
- Habilita funcionalidades adicionales del lado del cliente soportadas por la capa nativa de Ludens.
- Debe colocarse como el primer plugin en tu gestor de plugins.
- Disponible en el repositorio rpgm-plugins.
¿Puedo usar audio en el juego?
Sección titulada «¿Puedo usar audio en el juego?»Sí. El WebView soporta reproducción de audio. Los ajustes de la aplicación incluyen un toggle de Silenciar Audio que silencia el audio usando el API del motor (MV/MZ) en lugar del WebView.
Solución de Problemas
Sección titulada «Solución de Problemas»Mi juego muestra un placeholder 404
Sección titulada «Mi juego muestra un placeholder 404»Este es el placeholder que aparece si no se han colocado los assets correctamente.
Causas comunes:
- La carpeta
wwwno está en la ubicación correcta (composeResources/files/www/). - El archivo
index.htmlfalta en la raíz de la carpetawww. - Un plugin está causando un error. Verifica los logs de la consola del WebView del dispositivo usando la depuración remota de Chrome DevTools.
La compilación falla con un error de Gradle
Sección titulada «La compilación falla con un error de Gradle»- Asegúrate de estar usando JDK 17 o superior.
- Ejecuta File > Sync Project with Gradle Files en Android Studio.
- Intenta File > Invalidate Caches / Restart.
- Verifica que el Android SDK esté correctamente instalado via File > Settings > Android SDK.
Los controles no responden
Sección titulada «Los controles no responden»- Verifica que los controles estén habilitados en los ajustes de la aplicación.
- Verifica que los mapeos de teclas de los botones coincidan con las teclas que tu juego espera.
- Algunos plugins pueden sobreescribir el manejo de input — prueba sin plugins de terceros para aislar el problema.