This page is out of date

You've reached a page on the Ren'Py wiki. Due to massive spam, the wiki hasn't been updated in over 5 years, and much of the information here is very out of date. We've kept it because some of it is of historic interest, but all the information relevant to modern versions of Ren'Py has been moved elsewhere.

Some places to look are:

Please do not create new links to this page.


Pensando en Ren'Py

Ren'Py Es Fácil

Ren'Py es probablemente el método más sencillo para escribir una novela gráfica que existe. Aún así, mucha gente tiene miedo cuando mira el script de Ren'Py por primera vez. ¿Cómo es posible?

La respuesta es simple: Ren'Py está diseñado para crear novelas gráficas completas lo más sencillo posible. No está diseñado para crear novelas gráficas iniciales lo más sencillo posible. ¿Cuál es la diferencia? Una novela gráfica es una larga y compleja historia. Una herramienta sencilla para proyectos pequeños se interpone a la hora de hacer proyectos más grandes. Piensa en una paleta de mano y en una pala: Si quieres plantar una petunia en una maceta, la paleta de mano servirá para el propósito. Pero si tú quieres plantar un árbol en un agujero en el jardín, con la pala terminarás mucho antes que con una paleta de mano. No es que uno de ellos sea más útil que el otro: Son útiles para los problemas a los que se enfrentan cada uno.

Y no nos engañemos: escribir una novela gráfica es como plantar un árbol. Una novela gráfica que transcurre en media hora puede contener sin problemas unas 10.000 palabras y varias ramas. Escribir una historia con 10.000 palabras y con múltiples ramas y que se recombinen es todo un trabajo. Muchos juegos hechos con Ren'Py tiene como 30.000 palabras. Novelas gráficas hechas por profesionales tienen más de 100.000 palabras. Eso sí que es trabajo de verdad.

El objetivo de Ren'Py es que se requiera el menor trabajo extra que sea posible. Por eso Ren'Py puede parecer complicado al principio. Las características de Ren'Py de poder encargarse sin dificultad de una novela gráfica de 50.000 palabras puede parecerte inútil cuando solamente llegues a las 50. Pero si continúas, verás que tarde o temprano te resultará incluso necesario.

Así que, a pesar de que Ren'Py pueda parecer complicado al principio, confía en que Ren'Py es la herramienta más sencilla para escribir una novela gráfica. Principalmente porque cuando comiences, vas a estar batallando con la trama, los personajes, las elecciones y sus ramas. Entonces es cuando te acostumbrarás al script de Ren'Py, tanto que ni siquiera lo notarás.

(Escrito originalmente por Chris Lansdown)

Programando

No es necesario que sepas programar para usar Ren'Py. Sin embargo, es cierto que necesitarás al menos saber algunas declaraciones de programación en pyton. No te preocupes, en este tutorial te enseñaremos todas las declaraciones que necesitas para el juego. Luego podrás copiarlo o modificarlo. Te explicaremos cómo hacerlo.

No es necesario que entiendas todoel código pyton para escribir una novela gráfica; puedes elegir solamente copiar y pegar.

Si eres programador, o tienes uno en tu equipo, puedes ir directamente a aprender el código pyton que necesites, aunque no ganarás mucho con ello. Por otro lado si quieres usar pyton para crear algo novedoso y original, te mostraremos enlaces en el manual de referencia.

Espacios y bloques

El mayor problema con los ordenadores y por consiguiente con Ren'Py, es que no son inteligentes. Los ordenadores no pueden comprender la comunicación humana, así que tenemos que hacer que el ordenador nos entienda. Sabemos que no es justo, pero en cualquier relación, el que menos tiene que perder, gana. Y como el ordenador es un objeto inanimado, no tiene nada que perder.

Así que tendremos que averiguar otros métodos para comunicarnos con el ordenador y que nos entienda. Realmente no es tan difícil. Por ejemplo, usaremos variables para mantener valores. Además estamos acostumbrados a darle nombres a cualquier cosa, así que no nos va a complicar mucho la tarea. Escribiendo algo así:

$ regalo = "traje de baño"

es un poco raro, pero es una manera formalizada de lo que vamos a hacer. En este caso, es como decir "Voy a regalarle un traje de baño a mi novia" exceptuando que más que español o inglés, es "ordenadorés".

Hasta ahí bien, pero el principal problema de comunicarnos con el ordenador es el contexto. Estamos tan acostumbrado a ello que casi ni le damos importancia. Es como cuando dices "Me he comido un dulce" y "Es una persona muy dulce", sabes que en el primer caso, con dulce, se refiere a un postre y en el segundo caso se refiere a que es una persona amable y cariñosa por ejemplo. Lo conoces gracias al contexto: Normalmente un Dulce te lo comes, y no es que comas amabilidad o cariño, mientras que en el segundo caso una persona no puede ser un postre. Los ordenadores no entienden de contexto, así que tendremos que buscar maneras de engañarle.

Ren'Py usa espacios para solucionar este problema. Estos espacios se colocan al principio de la frase. Por ejemplo:

"Esta línea no tiene espacios."
    "Esta línea tiene 4 espacios."
        "Esta línea tiene 8 espacios."
    "Esta línea tiene también 4 espacios."
            "Y Esta línea tiene 12 espacios."
"Finalmente esta línea no tiene espacios."

En Ren'Py, usamos esto para darle contexto al motor Ren'Py, y así puede saber a qué nos referimos. Todas las declaraciones dentro de un mismo (o mayor) número de espacios están en el mismo contexto. Nosotros le llamamos a esto "bloques". Por ejemplo, ahora hablaremos sobre el "bloque initi". Esto indica las líneas que están incluídas en la declaración init:

init:
    # Esta línea está en el bloque init
    # Esta línea también está en el bloque init
# Pero esta línea NO está en el bloque init

También es posible hacer nidos con los bloques como esas muñecas rusas que se abren para mostrar una similar más pequeña:

init:
    # Esta línea está en el bloque init
    # Esta línea también está en el bloque init
    python:
        # Esta línea está tanto en el bloque python como en el bloque init
        # como está escrito aquí, es imposible estar en el bloque python
        # pero no estar en el bloque init.
    # Esta línea aún sigue en el init block, pero no en el bloque python,
    # así que ahora decimos que el bloque python está "cerrado", ya que
    # no hay más declaraciones en el bloque python, pero podemos seguir
    # en el bloque init de esta manera.
# Esta línea NO está en el bloque init

No te preocupes si no has entendido perfectamente el sistema de espacios y bloques. Terminará por tener sentido una vez sigas leyendo el tutorial y veas verdaderos ejemplos en Ren'Py. :)