32blogby Studio Mitsu

Primeros Pasos con Ren'Py 8.5: De la Instalación a tu Primera Compilación

Configura Ren'Py 8.5, crea tu primer proyecto, escribe una escena con opciones y compila archivos distribuibles. Cubre Windows, macOS y Linux.

by omitsu12 min read
Contenido

Quieres hacer una novela visual o un juego de aventura de texto. Pero Unity y Godot se sienten excesivos. Ahí es donde entra Ren'Py — un motor gratuito, de código abierto y basado en Python que incluye visualización de texto, opciones de ramificación, guardar/cargar y distribución desde el primer momento.

Ren'Py impulsa títulos comerciales como DDLC (Doki Doki Literature Club!) y miles de juegos independientes en itch.io. Si sabes programar, puedes extenderlo con sistemas personalizados como gestión de estadísticas o exploración de mapas usando Python puro. El código fuente del motor está disponible en GitHub bajo la licencia MIT.

Esta guía te lleva a través de Ren'Py 8.5.2 (lanzado en enero de 2026) — desde la instalación del SDK hasta compilar tu primer archivo de juego distribuible.

Qué es Ren'Py

Ren'Py es un motor de juegos de código abierto para novelas visuales y aventuras de texto. Lanzado por primera vez en 2004, tiene más de 20 años de historia.

Así se compara con otros motores:

MotorMejor paraCurva de aprendizaje
Ren'PyNovelas visuales, aventuras de textoBaja (basado en Python)
UnityJuegos 2D/3DAlta (C#, editor)
GodotJuegos 2D/3DMedia (GDScript)
RPG MakerRPGsBaja (basado en GUI)

La fortaleza de Ren'Py es que la visualización de texto, opciones de ramificación, guardar/cargar y registro de diálogos están incorporados desde el primer día. No tienes que construir esto desde cero.

Descarga e instala el SDK

Descarga el SDK del sitio oficial de Ren'Py. La última versión estable a marzo de 2026 es 8.5.2.

Descarga renpy-8.5.2-sdk.7z.exe (~116 MB) desde la página de descarga.

Pasos de instalación:

  1. Haz doble clic en el .7z.exe para extraerlo
  2. Elige una ruta de extracción (ej., C:\renpy\renpy-8.5.2-sdk)
  3. Abre la carpeta extraída y haz doble clic en renpy.exe para lanzar el launcher de Ren'Py

Si el launcher se abre, estás listo.

Estructura del directorio del SDK

La carpeta del SDK extraída contiene lo siguiente:

text
renpy-8.5.2-sdk/
├── renpy.exe / renpy.sh   # Ejecutable del launcher
├── lib/                    # Entornos Python específicos por plataforma
├── renpy/                  # Código fuente del motor Ren'Py
├── launcher/               # Aplicación del launcher
├── tutorial/               # Juego tutorial oficial
└── the_question/           # Juego de ejemplo "The Question"

tutorial/ y the_question/ son proyectos de ejemplo que puedes lanzar directamente desde el launcher de Ren'Py. Pruébalos para tener una idea de cómo funcionan las cosas.

Configura tu editor de código

Los scripts de Ren'Py (archivos .rpy) son texto plano. Si usas VS Code, instala la extensión oficial para resaltado de sintaxis y autocompletado.

Pasos:

  1. Abre el panel de Extensiones (Ctrl+Shift+X / Cmd+Shift+X)
  2. Busca "Ren'Py"
  3. Instala Ren'Py Language (Official) (Marketplace)

Esto te da:

  • Resaltado de sintaxis para archivos .rpy
  • Autocompletado de palabras clave
  • Ir a Definición (F12)
  • Detección de errores de indentación

En el launcher de Ren'Py, ve a "preferences" → "Text Editor" y establece la ruta de tu editor. Esto te permite abrir archivos .rpy directamente desde el launcher.

Crea tu primer proyecto

Crea un nuevo proyecto desde el launcher:

  1. Haz clic en "Create New Project"
  2. Ingresa un nombre de proyecto (ej., mygame)
  3. Selecciona una resolución (1280x720 es lo recomendado. Usa 1920x1080 si quieres Full HD)
  4. Elige un esquema de colores (colores de acento y fondo — puedes cambiarlos después en gui.rpy)

La carpeta mygame se generará en segundos.

Estructura del proyecto

text
mygame/
└── game/
    ├── audio/       # BGM y efectos de sonido
    ├── gui/         # Imágenes de GUI (auto-generadas)
    ├── images/      # Fondos y sprites de personajes
    ├── tl/          # Archivos de traducción
    ├── gui.rpy      # Configuración de GUI (fuentes, colores, diseño)
    ├── options.rpy   # Configuración del juego (título, resolución, config de compilación)
    ├── screens.rpy   # Definiciones de pantalla (menús, pantalla de guardado, etc.)
    └── script.rpy    # Script principal (aquí va tu juego)

Escribirás tu código de juego principalmente en script.rpy. A medida que tu proyecto crezca, puedes dividir el código en múltiples archivos .rpy — Ren'Py carga automáticamente todos los archivos .rpy en la carpeta game/.

Escribe tu primera escena

Abre game/script.rpy y reemplaza el código predeterminado con esto:

renpy
# Definiciones de personajes
define s = Character("Sakura", who_color="#c8ffc8")
define y = Character("Yuki", who_color="#c8c8ff")

# Inicio del juego
label start:

    # Mostrar fondo
    scene bg room
    with fade

    # Diálogo
    s "Por fin terminamos el juego."

    y "Fue un largo camino... pero está funcionando."

    # Opciones
    menu:
        s "¿Qué hacemos ahora?"

        "Agregar más funciones":
            jump add_feature

        "Descansar un poco":
            jump rest

label add_feature:
    y "Bien, vamos a implementar el sistema de exploración de mapas."
    "Los dos siguieron desarrollando hasta tarde en la noche."
    return

label rest:
    s "Dejémoslo por hoy."
    "Decidieron descansar y continuar mañana."
    return

Desglosemos esto.

Definiciones de personajes

renpy
define s = Character("Sakura", who_color="#c8ffc8")

define declara una constante que no cambia durante el juego. Character crea un objeto de personaje con un nombre de visualización y color. Una vez definido, s "diálogo" muestra el texto con el nombre del personaje.

Labels y jumps

renpy
label start:
    ...

label add_feature:
    ...
    return

label marca un punto en tu script. label start: es un nombre reservado — es donde Ren'Py comienza la ejecución. jump se mueve entre labels, y return termina el juego.

Mostrando fondos

renpy
scene bg room
with fade

scene limpia la pantalla y muestra una imagen de fondo. with fade agrega un efecto de aparición gradual. Ren'Py busca automáticamente archivos coincidentes en game/images/ — en este caso, un archivo llamado bg room.png (los espacios en el nombre del archivo corresponden a espacios en el nombre de la imagen). Consulta la documentación oficial de visualización de imágenes para más detalles.

Opciones y ramificaciones

renpy
menu:
    s "¿Qué hacemos ahora?"

    "Agregar más funciones":
        jump add_feature

    "Descansar un poco":
        jump rest

El bloque menu: muestra opciones al jugador. El código indentado bajo cada opción se ejecuta cuando se selecciona esa opción. Usar jump para ir a diferentes labels crea líneas de historia ramificadas.

Gestión de flags con variables

Para rastrear los resultados de las opciones, declara variables con default:

renpy
# Las variables que cambian durante el juego usan default
default motivation = 0

label start:
    menu:
        "Trabajar duro":
            $ motivation += 1
            jump next
        "Descansar":
            jump next

label next:
    if motivation > 0:
        "¡Estás lleno de energía!"
    else:
        "Pareces un poco cansado."
    return

default declara una variable que persiste correctamente a través de guardar/cargar. $ ejecuta una sola línea de código Python.

Prueba de ejecución

Vuelve al launcher, selecciona tu proyecto y haz clic en "Launch Project". El juego comenzará y reproducirá la escena que escribiste.

Si no has agregado imágenes de fondo, la pantalla estará negra en scene bg room — pero el diálogo y las opciones funcionarán bien. Es práctica estándar probar scripts sin arte primero y agregar imágenes después.

Compila y distribuye

Una vez que tu juego funciona correctamente, genera archivos distribuibles.

Configuración previa a la compilación

Abre game/options.rpy y verifica estas configuraciones:

renpy
# Título del juego (se muestra en la barra de título de la ventana)
define config.name = _("My First Game")

# Nombre de compilación (usado en nombres de archivo)
define build.name = "MyFirstGame"

build.name se usa en los nombres de archivo de salida, así que no incluyas espacios ni caracteres no ASCII.

Ejecutando la compilación

  1. Selecciona tu proyecto en el launcher
  2. Haz clic en "Build Distributions"
  3. Selecciona los objetivos de compilación (todas las plataformas están seleccionadas por defecto)
  4. Haz clic en "Build"
  5. La carpeta de salida se abre automáticamente cuando la compilación termina

La compilación produce estos archivos:

ArchivoDestino
MyFirstGame-1.0-win.zipWindows
MyFirstGame-1.0-mac.zipmacOS (Intel y Apple Silicon)
MyFirstGame-1.0-linux.tar.bz2Linux

Estos archivos ZIP son autocontenidos — los destinatarios pueden ejecutar el juego sin instalar Ren'Py. Subir a itch.io es la forma más común de distribuir juegos de Ren'Py.

Preguntas Frecuentes

¿Ren'Py es gratis?

Sí. Ren'Py es gratuito y de código abierto bajo la licencia MIT. Puedes usarlo para proyectos comerciales y no comerciales sin pagar regalías ni tarifas de licencia.

¿Puedo vender juegos hechos con Ren'Py?

Por supuesto. La licencia MIT permite la distribución comercial. Títulos como Doki Doki Literature Club! y muchos otros juegos comerciales en Steam e itch.io están hechos con Ren'Py. Te quedas con el 100% de los ingresos.

¿Qué lenguaje de programación usa Ren'Py?

Ren'Py tiene su propio lenguaje de scripting .rpy diseñado para diálogos y ramificaciones. Internamente ejecuta Python 3.12, y puedes escribir código Python directamente dentro de archivos .rpy usando $ para líneas individuales o bloques python: para código más largo.

¿Ren'Py soporta Android e iOS?

Sí. Ren'Py puede compilar para Android directamente desde el launcher usando RAPT (Ren'Py Android Packaging Tool). Las compilaciones para iOS requieren una Mac con Xcode. Consulta la documentación oficial de iOS para más detalles.

