Want to create interactive content? It’s easy in Genially!

Get started free

code along Renpy

archi.archeo

Created on January 8, 2022

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Un code along pour tester Ren'py

Les principales fonctions de Ren'py pour bien débuter la création d'une visual novel...

START

Index

même si le projet est censé être réalisé pas à pas, vous pouvez ici retrouver le lien direct vers une partie du tuto.

Les images et les animations

installer Ren'Py

Les dialogues

Les fonctions avancées

Les interactions

Les liens utiles

Installer Ren'py

Pour ce projet, vous allez d'abord télécharger, décompresser et installer le logiciel gratuit Ren'Py qui vous permettra de réaliser cette visual novel. Suivez les indications du lien ci-contre et commencez par jouer "La question" pour vous faire une idée du fonctionnement de Ren'py

01. Les dialogues

Une visual novel c'est d'abord une aventure textuelle donc commençons par écrire un dialogue

01 LES DIALOGUES : découvrir le fonctionnement

Regardez le début de la vidéo et créez votre premier jeu : Ren’py Launcher/créer un nouveau projet. Donnez lui un nom qui sera le titre de votre jeu (pas de caractères spéciaux, pas d'espace), choisir 1280x720 pour la définition et le jeu de couleurs que vous souhaitez pour l’affichage des textes.

01. LES DIALOGUES

1.1 Première ligne de texte

Pour démarrer, allons jeter un œil à l’intérieur du programme principal : Ren’py Launcher/éditer le fichier/script.rpy. Le programme est en deux parties séparées par label start : au-dessus on déclare les variables, en dessous se déroule le programme proprement dit.Créons un message de bienvenue, en dessous de label start: et aligné sur e "Vous venez de créer un nouveau jeu Ren'Py." grâce à une tabulation. label start:"message d'accueil du jeu de votre choix"e "Vous venez de créer un nouveau jeu Ren'Py."Cliquez en haut à gauche sur file/save et retournez sur Ren’py Launcher/lancer le projet pour tester.Si cela fonctionne, bravo, vous avez écrit votre première ligne de programme pour ce jeu !Sinon vérifiez bien l’espacement, les guillemets et surtout lisez le message d’erreur.

01. LES DIALOGUES

1.2.Premiers personnages

Créons deux personnages, Santa et Mme Santa (ou autre selon votre inspiration).Pour créer un personnage, on va transformer le personnage d'Eileen déjà créé par le jeu et le transformer en Santa. Dans la première partie du programme, avant label start, la variable e définit le nom du personnage Eileen qui va apparaitre dans le dialogue et la couleur de la police de caractère. Transformons la en variable s pour "Santa" avec la couleur rouge firebrick #B22222Copions cette ligne et transformons la en m pour "Mme Santa" avec la couleur rouge indian red #CD5C5C Dans la 2eme partie, après label start, écrivons un dialogue entre Santa et Mme Santa en changeant les deux lignes de Eileen de type e "message" en s "message" et m "message.File/save puis Ren'py launcher/lancer le projet. Si il n'y a pas de message d'erreur c'est parfait! sinon vérifiez les majuscules/minuscules dans les variables, l'emplacement des guillemets, l'indentation (alignement))...

02. Images et animations

Pour l'aspect visuel, commençons à faire apparaitre personnage, fond et objet

02. LES IMAGES ET LES ANIMATIONS

2.1. Personnages

Faisons apparaitre nos personnages à l'écran (les images ad hoc sont dans le dossier zip joint).Il faut copier les deux images Santanuit1 et MmeSantanuit1 dans le répertoire game portant le nom de votre jeu, ici Secret Santa. Vous avez choisi lors de l'installation le chemin pour les sauvegardes et c'est donc là que vous trouverez votre dossier (si vous ne vous en souvenez pas allez dans script.py/file/save as et regarder dans quel dossier ce fichier se sauvegarde).On colle les images du jeu dans Secret Santa/game/images. Lorsque c'est fait elles apparaissent dans la colonne de gauche de script.py : project/game/images.Dans la première partie du programme, à la ligne 3 et 4, vous avez un exemple de déclaration de variable image :image SantaPyj = "santanuit1.png" Le nom de la variable image SantaPyj sert à se souvenir de l'image mais ne doit pas comporter d'espace. Le nom du fichier doit être exactement le même que celui qui apparait dans la colonne de gauche et comprendre l'extension (.png) le tout entre guillemets.

01. LES DIALOGUES

2.1. personnages

Une fois cette variable créée, on va l'utiliser avec la commande show ... at left/right pour la faire apparaitre à l'écran à gauche ou à droite (par défaut elle sera au centre) après le dialogue du jour 3, dans le même alignement (le s de show est directement sous le m de Mme Santa)show SantaPyj at leftÉcrivez une ou plusieurs lignes de dialogue puis faites de même avec Mme Santa en la faisant apparaitre à droite puis poursuivez le dialogue.File/save puis Ren'py launcher/lancer le projet. Si il n'y a pas de message d'erreur c'est parfait! Sinon vérifiez les majuscules/minuscules dans les variables, l'emplacement des guillemets, l'indentation (alignement))... et lisez le message d'erreur pour faire les corrections nécessaires.

