32blogby StudioMitsu

Distribuir tu Juego Ren'Py: De la Compilación a itch.io

Aprende a compilar y publicar tu juego Ren'Py 8.5 en itch.io. Cubre notas específicas por plataforma, firma en macOS y control de archivos con build.classify().

6 min read
Contenido

Tu juego está terminado. El siguiente paso es ponerlo en las manos de los jugadores.

Esta guía cubre cómo compilar tu juego en Ren'Py 8.5.2 y publicarlo en itch.io.

Preparación para la compilación

Configuración de options.rpy

Establece la información básica de compilación en options.rpy. Se genera una plantilla al crear un proyecto — solo actualiza los valores.

renpy
define config.name = "My Visual Novel"

define build.name = "MyVisualNovel"

define config.version = "1.0"

config.name es el título de tu juego. build.name se usa para los nombres de archivo de distribución — no se permiten espacios, dos puntos ni punto y coma. config.version es el número de versión, también referenciado al subir a itch.io.

Ejecutando Lint

Siempre ejecuta Lint antes de compilar. Haz clic en "Check Script (Lint)" en el Launcher.

Lint verifica:

  • Referencias a imágenes o personajes no definidos
  • Labels inalcanzables
  • Archivos de audio faltantes
  • Otros problemas potenciales

Corrige cualquier error antes de continuar. Las advertencias no son críticas pero deberían resolverse cuando sea posible.

Cambiando el icono

Reemplaza el icono predeterminado de Ren'Py con el tuyo.

text
mygame/               ← Directorio base (coloca los iconos aquí)
├── icon.ico          ← Windows (256x256 recomendado)
├── icon.icns         ← macOS
└── game/
    └── ...

Colócalos en el directorio base de tu proyecto (el padre de game/).

Ejecutando la compilación

Compilando desde el Launcher

  1. Selecciona tu proyecto en el Launcher de Ren'Py
  2. Haz clic en "Build Distributions"
  3. Selecciona qué paquetes compilar (todas las plataformas están seleccionadas por defecto)
  4. Cuando la compilación termine, se abre la carpeta de salida

Archivos de salida

Con la configuración predeterminada, se generan estos archivos:

ArchivoDestino
MyVisualNovel-1.0-pc.zipWindows + Linux
MyVisualNovel-1.0-mac.zipmacOS

El paquete pc incluye ejecutables para Windows y Linux. Los jugadores simplemente ejecutan el que corresponde a su sistema operativo.

Notas específicas por plataforma

Windows

No se necesita configuración especial. Extrae el zip y haz doble clic en el .exe. La plataforma más fácil.

macOS — El problema de Gatekeeper

macOS restringe las aplicaciones no firmadas. Desde macOS Sequoia (15.0), estas restricciones se han vuelto más estrictas.

Para lanzar un juego no firmado, los jugadores necesitan ejecutar esto en Terminal:

bash
xattr -r -d com.apple.quarantine /path/to/MyVisualNovel.app

Linux

Ejecuta el archivo .sh incluido en el paquete pc. Si no tiene permisos de ejecución, ejecuta chmod +x primero.

Android

Las compilaciones de Android usan RAPT (Ren'Py Android Packaging Tool).

  1. En el Launcher, ve a "Android""Install SDK"
  2. Se requiere JDK 21 (Adoptium recomendado)
  3. "Generate Keys" para crear claves de firma (haz respaldo de estas)
  4. "Configure" para establecer nombre de paquete, icono, etc.
  5. "Build" para generar un APK o AAB

Usa AAB (Android App Bundle) para Google Play, APK para distribución directa.

Web (Beta)

También puedes compilar una versión jugable en navegador.

  1. En el Launcher, ve a "Web (Beta)""Build Web Application"
  2. Abre index.html en la carpeta de salida para probar

Las compilaciones web son ideales para "Jugar en navegador" en itch.io, pero los tamaños de archivo grandes significan tiempos de carga más largos. Optimiza tus imágenes y audio.

Publicando en itch.io

Subida manual

  1. Crea una cuenta en itch.io
  2. Ve a Dashboard"Create new project"
  3. Completa los detalles del proyecto (título, descripción, etiquetas, etc.)
  4. Establece "Kind of project" en "Downloadable"
  5. Sube tus archivos zip compilados
  6. Establece etiquetas de plataforma (Windows / macOS / Linux) para cada archivo
  7. Haz clic en "Save & view page" para publicar

Para compilaciones web, establece "Kind of project" en "HTML", sube el zip y marca "This file will be played in the browser".

Auto-subida desde el Launcher

Agrega esto a options.rpy para subir directamente desde el Launcher:

renpy
define build.itch_project = "username/project-name"

Después de compilar, aparece un botón "Upload to itch.io". El primer uso te pedirá instalar e iniciar sesión en la herramienta CLI de itch (butler).

La auto-subida mapea archivos a canales de itch.io según patrones de nombre de archivo:

Patrón de archivoCanal
*-pc.zipwin-linux
*-mac.ziposx
*-linux.tar.bz2linux
*-release.apkandroid

Controlando archivos con build.classify()

La configuración predeterminada funciona para la mayoría de los casos, pero usa build.classify() cuando necesites excluir archivos o personalizar el archivado.

Excluyendo archivos de desarrollo

renpy
init python:
    # Excluir archivos de Photoshop e ilustración
    build.classify("**/*.psd", None)
    build.classify("**/*.clip", None)

    # Excluir notas de desarrollo
    build.classify("**/TODO.txt", None)

Establecer None excluye los archivos que coinciden con el patrón de la compilación.

Archivando archivos

Agrupa imágenes y audio en archivos .rpa para reducir la cantidad de archivos. Esto ayuda con el límite de 1000 archivos de itch.io para compilaciones web.

renpy
init python:
    build.classify("game/**.png", "archive")
    build.classify("game/**.jpg", "archive")
    build.classify("game/**.ogg", "archive")

Sintaxis de patrones

PatrónSignificado
*Cualquier carácter excepto separadores de directorio
**Cualquier carácter incluyendo separadores de directorio
/Separador de directorio

Los patrones se evalúan de arriba hacia abajo — la primera coincidencia gana. Coloca los patrones más específicos primero.

Conclusión

Lo que cubrimos:

  • Preparación de compilación: configuración de options.rpy, verificación Lint, reemplazo de icono
  • Ejecutando la compilación: unos pocos clics en el Launcher para generar archivos zip
  • Notas de plataforma: problemas de Gatekeeper en macOS, gestión de claves de firma en Android, tamaño de archivo en compilación web
  • Publicando en itch.io: subida manual y auto-subida desde el Launcher
  • build.classify(): excluyendo archivos de desarrollo, archivando y el truco del prefijo #

Para lo básico de Ren'Py, consulta la guía de inicio. Para opciones y ramificaciones, consulta la guía de opciones. Para agregar BGM y efectos de sonido, consulta la guía de audio.

Recursos oficiales:

  • Building Distributions — referencia oficial de compilación
  • Android — detalles de compilación para Android
  • Web — detalles de compilación web
  • itch.io — plataforma de distribución de juegos independientes
  • r/RenPy — comunidad