class_11

La App Makers

Hola a todos!!! Al fin pude hacer correctamente la instalación del maldito Windows 10. Agradezco a todos quienes siguen este hilo y a quienes me hicieron las primeras donaciones en este foro!!!

El día de hoy, nos vamos a inmiscuir en la modificación de parámetros básicos de nuestro juego, en el que les daré una explicación más clara del script responsable de estos parámetros : el script “options.rpy”. Vamos a personalizar nuestro proyecto… Ahora!


1. CONOCIENDO AL SCRIPT “options.rpy”

[Screenshot extracto del Script por defecto “options.rpy”]

Todos los scripts que genera Ren’Py al crear por primera vez tu proyecto, vienen comentados con información relevante en el código por defecto.
Los comentarios son cualquier texto antecedido por un símbolo Hash (#). En este post te especifcaré con más detalle la información proporcionada por los comentarios dentro de ese script.

Pero yendo al grano, este script es el responsable de ajustar los detalles preliminares de tu juego/novela visual. Desde aquí puedes dar instrucciones al motor para preparar el arranque del juego, o la compilación final del mismo.
Los parámetros básicos que observaremos en este Script, son :

A) config.name = String :

Esta variable recoje una cadena de texto (String) con el nombre que le das a tu juego. La variable muestra este nombre en la parte superior de la ventana del juego (en PC), en el menú principal del juego y en los archivos Traceback que reportan los errores de código existentes en tu juego. No es necesario ocupar el “_()” ya que este se usa para señalar a esa String como un texto traducible (Ren’Py cuenta con una característica para traducir el juego).


B) gui.show_name = Estado :

Esta variable determina si el nombre escrito en “config.name” se muestra en el menú principal (True) o si lo oculta (False).


C) config.version = String :

Esta variable recoge mediante una cadena de texto, la versión de tu juego, que luego será mostrada en los archivos de error, menú principal y menú “Acerca de”.


D) gui.about = String triple :

Esta variable mostrará los créditos o cualquier texto que quieras mostrar en el menú “Acerca de”. Las comillas triples permiten que no escribas una línea extensa de texto hacia el infinito. Si presionas Enter y continuas en la línea inferior, también se considerará como parte de la String.


E) build.name = String :

Esta variable recoge el nombre breve que recibirá el archivo “.exe” (MS Windows) o “.sh” (Linux) cuando generes una compilación para PC con la característica “Generar distribuciones”.


F) config.has_sound = Estado, config.has_music = Estado, config.has_voice = Estado :

Está variable es responsable de mostrar los mezcladores de sonido en el menú “Ajustes” del juego. Recordemos que tenemos 3 canales de sonido en Ren’Py :

  • Canal de Sonido = config.has_sound.
  • Canal de Música = config.has_music.
  • Canal de Voces (Doblaje de diálogos) = config.has_voice.

Si la variable es True, se muestra el máster, y si es False, se oculta de los ajustes.


G) config.sample_sound = String, config.sample_voice = String :

Esta variable recoge mediante una string, la ruta de un archivo de sonido que esté al interior de la carpeta “/game” de tu juego, que luego se usará en el menú “Ajustes” con un botón que pone “Probar” al costado del máster de Sonido correspondiente, para que el jugador pueda probar el volumen de ese canal. Si presionas ese botón en el menú, siendo el de “sound” o el de “voice”, el archivo indicado en la String se reproducirá en el canal que corresponde. Es opcional agregar esto al juego. Si quieres ocuparla, debes descomentar (quitar el símbolo #).


H) config.main_menu_music = String :

Está variable recoge con una String, la ruta de un archivo de audio que se reproducirá cada vez que el jugador esté en el menú principal. Este audio no se reproduce si accedes al menú principal mientras estás jugando en la novela. Descomenta el código para escribir la String con la ruta de la pista musical.


I) TRANSICIONES :