02. LES IMAGES ET LES ANIMATIONS

2.2. Fond

Santa a enfin allumé la lumière et il nous faut donc faire apparaitre le décor. (dossier .zip). Comme précédemment,copiez l'image choisie de la chambre dans le répertoire nomdujeu/game/images.Créez la variable image chambre au dessus de label start comme précédemment les images des deux personnages.Pour afficher l'image de fond on va utiliser la commande scene dans la partie principale du programme après les lignes créés précédemment et selon le même alignement:s "dialogue"scene chambrewith dissolvela ligne with dissolve précise comment l'image va apparaitre : en surimposition transparente en 0,5 s. Une autre transition souvent utilisé est with fade où l'image précédente passe au noir puis la nouvelle image apparait progressivement.Le programme ne présente pas d'erreur et rien ne se passe? C'est normal, le programme n'exécute l'action que si il est suivi d'un dialogue ou d'un message du narrateur. Les personnages ont disparu! En effet l'image de fond se place au-devant des éléments précédents. Il va donc falloir les faire réapparaitre.

02. LES IMAGES ET LES DISPOSITIONS

2.3. Animations

Pour faire réapparaitre nos personnages, utilisez la commande show mais en utilisant de nouvelles transitions. Fait réapparaitre MmeSanta, en utilisant dissolve :show MmeSantanuit at right with dissolveSanta va, lui, apparaitre en se déplaçant de gauche à droite grâce à la transition moveinleft.Déclarez une nouvelle image santanuit2.png en dessous de santanuit1.png car il mis ses chaussons (ne pas oublier de copier les images concernées dans le dossier game/images)show Santachausson with moveinleftOn ajoute un commentaire du narrateur ou du dialogue puis on lui fait enfiler un peignoir, en utilisant d'abord la commande hide qui permet de cacher Santachausson:hide Santachausson show Santapeignoirwith dissolveici with dissolve va s'appliquer à la fois à hide Santachausson et à show Santapeignoir.et enfin on fait sortir Mme Santa à droite de l'écran:hide MmeSantanuitwith moveoutright Ajoutez au moins une ligne de dialogue ou du narrateur (sinon l'action ne sera pas jouée). Conseil: Tester chaque action une à une pour pouvoir plus facilement identifier les erreurs éventuelles.

02. LES IMAGES ET LES ANIMATIONS

2.3. Animations