¿Puedo usar Ren'Py sin experiencia en programación?

Sí, para novelas visuales básicas. El lenguaje .rpy está diseñado para ser legible — escribir diálogos, agregar opciones y mostrar imágenes requiere código mínimo. Para mecánicas más complejas como sistemas de estadísticas o minijuegos, algo de conocimiento de Python ayuda. El tutorial oficial incluido en el SDK es un excelente punto de partida.

¿Cómo agrego imágenes a mi proyecto Ren'Py?

Coloca archivos de imagen (PNG, JPG o WebP) en la carpeta game/images/. Ren'Py mapea automáticamente los nombres de archivo a nombres de imagen — bg park.png se convierte en la imagen bg park que puedes referenciar con scene bg park. Revisa Básicos de Imágenes para una guía completa sobre sprites de personajes, imágenes en capas y transiciones.

¿Cuál es la diferencia entre Ren'Py 7 y 8?

Ren'Py 8 usa Python 3 (actualmente 3.12), mientras que Ren'Py 7 usa Python 2. Ren'Py 8 es recomendado para todos los proyectos nuevos. La guía de migración cubre las diferencias, pero la mayoría de los scripts .rpy funcionan sin cambios entre versiones.

Conclusión

Esto es lo que cubrimos:

  • Configuración del SDK: Descargamos 8.5.2 del sitio oficial y lo extrajimos
  • Configuración del editor: VS Code + extensión Ren'Py Language para resaltado de sintaxis y autocompletado
  • Creación de proyecto: Creamos un nuevo proyecto desde el launcher y exploramos la estructura de directorios
  • Escritura de scripts: Definiciones de personajes, fondos, diálogo, opciones de ramificación y gestión de flags basada en variables
  • Compilación: Generamos archivos distribuibles como archivos ZIP

Con esta base, puedes ejecutar el ciclo completo de desarrollo en Ren'Py. Próximos pasos:

Recursos oficiales:

Artículos relacionados: