Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manualrenpy 101108104640 Phpapp02
Manualrenpy 101108104640 Phpapp02
Bienvenido al manual de inicio rpido del ren`py. El proposito de este manual es demostrarte como
puedes hacer un juego con ren`pi desde cero en unos pocos pasos. Bueno, vamos a hacer esto
mientras creamos un simple juego, The Question, desde cero. Este manual contiene una serie de
ejemplos, que se incluyen como parte del demo
Ren`Pi Launcher
Antes de empezar a hacer un juego, primero te debes tomar algn tiempo para aprender cmo
funciona el lanzador Ren'Py. El lanzador le permite crear, gestionar, editar y ejecutar proyectos
Ren'Py.
Primeros pasos. Para empezar tendrs que descargar y descomprimir Ren'Py. A continuacin, inicia
el lanzador renpy mediante la ejecucin del programa (renpy.sh)
La eleccin del proyecto. Seguramente desearas ver un proyecto completado . Para ello, ejecuta
Ren'Py y elije "Select Proyect". Elige "the_question". Regresaras al men principal, y ahora
selecciona la opcin "Launch" para iniciar el demo.
Puedes jugar a la demo Ren'Py haciendo lo mismo, pero eligiendo "demo" en lugar de
"the_question".
Creacin de un nuevo proyecto. Crea un nuevo proyecto seleccionando "New project" en el
lanzador. El lanzador te pedir que selecciones una plantilla. Elije "template". A continuacin, el
lanzador te pedir un nombre de proyecto. Ya que "the_question" ya est en uso, debes tratar con
algo diferente, como "my_question". A continuacin, el lanzador te solicitar que elijas un tema de
color para el proyecto. No importa lo que elijas en este momento, elije algo que te atraiga.
Regresaras al menu principal pero con el juego nuevo seleccionado.
Un simple juego
label start:
"I'll ask her..."
"Me" "Um... will you..."
"Me" "Will you be my artist for a visual novel?"
"Silence."
"She is shocked, and then..."
"Sylvie" "Sure, but what is a \"visual novel?\""
Este es quizs uno de los juegos ms sencillos Ren'Py. No incluye ninguna imagen ni nada por el
estilo, pero s muestra una conversacin entre los dos personajes.
Para probar esto, entra en el lanzador, el cambio al proyecto "my_question" , y elegir "Edit Script".
Esto abrir el archivo de secuencia de comandos en un editor de texto. Elije el archivo script.rpy, y
borra todo lo que contiene. Estamos empezando de cero, de modo que no necesitas lo que est all.
Copia el ejemplo anterior en script.rpy, y guardarlo.
Ya est listo para ejecutar este ejemplo. Regresa al lanzador, y da clic en Launch. Ren'Py se iniciar.
Observa cmo, sin hacer ningn trabajo, Ren'Py te ha dado mens que te permiten cargar y guardar
el juego, y cambiar varias preferencias. Cuando ests listo, da clic en "Start Game", y juega a travs
de este ejemplo de juego.
Este ejemplo muestra algunas de las declaraciones comnmente utilizadas en Ren'Py.
La primera lnea es una declaracin Label (etiqueta en espaol).- Label se utiliza para asignar un
nombre a un lugar en el programa. En este caso, crear un label llamada "start". Label start es
especial, ya que es cuando empezarn a publicarse los scripts Ren'Py cuando el usuario hace clic en
"Start Game" en el men principal.
Las otras lneas son declaraciones.- Hay dos formas. La primera es una frase por s misma, que se
utiliza para la narracin y los pensamientos del personaje principal. La segunda forma consiste en
dos partes y se utiliza para el dilogo, la primera parte de caracteres menciona un nombre y la
segunda es lo que est diciendo-ej:"Me"(primera parte con el nombre del personaje) "Will you be
my artist for a visual novel?"(segunda parte, con la linea del guin) .
Tenga en cuenta que todas las declaraciones tienen una sangria de cuatro espacios. Esto es porque
son un bloque bajo la etiqueta de declaracin label. En Ren'Py, los bloques deben ser identificados
con la declaracin previa, y todas las declaraciones en un bloque deben tener una sangria del mismo
tamao.
Cuando los personajes contengan cadenas dobles deben ser precedidos de una barra. Esto se hace
en la ltima lnea de nuestro ejemplo (o sea aqui: "Sylvie" "Sure, but what is a \"visual novel?\"".)
init:
$ s = Character('Sylvie', color="#c8ffc8")
$ m = Character('Me', color="#c8c8ff")
label start:
"I'll ask her..."
m "Um... will you..."
m "Will you be my artist for a visual novel?"
"Silence."
"She is shocked, and then..."
s "Sure, but what is a \"visual novel?\""
La primera lnea es una declaracin init , que se utiliza para introducir un bloque de inicio. Los dos
guiones despus de la declaracin de inicio se ejecutan cuando el juego se inicia por primera vez. El
inicio de bloque se utiliza para la declaracin de personajes, las variables, y las imgenes. Cdigo
interactivos no estn permitidas en el bloque de inicio.
La segunda y tercera lneas de definicin de personajes. La segunda lnea define un personaje con el
nombre corto "s", el nombre largo de "Sylvie", con un color verdoso. (Los colores son rojo, verde y
azul hexadecimal triples, tal como se utiliza en pginas web. Puedes tambien obtenerlos en algunas
configuraciones de color del sistema o en la seleccion de color de algun editor de imagenes)
La tercera lnea crea un personaje con un nombre corto "m", un nombre largo de "Me", y de color
rojizo. Otros caracteres pueden ser definidos por una copia de las lneas de carcter, y cambiar el
nombre corto, nombre largo, y el color.
Tambin hemos cambiado el uso de los nombres de los personajes por una cadena de caracteres (en
este caso por ejemplo Silvie por s) . Esto le dice Ren'Py que utilice los caracteres que hemos
definido en el bloque de inicio.
Imagenes
Una novela visual no es visual sin imagenes, asi que vamos a colocarle imagenes a nuestro juego.
init:
image bg meadow = "meadow.jpg"
image bg uni = "uni.jpg"
image sylvie smile = "sylvie_smile.png"
image sylvie surprised = "sylvie_surprised.png"
$ s = Character('Sylvie', color="#c8ffc8")
$ m = Character('Me', color="#c8c8ff")
label start:
scene bg meadow
show sylvie smile
"I'll ask her..."
m "Um... will you..."
m "Will you be my artist for a visual novel?"
show sylvie surprised
"Silence."
"She is shocked, and then..."
show sylvie smile
s "Sure, but what is a \"visual novel?\""
Lo p rimero que hay que hacer es declarar a las imgenes, utilizando la declaracion de imagen en
las lneas 2, 3, 5 y 6, en el interior del bloque init. Estas declaraciones dan un nombre a la imagen,
y tambien el nombre del archivo se ingresa en ese lugar.
Por ejemplo, en la lnea 5 se declara una imagen llamada "sylvie smile", que se encuentra en el
nombre del archivo "sylvie_smile.png", con la etiqueta "sylvie".
Tenemos una declaracin de escena en la lnea 12. Esta declaracin muestra en la pantalla la imagen
del contexto de escena (en terminos simples de fondo) "bg meadow". La siguiente lnea muestra
la imagen "sylvie smile" en la pantalla.
La primera parte del nombre de la imagen es la marca . Si se muestra una imagen y a continuacion
otra imagen con la misma etiqueta en la pantalla, la imagen acual se sustituye por la siguiente. Esto
ocurre en la lnea 19. Antes de la lnea 19 se muestra la imagen "sylvie smile" es en la pantalla. Pero
cuando se ejecuta la lnea 19, la imagen se reemplaza con "sylvie surprised", ya que comparten la
etiqueta "sylvie".
Para que Ren'Py pueda encontrar los archivos de imagen, deben ser colocados en el directorio del
del proyecto actual. El directorio del juego se puede encontrar en "<nombre del proyecto>/game/",
o haciendo clic en el boton "Game Directory" en el lanzador. Puede que desees copiar los archivos
de imagen de "the_question / game /" en el directorio "my_question / game /" y asi poder ejecutar
este ejemplo.
Ren'Py no hace ninguna distincin entre el personaje y la imagen de fondo, ya que ambos estn
tratados como imgenes. En general, el arte del personaje tiene que ser transparente, lo que debe
ser un archivo PNG. Los fondos pueden ser archivos JPEG o PNG. Por convenio, las imgenes de
fondo deboen comenzar con "bg" (ej. bg meadow).
Estado Hide(ocultar).- Ren'Py tambin soporta el comando hide, que esconde la imagen.
s "I'll get right on it!"
hide sylvie
"..."
m "That wasn't what I meant!"
Es poco comun que necesites utilizar este comando ahora, puedes usar show cuando quieras hacer
cambiar la exprecion de un personaje. El cambio de escena se usa cuando todos se van. Solo
necesitaras usar hide cuando los demas personajes se vayan y desees que la escena continue igual.
Transiciones
Tener solamente las imagenes entrando y saliendo es un poco aburrido as que Ren'Py ejecuta
transiciones que pueden hacer los cambios en la pantalla ms interesantes. Las transiciones cambian
el final de la ltima interaccin (dilogo, mens, o en transicin), a lo que aparece despus de
cualquier comando scene, show y hide.
label start:
scene bg uni
show sylvie smile
s "Oh, hi, do we walk home together?"
m "Yes..."
"I said and my voice was already shaking."
scene bg meadow
with fade
"We reached the meadows just outside our hometown."
"Autumn was so beautiful here."
"When we were children, we often played here."
m "Hey... ummm..."
show sylvie smile
with dissolve
"She turned to me and smiled."
"I'll ask her..."
m "Ummm... will you..."
m "Will you be my artist for a visual novel?"
Cuando se coloca una transicin despus de mltiples comandos scene, show, o hide, se
aplica todos a la vez. Si fuera a escribir:
scene bg meadow
show sylvie smile
with dissolve
Tanto "bg meadow" y "sylvie smile" se disuelven al mismo tiempo. Para disolver en una a la vez,
tendr que escribir con dos comandos
scene bg meadow
with dissolve
show sylvie smile
with dissolve
Aqu, None se usa para indicar una transicin que actualiza Ren'Py la idea de la escena anterior,
sin mostrar nada al usuario.
Posiciones
De forma predeterminada, las imgenes se muestra centrado horizontalmente, y con su borde
inferior tocando el inferior de la pantalla. Esto por lo general est bien para los fondos y personajes,
pero cuando se muestran ms de un personaje en la pantalla, probablemente es mejor hacerlo en
otra posicin. Tambin es util recolocar un personaje para fines de la historia historia.
show sylvie smile at right
Musica y Sonidos
La mayora de los juegos reproducen msica en segundo plano. En Ren'Py los archivos de msica
se reproducen automticamente en bucle hasta que el usuario los detenga. La msica se reproduce
por el comando play music.
play music "illurock.ogg"
Cuando se cambie la msica, se puede suministrar un comando fadeout, que se utiliza para
desaparecer la antigua msica cuando se toca msica nueva.
play music "illurock.ogg" fadeout 1.0
La msica puede ser detenida con el comando stop music, aunque tambin se puede usar
opcionalmente el comando fadeout.
stop music
Ren'Py soporta varios formatos de musica y sonido, pero prefiere OGG Vorbis es el preferido.
Al igual que los archivos de imagen, sonido y archivos de msica debe ser colocado en el directorio
de juego.
Terminando el juego
Se puede terminar el juego ejecutando el comando return. Pero antes de hacer esto, lo mejor es
indicar que el juego est llegando a su fin, y dar al usuario un nmero o nombre de final.
".:. Good Ending."
return
Eso es todo lo que necesitas para hacer una novela cintica, un juego sin ningn tipo de opciones en
ella. Ahora, veremos lo que se necesita para hacer un juego que presenta mens para el usuario.
Este ejemplo muestra cmo se utilizan los mens con Ren'Py. El menu comando introduce un menu
dentro del juego. El comando menu consiste en un grupo de lineas, cada uno compuesto de una
cadena seguida de dos puntos. Estas son las opciones de men que se presentan al usuario. Cada
opcin del men debe ir seguida de un bloque de uno o mas comandos Ren'Py. Cuando se elige una
opcin, las declaraciones siguientes que se ejecutan.
En nuestro ejemplo, cada opcin del men es un comando jump. El comando jump transfiere el
control a una etiqueta definida mediante el comando label al siguiente cdigo -label- a ejecutar.
En nuestro ejemplo anterior, despus de Sylvie hace su pregunta, al usuario se le presenta un men
que contiene dos opciones. Si el usuario elige "It's a story with pictures.", El primer comando
jump se ejecuta, y el control se transfiere al comando label vn. Esto har que el personaje diga
"Es una historia con imgenes y msica.", Despus, el control se transfiere a label marrymediante
el comando jump marry
Las etiquetas (labels) pueden ser definidas en cualquier archivo que se encuentra en el directorio de
juego, y termina con .rpy. El nombre del archivo no importa a Ren'Py, slo las etiquetas que figuran
en l. Una etiqueta slo puede aparecer en un solo archivo.
Comandos If y Python
Si el juego es sencillo (e incluso poco complejo) se puede hacer utilizando slo el salto, con mens
y declaraciones, despus de un punto se hace necesario almacenar las elecciones del usuario en las
preguntas, y acceder a ellos de nuevo ms tarde. Para esto sirve el comando python.
Python se puede ejecutar de dos maneras. Una con una lnea que comienza con un signo de dlar es
un comando python, mientras que la palabra clave "python:" se utiliza para introducir un bloque
de estados python.
Python hace fcil almacenar marcas en respuesta a la eleccion del usuario. Slo inicializar el
marcador al inicio del juego:
label start:
$ bl_game = False
A continuacin, puede cambiar el cdigo del marcador que es elegido en los mens:
label hentai:
$ bl_game = True
m
s
s
s
jump marry
Y comprobarlo despues:
"And so, we became a visual novel creating team."
"We made games and had a lot of fun making them."
if bl_game:
"Well, apart from that boy's love game she insisted on making."
"And one day..."
Por supuesto, python no tiene que tener los valores de true / False obligatoriamente. Ellos pueden
variar por cualquier valor deseado. Se puede utilizar para almacenar el nombre del jugador, para
almacenar una puntuacin de puntos, o para cualquier otro propsito. Desde que Ren'Py incluye la
capacidad de utilizar le lenguaje de programacin Python, muchas cosas son posibles.