Cómo usar JoiPlay en Android para jugar eroge (Guía completa 2026)
Jugar eroge en el celular puede ser un dolor de cabeza si no tenés la herramienta adecuada: entre errores, configuraciones raras y juegos que no arrancan, muchos terminan abandonando. JoiPlay soluciona casi todo eso y te deja jugar las traducciones de Erodeus directamente en Android. Esta guía cubre la instalación básica y también la configuración fina de cada motor: RPG Maker, Ren'Py, Tyrano y Godot, que desde fines de 2024 tiene soporte propio.
¿Qué es JoiPlay y qué motores soporta?
JoiPlay es una app que te permite ejecutar juegos de PC directamente en Android. No es un emulador de Windows: es un intérprete modular que corre el motor del juego de forma nativa en tu celular. Por eso funciona bien y rápido, pero solo con los motores para los que existe un plugin.
Motores soportados
- RPG Maker (XP, VX, VX Ace, MV y MZ): el soporte más maduro y estable.
- Ren’Py: la mayoría de las visual novels actuales. Excelente compatibilidad.
- TyranoBuilder / TyranoScript: visual novels basadas en HTML.
- Godot: soportado desde fines de 2024, con plugins separados para Godot 3 y Godot 4. Soporte experimental y solo para juegos hechos en GDScript.
Requisitos
- Android 5.0 o superior (recomendado 8 o más).
- Espacio libre suficiente: contá el
.rarmás el juego descomprimido, o sea el doble del tamaño que figura en la ficha. - Tener activado «Instalar apps de fuentes desconocidas».
- Una app para descomprimir: ZArchiver o RAR.
Para Godot conviene apuntar más alto que el mínimo: el soporte es experimental y los juegos pesados directamente no arrancan en dispositivos flojos.
Descargar JoiPlay y los plugins
La fuente más actualizada y segura es su Patreon oficial: patreon.com/joiplay. Cada publicación de actualización lista la app y todos los plugins con sus links.
Lo que vas a encontrar:
- JoiPlay (la app principal, obligatoria).
- RPG Maker Plugin: uno solo, cubre todas las versiones del motor.
- Ren’Py Plugin: varios, uno por rama del motor. Leé la sección de Ren’Py antes de elegir.
- TyranoBuilder Plugin.
- Godot 3 Plugin y Godot 4 Plugin: dos plugins distintos, no intercambiables.
Orden de instalación: primero JoiPlay, después los plugins. Entre plugins el orden no importa, pero la app siempre va primero.
Los plugins se actualizan por separado de la app. Si un juego nuevo no arranca y otros del mismo motor sí te funcionan, lo primero que tenés que revisar es si hay una versión más reciente del plugin.
Instalar las APK
- Descargá los archivos
.apk. - Instalá JoiPlay primero.
- Instalá los plugins que necesites.
- Aceptá los permisos que pida la app, sobre todo el de acceso al almacenamiento.
- Abrí JoiPlay una vez antes de agregar juegos, para que genere sus carpetas de trabajo.
Es normal que Android muestre advertencias al instalar APKs de fuentes externas. En Android 11 o superior, si JoiPlay no ve tus archivos, revisá que le hayas dado el permiso de «Acceso a todos los archivos» desde Ajustes del sistema, no solo el permiso básico de almacenamiento.
Preparar la carpeta del juego
- Descargá la versión de PC / Windows del juego.
- Descomprimilo con ZArchiver o RAR.
- Dejá los archivos en una carpeta limpia y sin caracteres raros en el nombre, por ejemplo
/Almacenamiento interno/Juegos/NombreDelJuego/.
Evitá rutas con acentos, signos japoneses o emojis. Algunos motores fallan al leer rutas con caracteres no ASCII.
¿Cómo sé qué motor es?
| Qué ves en la carpeta | Motor |
|---|---|
game/, lib/, renpy/ y un .exe |
Ren’Py |
Game.exe + Game.rgssad / .rgss3a + Data/ |
RPG Maker XP / VX / VX Ace |
Carpeta www/ con index.html adentro |
RPG Maker MV |
index.html en la raíz + js/ + data/ |
RPG Maker MZ |
index.html + tyrano/ + data/scenario/ |
Tyrano |
Un .exe con un .pck del mismo nombre al lado |
Godot |
Agregar el juego en JoiPlay
- Abrí JoiPlay.
- Tocá el botón «+» y elegí «Add Game».
- Configurá los datos:
- Nombre: el que quieras.
- Ejecutable: RPG Maker XP/VX/VX Ace →
Game.exe· RPG Maker MV →www/index.html· RPG Maker MZ →index.htmlde la raíz · Ren’Py → el.exede la raíz (no el que está dentro de/game) · Tyrano →index.html· Godot → el.exede la raíz. - Carpeta: la carpeta raíz del juego.
- Elegí el plugin correcto.
- Guardá y ejecutá.
Cada juego tiene su propia configuración independiente, accesible con un toque largo sobre su tarjeta o desde el ícono de engranaje según la versión. Ahí están todas las opciones que se mencionan más abajo.
El gamepad virtual
El gamepad virtual fue reconstruido de cero en 2025 y es mucho más configurable que antes: podés mover botones, cambiar el layout y desde principios de 2026 también hay un diálogo de mapeo de teclas para asignar qué tecla envía cada botón.
Dos cosas para tener en cuenta: las configuraciones de gamepad de versiones viejas de JoiPlay no son compatibles con el sistema nuevo, así que si venís de una versión antigua vas a tener que rearmar tu layout. Y el joystick viene configurado por defecto para comportarse como un d-pad, que es lo que la mayoría quiere para RPG Maker.
Configurar RPG Maker (y el tema del RTP)
RPG Maker es el motor más estable en JoiPlay. Los juegos de XP, VX y VX Ace corren sobre mkxp-z, una reimplementación del motor original con un intérprete Ruby propio; MV y MZ corren sobre el motor web. Son dos caminos técnicos distintos y por eso los problemas también son distintos.
Qué es el RTP
El RTP (Runtime Package) es un paquete de recursos (gráficos, sonidos, tilesets) que algunos juegos no incluyen y esperan encontrar instalado en el sistema. Descarga oficial: rpgmakerweb.com/run-time-package.
¿Cuándo aplica?
- NO lo necesitás en MV y MZ (ya traen todo incluido).
- Puede hacer falta en VX Ace (el caso más común), VX y XP (menos frecuente hoy).
¿Cuándo tenés que instalarlo?
Solo si aparecen errores como «RTP not found», «Unable to find file», pantalla negra, o si faltan gráficos o sonidos. Si el juego arranca bien, no toques nada.
Cómo instalar el RTP en Android
Importante: el RTP no se instala como una app. Se agrega manualmente dentro de la carpeta del juego.
- Descargá el RTP de la versión correspondiente (generalmente VX Ace).
- Descomprimilo.
- Copiá las carpetas dentro de la carpeta del juego:
/NombreDelJuego/
├── Audio/
├── Graphics/
├── Data/
└── Game.exe
Si esas carpetas ya existen, combinalas. No reemplaces la carpeta entera o borrás los recursos propios del juego.
Error común con el RTP
/RTP/Audio → MAL
/Audio → BIEN
Las carpetas del RTP van directo en la raíz del juego, no dentro de una subcarpeta /RTP.
Otros ajustes de RPG Maker
- Gamepad virtual: activalo. En XP/VX/VX Ace es prácticamente obligatorio para moverse.
- Resolución: si hay lag, bajala. VX Ace corre nativo a 544×416; forzar resoluciones altas no mejora nada visualmente y cuesta rendimiento.
- Forzar Miniz: hay una opción en los ajustes de RPG Maker para forzar el uso de Miniz en juegos XP, VX y VX Ace. Si un juego tira errores al leer sus archivos empaquetados, probala.
- MV/MZ: al correr sobre el motor web dependen mucho más de tu GPU. Si van a los tirones, cerrá apps en segundo plano.
- Juegos MV/MZ con muchos plugins de JS: algunos usan módulos de Node.js. El manejo de módulos externos mejoró bastante en las versiones recientes, así que si un juego te falló hace un año vale la pena reintentarlo con la app actualizada.
Configurar Ren’Py a fondo
Ren’Py es lo que mejor anda en JoiPlay y es el motor de la mayoría de nuestras traducciones. Pero tiene una particularidad que confunde a todo el mundo.
Elegir el plugin correcto: esto es lo más importante
A diferencia de RPG Maker, que tiene un solo plugin para todas las versiones, Ren’Py tiene varios plugins simultáneos, uno por rama del motor. Cuando una versión de Ren’Py introduce cambios que rompen compatibilidad, se publica un plugin nuevo en lugar de modificar el anterior. Así conviven en el Patreon plugins para la rama 7.x y para varias versiones de la rama 8.x.
Tenés que instalar el plugin que coincida con la versión de Ren’Py con la que se compiló el juego. Si el juego no arranca o tira errores incomprensibles, esta es la primera cosa a revisar, antes que cualquier otro ajuste.
Cómo saber qué versión de Ren’Py usa un juego
- Abrí
/renpy/vc_version.pyo/renpy/__init__.pycon un editor de texto: la versión está declarada ahí. - Si el juego ya se ejecutó alguna vez en PC, el archivo
log.txtde la raíz la muestra en las primeras líneas. - Dentro del juego, la pantalla «About» del menú principal casi siempre la incluye.
Como regla práctica: si el juego es de 2023 o anterior, probablemente sea de la rama 7.x. De 2024 en adelante, casi seguro 8.x. Si no estás seguro, instalá los dos plugins y probá.
Elegir bien el ejecutable
El otro error clásico. Una carpeta típica de Ren’Py tiene esto:
/NombreDelJuego/
├── game/
├── lib/
├── renpy/
├── NombreDelJuego.exe ← ESTE
├── NombreDelJuego.sh
└── NombreDelJuego.py
Apuntá al .exe de la raíz. Si dentro de /game hay otro .exe, ignoralo. También sirven el .py o el .sh de la raíz si el .exe te da problemas.
Recompilar scripts
Ren’Py distribuye los scripts precompilados en archivos .rpyc, generados por la versión exacta del motor del desarrollador. Cuando hay un desajuste, JoiPlay puede descompilarlos y recompilarlos: internamente usa unrpyc, en dos versiones distintas según si el juego es de la rama 7 o de la 8.
En la configuración del juego buscá la opción de recompilar scripts y activala. La primera vez puede tardar bastante en juegos grandes: dejalo trabajar sin cerrar la app.
Esta opción es tu red de seguridad cuando no conseguís el plugin exacto para la versión del juego. Pero no es magia: si el resultado sigue fallando, el problema es el plugin.
Borrar la caché cuando algo se rompe
Si el juego arrancaba bien y de golpe empezó a fallar, o después de recompilar quedó en un estado raro:
/NombreDelJuego/game/cache/ → borrar esta carpeta completa
Se regenera sola al arrancar y no toca partidas guardadas. Arregla la mayoría de los errores tipo «Ran out of memory», «pickle» o «corrupt» al iniciar.
Video: la causa más común de crasheos
Los formatos que usa Ren’Py en PC (.webm con VP9, .ogv) no siempre están soportados por el decodificador de Android. El resultado es un cierre inmediato o una pantalla negra con audio de fondo.
En la configuración del juego buscá la opción de desactivar la reproducción de video. Perdés las cinemáticas, pero el resto funciona. Si el crasheo ocurre siempre en el mismo momento y ese momento es una escena animada, esto lo resuelve.
Renderizado y rendimiento
- Si ves texturas rotas, colores invertidos o transiciones que parpadean, probá cambiar el renderizador. Las opciones suelen ser variantes de OpenGL ES y un modo de software. El modo software es lento pero compatible con casi todo: usalo como último recurso para pasar una escena problemática.
- Las VN con muchas capas de sprites animados (lluvia, partículas, Live2D) son las que más sufren. Bajar la resolución ayuda poco porque el cuello de botella es el compositing.
- Si el juego corre a 1920×1080 nativo y tu celular es de gama media, forzar una resolución menor sí mejora bastante.
Texto demasiado chico
- Menú del juego: muchas VN modernas tienen Preferences → Text Size o un slider de escala de interfaz. Probá esto primero.
- Escala de JoiPlay: si el juego no ofrece nada, usá la opción de escalado o zoom de la app.
- Editar la GUI: en
/game/gui.rpyestángui.text_size,gui.name_text_sizeygui.interface_text_size. Subilas y borrá la caché. Requiere que el juego incluya los.rpy.
Pasar partidas guardadas entre PC y celular
Los saves de Ren’Py son portables entre plataformas. Buscá /game/saves/ dentro del juego y copiala. Si no está ahí, JoiPlay la creó en su propio directorio de datos: revisá la carpeta de JoiPlay en el almacenamiento interno.
El archivo persistent guarda escenas vistas, galería desbloqueada y modo skip. Copialo también si querés conservar eso.
Configurar Tyrano a fondo
Tyrano (TyranoBuilder y TyranoScript) es HTML, JavaScript y CSS empaquetados en un navegador. En PC eso lo hace NW.js; en Android lo hace el WebView del sistema a través del plugin. Esto tiene consecuencias muy concretas.
Estructura esperada
/NombreDelJuego/
├── index.html ← el ejecutable a seleccionar
├── tyrano/
├── data/
│ ├── scenario/ ← archivos .ks (los textos)
│ ├── image/
│ ├── bgimage/
│ └── sound/
└── package.json
Si ves eso, seleccioná index.html y el plugin de TyranoBuilder. Si el plugin de Tyrano te falla, probá con el de RPG Maker: también interpreta juegos HTML y en algunos casos anda mejor.
Si no hay index.html: juegos empaquetados
Algunos desarrolladores empaquetan todo en un solo archivo:
/resources/app.asar → empaquetado con asar
/package.nw → empaquetado NW.js
Hay que desempaquetarlo desde una PC:
app.asar: con Node.js instalado, corrénpx @electron/asar extract app.asar carpeta-destino. Adentro está elindex.htmly las carpetas normales.package.nw: es un ZIP con otra extensión. Renombralo a.zipy descomprimilo.
Después copiás el contenido extraído al celular como una carpeta normal. En nuestras traducciones esto ya viene resuelto: si tuvimos que desempaquetar para traducir, publicamos la versión desempaquetada.
Partidas guardadas: cuidado
El punto más importante de Tyrano y el que más bronca genera. Estos juegos guardan en el localStorage del WebView, no en archivos dentro de la carpeta del juego. Consecuencias:
- Si borrás los datos de JoiPlay desde Ajustes de Android, perdés todas las partidas de todos los juegos Tyrano. Los de Ren’Py y RPG Maker sobreviven porque están en archivos.
- No podés pasar saves de la PC al celular ni al revés de forma simple.
- Reinstalar JoiPlay suele borrarlas.
- Muchos juegos de Tyrano tienen exportación e importación de save en su propio menú. Si existe, usala antes de tocar nada.
Audio y video
- Tyrano usa etiquetas HTML5, así que depende de los codecs del WebView. MP4 con H.264, M4A/AAC y OGG Vorbis generalmente andan bien.
- WebM con VP9 y OGV son los que fallan más seguido. Si un video queda en negro pero el juego sigue, es esto.
- Si no hay música pero sí voces (o al revés), casi siempre es un tema de formato: el motor cargó un tipo de archivo y no el otro.
Escala y aspecto
Los juegos de Tyrano tienen resolución fija declarada en data/system/Config.tjs o en el index.html, normalmente 1280×720 o 1920×1080. En pantallas con otra relación de aspecto vas a ver franjas negras o recortes. Usá la opción de escalado de JoiPlay. Jugar en horizontal siempre es mejor con Tyrano.
Caracteres raros en el texto
Si ves á, ñ o “ en lugar de acentos y comillas, es un problema de codificación: los archivos .ks de data/scenario/ tienen que estar en UTF-8 sin BOM. Aparece en traducciones hechas con herramientas que guardan en ANSI o en UTF-8 con BOM.
Si te pasa con una traducción nuestra, avisanos: no es algo que puedas arreglar desde el celular.
Lo que directamente no va a funcionar
Los juegos de Tyrano que usan plugins nativos de NW.js para leer o escribir archivos del sistema, ejecutar procesos externos o acceder a la cámara van a fallar. No hay configuración que lo arregle: esas APIs no existen en un WebView de Android.
Configurar Godot
Godot viene creciendo mucho entre desarrolladores independientes de eroge. La buena noticia es que JoiPlay lo soporta desde fines de 2024. La menos buena es que el soporte sigue siendo experimental y con compatibilidad baja: la propia documentación del proyecto advierte que los juegos pesados pueden no funcionar en absoluto, y que la expectativa razonable es que corran los juegos hechos únicamente en GDScript.
Dos plugins, no intercambiables
Hay un plugin para Godot 3 y otro para Godot 4. Son motores distintos con formatos de archivo incompatibles, así que tenés que instalar el que corresponda a la versión con la que se compiló el juego. Instalar los dos no molesta y te ahorra adivinar.
Cómo saber si es Godot 3 o Godot 4
No hay una forma cómoda desde el celular, porque el archivo de configuración del proyecto vive comprimido dentro del .pck. Pistas prácticas:
- Fecha del juego: Godot 4 salió a principios de 2023. Un juego de 2023 en adelante es casi seguro Godot 4; uno anterior es Godot 3.
- Propiedades del
.exe: en Windows, la pestaña de detalles del archivo a veces muestra la versión del motor. - Probá y listo: con los dos plugins instalados, si uno falla cambiás al otro en la configuración del juego. Es más rápido que investigar.
Si el juego usa C#, no va a correr
El soporte de Godot en JoiPlay cubre GDScript. Los juegos hechos con la variante Mono del motor (C#) no funcionan, y no hay ajuste que lo cambie.
Se detecta fácil: abrí la carpeta del juego y buscá archivos .dll. Si ves GodotSharp.dll, GodotSharp.runtimeconfig.json o un montón de System.*.dll, el juego usa C# y no hay nada que puedas configurar para que arranque.
Qué esperar en rendimiento
- VN y juegos 2D simples en GDScript: es el caso ideal. Suelen correr bien.
- Juegos 2D con muchas físicas, partículas o shaders: variable. Probalo antes de descargar 3 GB.
- Cualquier cosa en 3D: esperá lo peor. Godot 4 usa Vulkan por defecto y es exigente incluso en PC.
- Godot 3 anda mejor que Godot 4 en general, porque es un motor más liviano y su renderizador es menos demandante.
Controles
Los juegos de Godot para PC esperan teclado y mouse, y no traen controles táctiles. Acá el gamepad virtual de JoiPlay es imprescindible: configurá el layout y, si el juego usa teclas poco comunes, usá el diálogo de mapeo de teclas para asignarlas a los botones. Es la diferencia entre un juego jugable y uno que solo podés mirar.
Arreglar tildes y caracteres raros
Esto merece su propia sección porque afecta específicamente a las traducciones al español y no aparece nunca en las guías en inglés.
Muchos eroge japoneses usan fuentes personalizadas que solo incluyen glifos japoneses y ASCII básico. Cuando el texto se traduce al español, los caracteres que no existen en la fuente aparecen como cuadraditos vacíos, rombos con signo de pregunta o simplemente nada. Los afectados son á é í ó ú ñ ü ¿ ¡: o sea, media oración.
Cómo distinguirlo de un problema de codificación
- Cuadraditos o espacios en blanco donde debería haber una tilde → falta el glifo en la fuente.
- Símbolos raros como
áoñ→ problema de codificación del archivo de texto.
El segundo caso es un error nuestro y hay que reportarlo. El primero a veces lo podés resolver vos.
En Ren’Py
Las fuentes están en /game/fonts/ o sueltas en /game/, y se declaran en /game/gui.rpy con gui.text_font, gui.name_font e gui.interface_font. Podés reemplazar el archivo de fuente por uno con soporte de Latin-1 (Noto Sans, DejaVu Sans, Roboto) manteniendo el nombre original, o editar gui.rpy para apuntar al nuevo. Después borrá /game/cache/.
En Tyrano
La fuente se define por CSS en data/others/plugin/ o en las hojas de estilo dentro de tyrano/. Buscá las declaraciones @font-face y font-family. Es más engorroso que en Ren’Py porque puede estar declarada en varios lugares.
En RPG Maker
En MV/MZ, mirá fonts/gamefont.css. En XP/VX/VX Ace la fuente está definida en los scripts de Ruby y es bastante más difícil de cambiar.
En nuestras traducciones ya verificamos las fuentes antes de publicar. Si te encontrás con este problema en un juego de Erodeus, reportalo en Discord: es un bug nuestro, no tuyo.
Problemas comunes
| Problema | Solución |
|---|---|
| No detecta los plugins | Reiniciá JoiPlay. Si sigue, reinstalá el plugin después de la app. |
| JoiPlay no ve mis archivos | Dale permiso de «Acceso a todos los archivos» desde Ajustes de Android. |
| Ren’Py: no arranca o errores raros | Plugin equivocado. Verificá la versión de Ren’Py del juego y usá el plugin correspondiente. |
| Ren’Py: errores de script al iniciar | Activá «recompilar scripts» y borrá game/cache/. |
| Godot: no arranca | Probá el otro plugin (3 en vez de 4 o al revés). Si hay GodotSharp.dll, usa C# y no va a correr. |
| Pantalla negra al iniciar | Verificá el ejecutable seleccionado. En RPG Maker, revisá el RTP. En Ren’Py, borrá game/cache/. |
| Crashea siempre en la misma escena | Casi seguro es un video. Desactivá la reproducción de video. |
| Lag en las escenas | Bajá la resolución y cerrá apps en segundo plano. |
| Texto ilegible de chico | Probá el menú del juego primero, después el escalado de JoiPlay. |
| Cuadraditos en lugar de tildes | Falta el glifo en la fuente. Ver la sección de tildes. |
Texto con á o ñ |
Error de codificación. Reportalo en Discord. |
| Tyrano: perdí todas las partidas | Se borraron con los datos de la app. No hay recuperación. Usá la exportación de save del juego si la tiene. |
| No hay música pero sí voces | Formato de audio no soportado por el WebView. |
| Mi layout de gamepad desapareció | El sistema de gamepad se rehizo y las configuraciones viejas no son compatibles. Rearmalo. |
| El juego no arranca de ninguna forma | Probá otra versión del plugin y revisá que hayas elegido bien el ejecutable. |
Tabla de compatibilidad por motor
| Motor | Plugin | Compatibilidad |
|---|---|---|
| Ren’Py | Ren’Py (según versión del motor) | Excelente |
| RPG Maker VX Ace | RPG Maker | Muy estable |
| RPG Maker XP / VX | RPG Maker | Estable |
| RPG Maker MV / MZ | RPG Maker | Depende del dispositivo |
| Tyrano | TyranoBuilder | Buena, con cuidado en los saves |
| Godot 3 (GDScript) | Godot 3 | Experimental, aceptable en juegos livianos |
| Godot 4 (GDScript) | Godot 4 | Experimental, más exigente |
¿Listo para jugar?
Ahora que ya sabés cómo, podés seguir disfrutando de todo nuestro catálogo de juegos emulables en español.
Ir al catálogo →