Copiez les images nécessaires (cuisine, santa gâteau et tasses) dans le répertoire game/images et déclarer les variables correspondantes.Utiliser scene pour changer de décor avec la transition pushleft (le nouveau fond pousse l'ancien hors de l'écran). Il existe aussi pushright, push up et pushdown.scene Cuisinewith pushleftUtiliser show...at....with pour faire apparaître à votre guise nos deux personnages en train de préparer des gâteaux de Noël et faites les discuter.show...at accepte comme transformation : center (défaut), left, right, truecenter (au milieu de l'écran), topleft (en haut à gauche) top right, top (en haut, au centre)with en plus des fade, dissolve, movein right/left/top/bottom, moveout right/left/top/bottom comporte une longue liste de possibilités. Essayez easeinright/left/top/bottom, easeoutright/left/top/bottom qui donnent un déplacement un peu plus naturel que movein/moveout en démarrant lentement en accélérant puis en décélérant.N'oubliez pas d'ajouter du texte (commentaires et dialogues) entre les différentes commandes et notamment après la dernière commande pour qu'elle soit effectuée.

02. LES IMAGES ET LES ANIMATIONS

2.4. Objets

Les objets sont traités comme des personnages et on utilisera donc les mêmes commandes. Copier les images d'objet souhaitées dans le répertoire game/images et déclarez les comme pour les personnages.On les fait apparaitre avec la commande show...at...with Cependant les objets posent différents problèmes : on veut les placer précisément sur l'image et on va faire varier leurs tailles en fonction de leur place sur le fond. Pour les placer, il faut savoir que le repère 0;0 est en haut à gauche et en bas à droite correspond à 1; 1. L'axe des x va donc de 0 à gauche à 1 à droite. Pour montrer un objet (nommé tasses ici) au milieu horizontalement et dans le tiers bas à la verticale:show tasses : xalign 0.5 yalign 0.7 !Attention! après la commande show il faut impérativement finir par un deux points la ligne. xalign et yalign dépendent de show et prennent donc une tabulation supplémentaire (pas alignés sur show). Pour les nombres décimaux c'est un point qui est utilisé et non une virgule.N'oubliez pas de rajouter dialogues et commentaires!

02. LES IMAGES ET LES ANIMATIONS

2.5. Mise à l'échelle

Les tasses apparaissent sur le bar dans la cuisine moderne, mais leur taille est totalement disproportionnée. Vous pouvez redimensionner avec la commande xzoom et yzoom. Pour ne pas déformer l'image les deux prennent la même valeur : 1 taille d'origine, 0.5 50%, 1.1 110%....show tasses : xalign 0.5 yalign 0.7 xzoom 0.3 yzoom 0.3Avec ces valeurs les tasses apparaissent sur le comptoir à la bonne échelle. On peut rajouter un effet : show... with.....:Vous pouvez maintenant changer MmeSantacuisine en MmeSantagateau, faire apparaitre des objets gateaux dans la cuisine et changer Santa en Santa gateau.Astuce pour voir rapidement le résultats de vos modifications dans le jeu : sauver script.py/file/save et retourner sur le jeu et appuyez simultanément sur maj (flèche vers le haut) et R (pour reload), l'écran passe brièvement au noir puis montre les dernières modifications sauvegardées.

03. Les interactions

Après les dialogues et les images, il s'agit de rendre l'histoire interactive

03. LES INTERACTIONS

3.1. Menu

On va donc créer un signet NoelVrai pour ceux qui aiment Noël et NoelFaux et un commentaire pour chacun: label NoelVrai : s "chouette, moi aussi" label NoelFaux : m "c'est vrai que c'est beaucoup de travail, la période des fêtes" Le programme "saute" ainsi au marque page correspondant. Il y a beaucoup de risques d'erreur sur les alignements (indentations), sur la présence des : en fin de ligne, n'hésitez pas à utiliser le tuto joint à l'écran précédent.

03. LES INTERACTIONS

3.1. Menu de choix

Il est important de faire intervenir le joueur dans l'histoire, c'est quand même le principe de base d'une Visual Novel. Pour cela nous allons poser une question au joueur et créer un menu avec deux réponses: Aimez vous Noël? Oui, j'adore la période des fêtes / Non, j'ai cette période en horreur.Il y a des subtilités notamment en terme de tabulations dans la programmation d'un choix, aussi vous trouverez un tuto détaillé avec des exemples ci contre.Pour créer la question on va utiliser la commande Menu : ajouter la question sous forme d'un commentaire, la première réponse sous forme de commentaire suivi de : et enfin la commande jump ... qui permet d'aller directement au signet (marque-page) du même nom puis la deuxième réponse selon la même structure. menu :"Aimez-vous les fêtes de fin d'année?""Oui, j'adore cette période de fêtes, de cadeaux et de joies": jump NoelVrai "Non, je déteste cette période de l'année, le froid, les journées trop courtes et l'obligation d'être heureux!" : jump NoelFaux

03. LES INTERACTIONS

3.2. Input joueur

Pour augmenter l'interactivité, il faut personnaliser les dialogues. Pour cela on va créer une variable et utiliser la commande input. Un tuto très clair ci contre. Le symbole $ en début de ligne indique au programme que l'on va utiliser une fonction python et non une des fonctions renpy. On donne ensuite le nom de la variable que l'on veut créer (pas d'accents, pas d'espace) et on lui donne comme valeur la commande renpy.input $ nomjoueur = renpy.input("Entrez votre nom.")Pour réutiliser cette variable dans un dialogue vous l'ajouter à la bonne place avec le nom de la variable entre crochets :label NoelVrai : s "chouette [nomjoueur], moi aussi"!Attention! si vous utiliser maj+R pour recharger votre script, il risque de planter! En effet, on a ajouté des lignes en amont du menu, quand vous rechargez le script, Renpy lit les lignes suivantes et donc ne retrouve pas votre nouvelle variable. Fermez votre jeu et relancer le depuis l'interface Renpy.

03. LES INTERACTIONS

3.3. Mémoriser un choix

De la même manière, créez une variable python aimeNoel en dessous de nomjoueur et comme il n'y a que deux possibilités, attribuez lui une valeur vrai/faux en lui attribuant par défaut False (noter la majuscule à False)$ aimeNoel = Falseet si le joueur choisit le premier choix "oui, j'adore cette période..." on va à la ligne suivante attribuer la valeur True à aimeNoel:"Oui, j'adore cette période de fêtes, de cadeaux et de joies": $ aimeNoel = True jump NoelVraiRemarquez l'alignement entre l'attribution de vrai à la variable et la commande jump. Ce sont deux sous-programmes de la réponse "oui j'aime cette période...":Enregistrez ce programme. Pour l'instant vous ne voyez pas de différence dans le programme, on a seulement stocké une information pour une utilisation ultérieure.

03. LES INTERACTIONS

3.4. poursuivre après un choix

Nous avons laissé l'histoire en suspens avec deux fins possibles selon que le joueur aime ou non Noël.On peut bien sûr continuer à développer les deux branches de l'histoire indépendamment, en ajoutant des lignes de codes en dessous de label NoelVrai: et d'autres en dessous de label NoelFaux: Souvent le plus simple est de retenir le choix du joueur et de faire se rejoindre les deux branches de l'histoire.Pour cela nous allons créer un nouveau signet (label... :) suite1label Suite1 : puis sous les deux labels précédents on va ajouter un jump vers le label Suite1: label NoelVrai : s "chouette [nomjoueur], moi aussi" jump Suite1idem pour l'autre signet

03. LES INTERACTIONS

3.4. Mémoriser un choix

Avant de passer à la suite, changement de scène puisque l'on va se rendre dans l'atelier des Santas. Comme vous en avez maintenant l'habitude, copier les images dans le répertoire game/images et déclarer les images que vous allez utiliser.On reprend la même transition que pour la cuisine, en mettant un décor différent selon le choix du joueur, l'atelier rustique pour le choix non et l'atelier moderne pour le choix oui.label NoelVrai : s "chouette [nomjoueur], moi aussi" scene Atelier_rustique with pushleft jump Suite1label NoelFaux : m "c'est vrai que c'est beaucoup de travail [nomjoueur], la période des fêtes" scene Atelier_rustique with pushleft jump Suite1On rajoute un commentaire sous le label Suite1 en utilisant le nom donné par le joueur.

03. LES INTERACTIONS

3.5. Utilisation des variables

Commençons par faire disparaître nos deux personnages Santas cuisine (car sinon ils continuent d'être chargés même si ils ne sont plus visibles) en les faisant sortir de la pièce, selon le choix du joueur aime/n'aime pas. Par exemple:label NoelVrai : hide MmeSantacuisine with easeoutright s "chouette [nomjoueur], moi aussi" hide Santacuisine with easeoutleftUne fois que vous avez fait cela, faites apparaître de la manière de votre choix Santaatelier après label suite1.Ensuite placer le sceau de peinture à proximité de Santa en utilisant xalign/yalign/xzoom et yzoom que l'on a vu précédemment.Faite apparaitre MmeSantaatelier et créer un dialogue sur le fait que l'atelier parait vide alors que Noël est très bientôt...

03. LES INTERACTIONS

3.5. utilisation des variables

Vous remarquez que le changement de label n'entraine pas de changement de décor et donc toutes les lignes de codes que vous écrivez maintenant concernent les deux choix et doivent fonctionner sur les deux décors...On va faire apparaitre les cadeaux déjà préparés dans l'atelierD'abord, on implique le joueur avec un choix, en créant de nouveau un menu:menu : "Qu'est-ce qui est le plus important pendant les fêtes, [nomjoueur] ?" "Le repas de Noël": jump Repas "Les cadeaux pour les enfants" : jump Enfants "Les cadeaux pour tout le monde" : jump AdultesOn crée les labels correspondant aux différents jump en faisant apparaitre les cadeaux associés. A chaque fois, on teste si le joueur aime Noël : if aimeNoel=True et dans ce cas on fait apparaitre plein de cadeaux , sinon (else) un ou deux.

04. Les fonctions avancées

Pour améliorer l'histoire nous allons ajouter du son, de la musique et des objets cliquables

04. LES FONCTIONS AVANCEES

4.1. Ajout de sons

Pour donner un peu d'animation à nos scènes, nous allons mettre un son lors de l'apparition des cadeaux, un pour la version j'aime Noël (tadaA.mp3) et un pour la version j'aime pas (hmm.mp3). Pour utiliser un son, privilégier le format mp3 et copier-le dans le répertoire Game/audio. Pas besoin de déclarer une variable comme pour les images si c'est du mp3,on peut utiliser le son directement en utilisant simplement le nom du fichier :label Repas : if aimeNoel == True : play sound tadaaelse: play sound hmm Si cela ne marche pas, bien vérifier le nom du fichier, vérifier que les sons sont dans le bon répertoire avec le bon format.

04. LES FONCTIONS AVANCEES

4.2.musique de fond

Pour mettre une musique de fond sur l'ensemble du jeu, c'est un peu plus compliqué.Normalement on utilise la même procédure mais il y a souvent des bugs, ne me demandez pas pourquoi...On va donc le faire sans raccourci :Avant label start, on va définir une variable et pour parer à toute éventualité on va lui indiquer le chemin pour trouver le fichier de musique Atmo.mp3:define audio.atmo = "audio/Atmo.mp3"Ensuite au début du jeu, après label start:play music atmoVous pouvez retrouver deux musiques libres de droit et adaptées dans le dossier joint

04. LES FONCTIONS AVANCEES

4.3. du hasard

Maintenant que les cadeaux sont là, que l'on a du son, il est temps de pimenter un peu le jeu en introduisant un peu de hasard dans la conversation. Pour cela nous allons retourner sur le même fil directeur de l'histoire en ajoutant: jump Suite2à chaque partie du If.... Else de la fin du programme.On crée :Label Suite2:Vous trouverez un fichier de citations sur Noêl déjà préparé dans le dossier. Nous allons devoir utiliser python plutôt que Renpy qui ne possède pas cette fonction : $ rand_citations = renpy.random.choice (["citation1","citation2","citation3"]) où vous remplacez citation 1 2 et 3 par des phrases. rand_citations est la variable dans laquelle on va stocker un choix fait au hasard dans la liste qui suit (citations1, 2, 3).! attention il s'agit de guillemets anglais comme pour les autres textes.

04. LES FONCTIONS AVANCEES

4.4. créer un screen

Aujourd'hui, changement de costumes pour Santa et Mme Santa car Noël approche!Pour vérifier cela nous allons afficher la date et l'heure sur l'écran en utilisant le script Renpy Screen. Il y a déjà des screens dans votre jeu comme celui qui affiche les choix de menu ou les dialogues. Vous pouvez en créer un pour afficher un score aussi.Pour cela retour à Renpy launcher et choisir screens.rpy en-dessous de script.rpy. Dans le (long) script, nous allons ajouter notre écran après la ligne écran de jeu et avant l'écran de dialogue:screen datenoel: text "c'est bientôt Noël"et dans script.rpy, à la fin du dialogue :show screen datenoel "Il se fait vraiment tard" Si tout a été fait correctement, le message apparait en petit dans l'angle gauche.

04. LES FONCTIONS AVANCEES

4.4. créer un screen

Comme pour les personnages on peut lui donner une position et une taille en changeant dans screens.rpy:screen datenoel: text "c'est bientôt Noël" xalign 0.545 yalign 0.138pour le positionner au milieu en haut. Le changement s'effectue après avoir sauvegardé screens.rpy. screen datenoel: text "c'est bientôt Noël" xalign 0.545 yalign 0.138 size 25permet de modifier la taille des lettres. La couleur et la police sont directement héritées des choix fait lors de la création du jeu et se changent ailleurs. Pour que ce soit plus visible, il est aussi possible de créer un cadre avec un fond (frame) qui lui aussi aura la couleur héritée de votre choix initial:screen datenoel: frame xalign 0.545 yalign 0.138 : text "c'est bientôt Noël" size 25! attention chaque ligne est décalée de la précédente d'une indentation!

04. LES FONCTIONS AVANCEES

4.5. utiliser python

Nous allons importer une bibliothèque python qui permet d'obtenir la date et l'heure depuis l'horloge de l'ordinateur. On place ceci avant "il se fait vraiment tard" dans script.rpyinit: $ import time $ year, month, day, hour, minute, second, dow, doy, dst = time.localtime()La deuxième ligne crée des variables année, mois, jour, heure, minute... à partir de l'horloge de l'ordinateur.Faisons dire à Mme Santa la date : m "Nous sommes déjà le [day]!!!"Pour afficher l'ensemble des informations nous allons utiliser notre écran datenoel. Dans screens.rpy, on modifie ainsi :screen datenoel: frame xalign 0.545 yalign 0.138 : text "[day] / [month], [hour] : [minute]" size 25

04. LES FONCTIONS AVANCEES

4.6. conditionner un comportement

Comme Mme Santa est inquiète, nous allons la faire se déplacer en tous sens mais seulement si la date est supérieure au 20/12. Pour faire le déplacement on utilise linear et la position d'arrivée:show MmeSantaXmas at right : linear 1.5 xalign 0.45 yalign 1.0Le premier nombre après linear correspond au temps que dure le déplacement.On n'oublie pas d'ajouter une pause (en seconde) avant de passer au déplacement suivant. show MmeSantaXmas at right : linear 1.5 xalign 0.45 yalign 1.0 pause 0.5 linear 1.5 xalign 0.85 yalign 0.70 pause 0.5 linear 1.0 xalign 0.65 yalign 0.60 Enfin on ajoute repeat (aligné sur linear) pour que les déplacements se répètent indéfiniment.

04. LES FONCTIONS AVANCEES

4.7. Gérer les fins

Pour rendre le jeu plus cohérent, nous allons créer deux fins,1 pour le cas où on est bien en Décembre, 1 pour les autres moisNous allons donc reprendre le cas du else pour ajouter un jump sur le label Fin1. return signifie la fin du jeu et le retour au menu principal. Nous allons utilisé la photo de paysage enneigé et faire un fondu au noir (scene black with dissolve) :label Fin1 : scene paysage with dissolve "Ici s'achève notre conte de Noël" scene black with dissolve returnDe la même manière on va créer un jump Suite3 que l'on va attribuer aux deux situations où on est en décembre. label Suite3 : hide screen datenoel scene Paysage with pushleft s "il faut charger le traineau avec le plus de cadeaux possibles!" call screen traineau "ah je le vois!" s "touchez le traineau pour lui permettre d'accomplir sa magie"On utilise call screen traineau plutôt que show car cela empêche le joueur de continuer.

04. LES FONCTIONS AVANCEES

4.8. objet cliquable

On va créer, comme précédemment un screen dans screens.rpy, juste en dessous de datenoel, que l'on va appelé traineau et on va créer un traineau cliquable grâce à la commande image button :screen traineau : imagebutton: xpos 190 ypos 300 idle "traineauvide.png" action Jump("traineau")idle correspond à l'image affichée quand rien ne se passe, action correspond à ce qui se passe lorsque l'on clique sur l'image. ! attention ici Jump prend une majuscule!Il faut maintenant créer le label traineau correspondant dans script.rpy qui va déterminer l'action qui se déroule lorsque l'on clique sur le traineau, on aura au préalable créé la variable image traineauplein:label traineau: play sound tadaa hide screen traineau show traineauplein with vpunch s "ah tout est prêt maintenant"

04. LES FONCTIONS AVANCEES

4.9. Personnaliser le menu

Notre menu est un peu triste, nous allons donc le rendre un peu plus festif.Les informations de mise en page sont dans GUI.rpy, que l'on va ouvrir via le launcher Renpy. Les ressources sont dans les répertoires correspondants dans le dossier Game/guiLa fonction de chaque ligne est expliquée en rouge, donc vous pouvez ici changer la couleur ou la taille de la police (relativement simple) aux polices, menu, scrollbar etc.On va commencer par afficher une image de fond pour le menu principal et le menu de jeu plutôt qu'une simple couleur. On sélectionne sur Pixabay (libre de droit) une image de Noël qu'on télécharge dans le format le plus proche de la définition de notre jeu.On copie cette image dans nomdevotrejeu/game/gui. On la renomme santa_menu.jpg.On se rend sur Renpy launcher/game/GUI.rpy et on cherche la ligne rouge menu principal et menu du jeu :define gui.main_menu_background = "gui/main_menu.png"define gui.game_menu_background = "gui/game_menu.png"On va changer le nom des deux images par santa_menu.jpg sans oublier de donner le dossier dans lequel est l'image:define gui.main_menu_background = "gui/santa_menu.jpg"define gui.game_menu_background = "gui/santa_menu.jpg"

04. LES FONCTIONS AVANCEES

4.9.Menu

Pour terminer nous allons modifier l'a-propos pour faire apparaitre fièrement votre nom et indiquer que les ressources utilisées (obligatoire). Dans Renpy launcher on ouvre ainsi options.rpy: Vous pouvez ici changer le nom affiché de votre jeu (avec des accents, des espaces, des symboles), si il s'affiche ou non sur l'écran de menu... Ligne 32 on explique que le texte ci-dessous sera affiché dans l'a- propos :define gui.about = _p(""" Jeu créé par ...... les images et sons sont libres de droit et proviennent de https://pixabay.com/fr/""") Et voilà vous avez un jeu prêt à être distribué sur les différentes plateformes.

finaliser votre jeu

Pour l'instant votre jeu n'est jouable que si on a installé Ren'py. Maintenant qu'il fonctionne, on peut le publier sous forme d'un fichier autonome jouable.Etape1 : vérifier qu'il n'y a pas d'erreur. Dans Renpy launcher/actions/Vérifier le script(lint) vous lancer une vérification.Là vous avez des erreurs qui apparaissent et les moyens de les corriger:game/screens.rpy:83 The screen datenoel has not been given a parameter list.This can be fixed by writing 'screen datenoel():' instead.même chose pour le deuxième screen.Etape 2 :Il suffit de faire les corrections demandées.Ensuite une longue liste de fichiers images ont un problème de caractères accentués/espaces...images/gâteau1.png contains non-ASCII characters in its filename.(ZIP file distributions can only reliably include ASCII filenames.)Etape 3 :Il faut renommer sans accents les fichiers et faire les modifications adhoc dans la déclaration des variables.Etape4 :Une fois ces corrections effectuées, on va utiliser renpy launcher/compiler les paquets pour obtenir une version windows et mac, web (béta) android et/ou iOS pour une version smartphone. Si il suffit de cliquer et de distribuer le fichier zip pour la version windows ou mac, faire de même pour les smartphone est un peu plus compliqué :https://www.renpy.org/doc/html/android.html#android-building. La version web est a vérifier sur différents navigateurs.

05. liens utiles

Tutos vidéos : https://www.youtube.com/watch?v=XprVZAtPqDI https://www.youtube.com/watch?v=nqWEN4Z2420 https://www.youtube.com/watch?v=r3Bd_vpoKAQ Tutos : https://fairedesjeux.fr/renpy/debuter-dans-renpy/ https://renpyeducation.wordpress.com/ Documentation https://www.renpy.org/doc/ Infos http://www.fiction-interactive.fr/quoi-de-neuf-pour-renpy-les-dernieres-mises-a-jours-et-lavenir-du-moteur-de-visual-novel/