Motor compatible · Artemis
Artemis (de iMel Inc. / Mikage) es el motor de Windows con scripting en Lua detrás de una gran porción de las novelas visuales japonesas modernas — aproximadamente 730 lanzamientos en VNDB. RuneTranslate lee los archivos de recursos .pfs del motor en TypeScript puro, sin herramientas externas ni sidecars: maneja los formatos PF8, PF6 y PF2, incluido el cifrado XOR con clave SHA-1 de PF8 (la clave por entrada es SHA-1 del índice del archivo), así que los scripts empaquetados se abren sin GARbro. Desde dentro del archivo extrae el diálogo, los nombres de personajes y las opciones tanto de los scripts legibles .ast (tabla Lua) / .txt (orientados a líneas) COMO de los escenarios binarios compilados ASB que muchos juegos realmente publican — la forma que empieza con el marcador ASB, a menudo renombrada a una extensión personalizada (Crystal Rain, por ejemplo, usa .iet). RuneTranslate detecta el escenario compilado por su firma en lugar de su extensión, decodifica su diálogo y lista cada línea. Preserva los comandos del motor en línea — ruby / furigana, placas de nombre, color, esperas de clic — y los saltos de línea a través de la traducción para que el marcado sobreviva intacto. Para la exportación, Artemis lee sus scripts de los archivos .pfs montados, así que RuneTranslate construye un pequeño archivo de parche de sobreescritura — root.pfs.NNN — por cada .pfs de origen, que contiene solo tus scripts traducidos; Artemis monta los archivos .pfs numerados el último, así que el parche eclipsa los originales y el juego carga tu traducción sin reempaquetar por completo el archivo base (los scripts también se escriben sueltos como un extra inofensivo). Es la misma idea de parche de sobreescritura que el flujo patch.xp3 de Kirikiri. Este motor todavía se está verificando en juegos reales, así que prueba la compilación exportada antes de redistribuir.
Las novelas visuales se apoyan en un reparto fijo y una terminología recurrente a lo largo de miles de líneas, y la traducción automática escribirá el nombre de una heroína de tres formas distintas a lo largo de tres capítulos. Pon en el glosario a tus personajes, nombres de lugares y términos recurrentes desde el principio para que cada línea de diálogo y cada opción los renderice de forma idéntica. Glosario 101 →
Apunta RuneTranslate al directorio del juego — la carpeta con el .exe del juego y sus archivos de recursos .pfs (a menudo root.pfs / data.pfs y compañía). La detección del motor reconoce la disposición de Artemis automáticamente; tu carpeta original nunca se modifica.
RuneTranslate abre los archivos .pfs en TypeScript puro — PF8, PF6 y PF2 — y descifra de forma transparente los datos XOR con clave SHA-1 de PF8, sin necesidad de GARbro ni sidecar. Luego analiza los scripts .ast (tabla Lua) y .txt (orientados a líneas) que hay dentro, extrayendo diálogo, nombres de personajes y opciones, y lista cada línea traducible en el editor agrupada por archivo. Los comandos del motor en línea y los saltos de línea se enmascaran tras marcadores de posición numéricos para que el proveedor nunca los estropee.
Estos juegos tienen muchos diálogos y son sensibles al tono, así que un LLM (OpenAI GPT-4o / Anthropic Claude) o DeepL suelen leer mejor; Google Translate gratuito o un modelo local (Ollama / LM Studio) cubren cadenas cortas de menú y opciones, y puedes apuntar el proveedor compatible con OpenAI a OpenRouter o NanoGPT. Un segundo pase opcional del refinador de IA pule la fraseología literal.
Los scripts de Artemis entrelazan comandos de ruby / furigana, placa de nombre, color y espera de clic a través del diálogo. RuneTranslate congela cada uno de ellos — más los saltos de línea originales — como marcadores de posición durante la traducción y los restaura a la salida, así que la línea traducida mantiene la misma furigana, la misma placa de nombre y el mismo ritmo que el original.
Al exportar, RuneTranslate copia el juego y construye un pequeño archivo de parche de sobreescritura — root.pfs.NNN — por cada .pfs de origen, que contiene solo tus scripts .ast / .txt traducidos (también se escriben sueltos como un extra inofensivo). Artemis monta los archivos .pfs numerados el último, así que el parche eclipsa los originales y el juego simplemente lee tu traducción — sin reempaquetado completo, y los archivos base se dejan intactos. Ejecuta la copia exportada y se juega en tu idioma.