Le wiki de la création de jeux

Aide-mémoire

Cet aide-mémoire vous permettra de retrouver facilement des raccourcis clavier, des règles de syntaxe et des commandes. Si vous repérez que quelque chose manque ou n’est plus à jour, n’hésitez pas à modifier la page .

Raccourcis clavier

Ces quelques raccourcis clavier vous permettront de gagner du temps. Les raccourcis nécessitent pour la plupart d’entre eux que l’option config.developer soit sur True pour fonctionner.

Structure du langage

Les blocs de code sont espacés de 4 caractères par rapport au bloc de code parent. Les tabulations ↹ sont interdites.

# Les lignes commençant par # sont des commentaires.
condition1:
    # Les : indiquent que ce qui suit est un bloc
    # qui sera parcouru si condition1 est vrai.
    # Le contenu du bloc est indenté de 4 espaces.
    condition2:
        # On se décale à nouveau de 4 espaces.
condition3:
    # Un autre bloc.

Personnages

define p = Character("Popeye", color="#ffffff")

Définit le personnage p avec le nom Popeye et la couleur #ffffff.

Dialogues

"Ceci est un message du narrateur"
p "Ceci est un message du personnage p"
"Ceci est un message du narrateur contenant des \"guillemets\""

Images

Les images doivent être placées dans le répertoire images de votre projet. Les formats recommandés sont PNG pour les dessins, et PNG ou JPEG pour les photos.

# Affiche l'image "fond hongkong" en tant que fond
# Avec un effet "dissolve" en transition.
scene fond hongkong
with dissolve # facultatif

# Affiche l'image "marie heureuse"
show marie heureuse
# Affiche l'image à droite (right peut être remplacé par left, top ou bottom)
show marie heureuse at right
# Cache l'image "marie heureuse"
hide marie heureuse

Musique et sons

Les fichiers audio doivent être placés dans le répertoire game de votre projet. Le format recommandé est l’OGG Vorbis.

play music "mozart.ogg" fadein 1.0
play sound "woof.mp3"
play music ["a.ogg", "b.ogg"] #Ici la musique a.ogg sera jouée, puis la musique b.ogg

Les channels music et sound sont inclus de base dans votre jeu, le joueur pourra modifier leur volume dans les options indépendamment du volume général du jeu. Si vous souhaitez ajouter un channel sonore à votre jeu (par exemple pour les bruits d’ambiance) il faut d’abord définir ce channel, puis ensuite utiliser l’instruction play LENOMDUCHANNEL :

define renpy.music.register_channel(ambiance)
label start :
    play ambiance "punch.wav"

Pour arrêter une musique, vous devez utiliser l’instruction stop suivie du nom du channel sonore et potentiellement d’une transition fadeout. Par exemple pour un son et une musique :

stop sound
stop music fadeout 1.0

Labels et sauts

Les labels marquent différents états du jeu. Alors que normalement le code est parcouru ligne après ligne, les sauts permettent d’aller directement à un endroit marqué d’un label. Les sauts sont généralement utilisés dans les menus.

label infini: # Déclaration d'un label nommé "infini"
    "Ne suis-je pas déjà passé par là ?"
    jump infini # Retourne à la première ligne.
    # Ce cas particulier est appelé boucle infinie.

Choix multiples

Remarquez l’indentation qui est essentielle pour que le code fonctionne.

menu:
    "Une question ?" # Facultatif
    "Une réponse possible":
        # Bloc exécuté si la réponse ci-dessus est choisie
    "Une autre réponse possible":
        # Bloc exécuté si la réponse ci-dessus est choisie
    "Une troisième réponse possible":
        # Bloc exécuté si la réponse ci-dessus est choisie

Exemple simple avec des sauts

menu:
    "Vous aimez le chocolat ?"
    "Oh oui !":
        jump aime_chocolat
    "Beurk, non !":
        jump aime_pas_chocolat

label aime_chocolat:
    "Alors comme ça vous aimez le chocolat..."
    jump suite # Ce saut est important. Sans lui,
    # le label "aime_pas_chocolat" serait parcouru.

label aime_pas_chocolat:
    "Non, sérieusement ?"

label suite:
    "Bon, peu importe."

Tags textuels

Les tags textuels permettent d’ajouter des petits twists à vos dialogues, par exemple modifier la taille d’une partie du texte, faire des pauses, mettre en gras… Les tags s’écrivent entre accolades {tag}. Certains sont accompagnés d’une valeur {tag=valeur} et ils doivent parfois être fermés avec {/tag} .

Vous pouvez consulter la liste complète des tags dans la documentation, mais voici plusieurs exemples utiles :

{size}

 m "Bienvenue dans mon {size=+10}super{/size} jeu \"fait maison\""

Premièrement le tag {size} va modifier la taille du texte jusqu’à ce qu’il soit fermé (par {/size}) . Il doit évidemment être accompagné d’une valeur qui peut être :{size=+5} et qui va agrandir la taille du texte de 5 pixels, ou {size=-15} qui va réduire la taille du texte de 15 pixels, et bien sûr {size=24} qui va définir la taille du texte sur 24 pixels.

{i}, {b} et {u}

a "Génial un {i}visual novel{/i} !"

Le tag {i} met en italique le texte jusqu’à ce qu’il soit fermé par {/i}. Il existe également {b} pour mettre en gras et {u} pour souligner le texte (respectivement fermés par {/b} et {/u}).

{w} et {p}

a "C'est un bon début{w}, mais tu sais quel genre d'histoire tu aimerais raconter ?"

Le tag {w} (pour wait) est une pause dans votre texte. Le texte va s’afficher jusqu’à lui, puis le joueur devra cliquer pour que le reste du texte s’affiche, un peu comme un second message de dialogue mais qui s’afficherait à la suite du premier.

a "Très bonne idée, Ren'Py est tout à fait adapté pour une histoire terrifiante...{p}
Je vais t'aider grâce à un super tuto sur le wiki !"

Enfin, le tag {p} est à peu près identique au tag {w} mais plutôt que de continuer sur la même ligne, le texte va s’afficher sur un nouveau paragraphe.

Récapitulatif


Dernière mise à jour le 26 décembre 2020