Mediante estas variables, puedes definir los efectos de transición que se mostrarán al ir de una capa del juego a otra, como cuando te desplazas de un menú a otro, cuando cargas una partida guardada del juego o cuando finalizas el juego (pasando por return). Las transformaciones permitidas para estas transiciones son fade (Disuelve la capa en un fondo negro) y dissolve (Disuelve la capa en la capa nueva).


J) config.window_show_transition = Instancia / config.window_hide_transition = Instancia :

Estas variables controlan la capa que muestra el cuadro de diálogos en la novela. Utiliza la instancia de la clase Dissolve() para disolver el cuadro de diálogos al escribir window hide (esconder ventana) o window show (mostrar ventana) en el script de los diálogos de la novela.


K) preferences.text_cps = Valor :

Esta variable, señala los “Character Per Seconds” (Caracteres por segundo) a los que se muestra el texto de los diálogos en la pantalla. En el menú “Ajustes” el jugador puede ajustar la velocidad a su gusto mediante un deslizador.
Una valor alto supone mayor velocidad de muestreo de las letras de los diálogos.
Como recomendación personal, un valor por defecto de 170 le viene bastante bien!


L) preferences.afm_time = Valor :

Esta variable trabaja con el “texto a modo automático” del juego, que si lo activa el jugador, podrá leer los diálogos sin clickear Enter o tocando la pantalla, ya que los diálogos se irán mostrando solos.
El valor que recibe esta variable, define cuantos segundos deberá esperar el modo automático para pasar al siguiente diálogo. Ren’Py permite un valor de 0 a 30.


M) config.save_directory = String :

Esta variable recoge mediante una String, el nombre que tendrá la carpeta para almacenar las partidas guardadas del jugador. Todas las partidas son guardadas en :

  • MS Windows : AppData/Roaming/RenPy/(Nombre de carpeta)
  • MacOS : $HOME/Library/RenPy/(Nombre de carpeta)
  • Linux : $HOME/.renpy/(Nombre de carpeta)

N) config.window_icon = String :

Esta variable recoge mediante una String, la ruta de la imagen que se muestra como ícono en la ventana del juego y como ícono en la barra de tareas del PC. Esta variable NO SIRVE para definir el icono para un archivo APK, en el caso de compilar para Android.


O) PREPARACIÓN PARA LA COMPILACIÓN DEL JUEGO :

En esta parte del script, se ajustan los últimos detalles antes de compilar una versión del juego. Dentro del bloque init python encontraremos por defecto, algunas funciones como estas :

build.classify(‘**.bak’, None)
build.classify(‘**/.**’, None)

Probablemente ya te confundiste, pero esto es realmente simple. En esa parte del código se señalan los archivos que se excluirán del proceso de compilación del juego (No estarán dentro del archivo de compilación), donde tú podrás agregar más archivos que decidas excluir de la compilación.

Ahora me encargaré de enseñarles a como usar las funciones build.classify() y build.archive(), para que puedan ajustar las compilaciones a su mejor comodidad como desarrollador!
La estructura para tratar con estas funciones, va en el siguiente orden :

  • Ruta del(los) archivo(s)
  • Término clave (Decide qué hacer con la ruta de archivo señalada).

Estos dos elementos que tratan la función, son separados mediante una coma. La ruta del archivo a tratar, se escribe dentro de una String.
Los términos clave que ofrece Ren’Py para estas funciones, son :

None : Excluye al archivo de la ruta indicada del proceso de compilación.
“all” : Se incluirán todos los archivos señalados en la compilación y en los APKs/OBB para Android.
“linux” : Se incluirán los archivos señalados en la compilación para Linux.
“mac” : Se incluirán los archivos señalados en la compilación para MacOS.
“windows” : Se incluirán los archivos señalados en la compilación para MS Windows.
“renpy” : Se incluirán los archivos señalados que necesitan de forma directa los archivos del motor, dentro de un paquete (disponible para la compilación en Linux, MS Windows y MacOs).
“android” : Se incluirán los archivos señalados en la compilación para Android.
“archive” : Se incluirán los archivos señalados y se agruparán dentro de un único paquete de archivos (La extensión de estos paquetes resultantes es “.rpa”).

Ahora bien, los caracteres claves para usar en estas funciones, son :

/ : El Slash es el separador de las carpetas para escribir la ruta de un determinado archivo.
** : Coincide con todos los caracteres del nombre de un archivo.

Ahora que les he instruido en lo elemental de estas funciones, les daré ejemplos para usarlas!
Vamos a usar la función para excluir todos los archivos “.png” de la carpeta “images”. Pon atención :

build.classify(“game/images/**.png”, None)

Viste que usé dos símbolos de asterisco (**)? Recuerda lo que señalé más arriba, lo que significaban estos símbolos. En este caso, dos asteriscos harán coincidir todos los caracteres de los archivos “.png”, evitándonos el ajetreo de excluir archivo por archivo.
Ahora hagamos otra cosa que es bastante útili cuando hacemos una compilación para PC. Todos los archivos de nuestro juego quedan a la deriva y a merced del jugador, lo que facilita la piratería de nuestros Assets. Para ello, usaremos las funciones de compilación para agrupar estos archivos, dentro de un paquete “.rpa” en específico. Mira a continuación.
En este caso utilizaremos la función build.archive(). Primero, para generar el archivo “.rpa”, en la función debemos dar un nombre, seguido del término clave que usaremos para dictaminar en qué compilación incluir este paquete :

build.archive(“Sonido”, “all”)

En esta oportunidad nuestro archivo se llamará “Sonido.rpa”, y se incluirá en la compilación de todas las plataformas con las que puede tratar Ren’Py!
Ahora debemos señalar, qué archivos incluir dentro de ese paquete que definimos. En este punto volveremos a usar la función build.classify().
El orden en que debemos señalar los elementos es el siguiente :

  • Ruta del(los) archivo(s) a empaquetar dentro del RPA.
  • Nombre del archivo RPA en el que se empaquetarán estos archivos.

Entonces, dada la instrucción anterior, incluiremos archivos “.mp3” que están en la carpeta “audios” de nuestro juego, dentro del paquete “Sonido.rpa” que definimos antes :

build.classify(“game/audios/**.mp3”, “Sonido”)

Luego de haber escrito esa función, todos los archivos MP3 al interior de la carpeta “audios”, no serán visibles para el explorador de archivos del jugador, ya que estará al interior de un archivo RPA.
Puedes crear un archivo para almacenar varios archivos de tu juego, eso lo dejo a tu criterio.


Y bien muchachos! Hasta acá llega el post del día de hoy. Si tienes dudas, hazmelo saber y te explicaré xD

NOTA : Es posible que la App Makers no pueda redireccionar correctamente a un link, o puede que no esté preparado para descargar archivos. Intenta abrir los siguientes links en un navegador como Google Chrome.

Entra a la web de Ren’Py y descarga la última versión del motor!

Dentro de unas semanas generaré una compilación a modo de versión Beta (v2.00.1) de la novela visual que estoy creando! Quédate atento!

Todavía tienes dudas acerca de este post? Háblame en los comentarios o ve al interno en mi Telegram!


Próximo post? Trataremos con el script “screens.rpy”, de una forma más sintetizada, donde ya nos inmiscuiremos en la customización de la interfaz que trae por defecto el motor Ren’Py (Y que sigo insistiendo, es una auténtica mierda xD).

Nos vemos en el próximo post de este hilo!!! Hasta pronto!!!


Navega entre los posts de este hilo!

<< Ir al Post #10Ir al Post #12 >>

<< Eres nuevo? Click aquí para ir al Post #1 >>


ElectroBasicsYT – CharlieFuu69 Creations!

  • Tutorial
  • Programación | Programas, aplicaciones
0 Comentarios

Contesta

CONTACTANOS

Esta es su red social de tecnología para compartir tus ideas y proyectos .Puedes enviarnos un correo si tienes dudas.Nos vemos

Enviando

Nuevo informe

Cerrar

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account