Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
Pokémon Reloaded en Android
PORTSNATIVE

Pokémon Reloaded en Android

NATIVE PORTROLE-PLAYING / RPGANDROIDBETA

Pokémon Reloaded en Android

Pokemon Reloaded

TechnologyNative C/C++ port (engine reimplementation)

Available forAndroid

View official project

About the project

Pokemon Reloaded es un videojuego de rol publicado por Klisee, lanzado en 2020.

Official project information

Author's original READMEOpen on GitHub ↗

MODO DE MANTENIMIENTO

Esta aplicación dejara de actualizarse de forma constante y solo lo hará para solucionar bugs concretos o específicos, la aplicación en algún punto de finales de año dejara de recibir soporte de forma completa, este no es el fin, sino el inicio de un proyecto multiplataforma para Windows, Linux, macOS, Android y iOS de nombre Reloaded OpenGMK de paso anuncio que el código de Pokémon Reloaded Android queda totalmente limpio de cualquier derivado de scripts GML, pronto habrá mas noticias de Reloaded OpenGMK

Pokémon Reloaded en Android

Licencia GPL-2.0 Última versión Descargas totales

Ejecuta Pokémon Reloaded en Android sin emulador de Windows de por medio. Lo mantiene @Klisee, para la comunidad.

Qué es esto, en realidad

Lo de "port" es un decir, y conviene aclararlo. Pokémon Reloaded es un juego hecho en Game Maker 8 para Windows, y aquí no se ha reescrito ni recompilado nada. Lo que hace esta app es ejecutar el juego original tal cual, con sus archivos intactos, sobre OpenGMK: una reimplementación nativa en Rust del motor de Game Maker 8.

Dicho de otro modo: no hay Wine, no hay Windows emulado, no hay capa de traducción. El motor está escrito para Android y compilado para el móvil, así que el juego corre prácticamente como un nativo. Lo único que se ha "porteado" son las tripas del motor, no el juego.

La app sí aporta todo lo de fuera del juego: importar el juego desde un .zip, controles táctiles, ajustes, gestión de partidas y logs. El juego en sí no se toca.

Cómo funciona

  • Importar. Le das a Importar y eliges el .zip del juego. La app lo descomprime en su propio almacenamiento privado, así que no depende de permisos de almacenamiento ni de dónde lo tengas guardado.
  • Ejecutar. El motor (OpenGMK, en Rust) se carga como librería nativa y arranca el runner de Game Maker 8 sobre los datos del juego. El render va por OpenGL ES y el audio por AAudio.
  • Controles. La capa táctil no es fija: cambia según el estado del juego, así que en el mapa tienes una cruceta y en los menús otra cosa. Cada botón pulsa una tecla del juego, y puedes reasignar cualquiera desde Ajustes → Mando → Controles. También funciona un mando real, detectado solo.
  • Partidas. Se leen y escriben en la carpeta del juego. Desde Ajustes → Partidas puedes verlas, exportarlas, importarlas, borrarlas y mover una de una ranura a otra. Si jugabas en PC, tu partida entra por aquí.
  • Frames. En Ajustes → Frames, 30 FPS (Original) es el modo por defecto. 60 FPS (Experimental) y 120 FPS (Experimental) interpolan movimiento y cámara a esa tasa; la opción de 120 solo se habilita si el panel anuncia 120 Hz o más. FPS sin Límite dibuja todo lo que pueda el móvil y también requiere 120 Hz o más. La simulación sigue a 30 pasos/s: no va más rápido el juego, y las animaciones de sprites y la lógica siguen a 30 Hz. Los modos experimentales gastan más batería y pueden fallar. En escritorio se elige con -R auto, -R 60, -R 120 o -R uncapped, y OPENGMK_RENDER_LOG=1 imprime los dibujos/s y los pasos/s reales.
  • Salir y volver. Al mandar la app a segundo plano, el bucle se detiene y el audio se corta de verdad; al volver, sigue donde estaba en vez de quedarse en negro.
  • Logs. Si algo va mal, la app escribe un log y lo puedes compartir como archivo de texto desde Ajustes → Logs, sin perderlo al reiniciar el móvil.

Cómo está montado

flowchart TB
    subgraph app["App · Kotlin + Compose"]
        launcher["Lanzador e interfaz"]
        ajustes["Ajustes · partidas · logs"]
        overlay["Controles táctiles"]
    end

    subgraph engine["Motor · Rust (OpenGMK)"]
        runner["Runner de Game Maker 8"]
        render["Render OpenGL ES"]
        audio["Audio (AAudio)"]
    end

    juego["Datos del juego original (tu .zip)"]

    launcher -->|importa el .zip| juego
    app <-->|JNI| engine
    engine -->|lee y ejecuta| juego

La app y el motor son dos mundos separados que hablan por JNI. El motor no sabe de Android ni de interfaz: solo sabe ejecutar el juego. La app no sabe de Game Maker: solo lo lanza y lo envuelve. Esa separación es la que permite tocar la interfaz sin romper el motor, y viceversa.

Qué necesitas

Los archivos originales del juego, que están en el blog de F3R: pokemon-reloaded.blogspot.com

El repo no incluye ningún asset del juego, y eso es justo lo que lo mantiene limpio.

Cómo se usa

  1. Instala el APK de la última release.
  2. Consigue el juego en un .zip y dale a Importar (o usa Descargar para abrir el blog).
  3. Jugar. Si ya tenías partida en el PC, tráela desde Ajustes → Partidas.

Estado

Está en beta y se nota: puede petar. Si algo falla, guarda un log desde Ajustes → Logs y ábrelo como issue.

Ya resuelto:

  • La pantalla negra en móviles con GPU PowerVR (MediaTek Helio y similares). El motor enlazaba el VAO/VBO/programa una sola vez y daba por anulado el búfer tras cada dibujo: en GPUs diferidas (TBDR) eso dejaba al procesador de vértices leyendo memoria descartada y no se pintaba nada. Ahora se enlazan en cada dibujo, no se invalida el búfer, el bloque de uniforms std140 tiene los offsets correctos y los atlases se suben por lotes — con esto último el arranque pasó de ~85 s a un momento. Gracias a Alexpix0 (Armando), que lo encontró y probó. (Los detalles del diagnóstico están en el historial de commits.)
  • El escalado en combate, que se quedaba con la cámara descolocada.
  • El movimiento Vuelo, que no llegaba a conectar.
  • La XP infinita al abrir la mochila tras debilitar a un Pokémon.
  • El cierre en combates dobles al cambiar de Pokémon.

Lo que ahora mismo da problemas, y resolveré después:

  • El audio se corta en algunos móviles al mezclar música y efectos.

Y por ir haciendo, sin orden:

  • Poner imágenes propias (pixel art) a más botones táctiles.
  • Más ajustes de rendimiento en móviles modestos.
  • Revisar la compatibilidad con mandos de todo tipo.

Compilar

Cada arquitectura lleva su propio APK (el motor es nativo). arm64-v8a es la de por defecto:

# El motor (Rust) y su .so para Android
cd src/OpenGMK
cargo ndk -t arm64-v8a --platform 29 build -p gm8emulator --release
cargo ndk -t armeabi-v7a --platform 29 build -p gm8emulator --release
cargo ndk -t x86_64 --platform 29 build -p gm8emulator --release

# La app: un APK por arquitectura
cd ../../android
./build.sh :app:assembleRelease
./build.sh :app:assembleRelease -PtargetAbi=armeabi-v7a
./build.sh :app:assembleRelease -PtargetAbi=x86_64
./build.sh :app:assembleRelease -PtargetAbi=universal

La universal lleva las tres arquitecturas y sirve de comodín, a costa de pesar unos 10 MB más.

El workflow .github/workflows/build-apks.yml compila las tres en CI al publicar un tag.

Licencia

Copyright (C) 2026 Klisee y colaboradores.

Este proyecto se distribuye bajo la GNU General Public License v2.0 (GPL-2.0-only), la misma licencia que OpenGMK, del que toma el motor. El texto completo está en LICENSE.

Los archivos originales de Pokémon Reloaded no forman parte de este repositorio ni se distribuyen con el APK; son obra de F3R Productions y se rigen por sus propios términos. vendor/udon también es GPL-2.0-only, y vendor/ramen se distribuye bajo licencia Zlib.

Créditos

  • Pokémon Reloaded es obra de F3R Productions: el blog del juego
  • OpenGMK, la reimplementación del motor sin la que esto no existiría: github.com/OpenGMK/OpenGMK
  • LixarXDX: por el rediseño de los controles táctiles y los controles clásicos, la base de la personalización de esta versión.
  • Kizzy (dead8309): por KizzyRPC, el método en el que se basa el Rich Presence con token de usuario.
  • nyxthor-dev: por el análisis del congelamiento al volver del segundo plano y las propuestas de corrección (issue #77).
  • Alexpix0 (Armando): por el arreglo del renderizado que resolvió la pantalla negra en móviles con GPU PowerVR (enlazar VAO/VBO/programa en cada dibujo, quitar la invalidación del búfer que rompía en GPUs diferidas, corregir el std140 del bloque de uniforms y subir los atlases por lotes, que además dejó el arranque muchísimo más rápido). Su PR
  • Google Sans Flex, la tipografía de la app

Pokémon es una marca de Nintendo, Game Freak y Creatures. Este proyecto no está afiliado ni respaldado por ellos.

View official project
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Role-Playing / RPG
Status
beta
Original platform
—
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 1

Android
View on GitHub
Advertisement