Scènes de Visual Novel¶
Ajouter un script¶
Dans le dossier Assets/YarnScripts,
créez un nouveau script Yarn ayant pour extension de fichier .yarn.txt
(important).
Modifier un script (Yarn)¶
Les scripts sont écrits dans le langage Yarn (documentation).
Afin d’éditer les nodes et scripts, utilisez l’éditeur Merino qui est inclut avec le projet dans le menu Window :
Window > Merino (Yarn Editor)
.
Les dialogues¶
Un dialogue se compose ainsi :
Eve: Hey, I'm a character speaking in a dialogue!
Bob: Wow! Me too!
I'm a narrative guy I guess...
Les nœux (nodes)¶
Le node de base : Start
Eve: Hi! [[ NodeInTheWoods ]] Eve: I'm back.
Ce node instruit Eve a dire bonjour et à aller dans les bois, donc dans le node
NodeInTheWoods
, Eve ne reviendra jamais des bois, car c’est unGOTO
.Le node dans les bois : NodeInTheWoods
Eve: the woods are so scary...
Les choix de nœux¶
Si nous souhaitons laisser le choix à l’utilisateur entre aller dans le nœu de la maison hantée ou dans le nœu de la plage on fera :
Eve: where should I go...
[[ The haunted house | HauntedHouse ]]
[[ The beach | Beach ]]
Les choix simples¶
Si vous souhaitez faire en sorte que l’utilisateur puisse choisir pour executer un dialogue puis retourner à l’exécution normale, faites :
Mae: What did you say to her?
-> Nothing.
Mae: Oh, man. Maybe you should have.
-> That she was an idiot.
Mae: Hah! I bet that pissed her off.
Mae: Anyway, I'd better get going.
Les choix conditionnels¶
Si vous souhaitez afficher des actions seulement dans certains cas, vous avez la possibilité de faire cela :
<< set $money = 2 >>
Bob: What would you like?
-> A burger. << if $money >= 5 >>
Bob: Nice. Enjoy!
-> A soda. << if $money >= 2 >>
Bob: Yum!
-> Nothing.
Bob: Thanks for coming!
Les déclarations de variables et de conditions¶
Vous pouvez déclarer des variables avec des expressions et
des conditions avec les mots if
, elseif
et else
.
<< set $number_of_hostages = 12 >>
<< set $hostages_saved = 1 >>
<< set $hostages_saved = $number_of_hostages / 2 >>
<< if $hostages_saved == $number_of_hostages and $time_remaining > 0 >>
You win the game!
<< elseif $hostages_saved < $number_of_hostages and $time_remaining > 0 >>
You need to rescue more hostages!
<< elseif $bomb_has_exploded == 0 >>
You failed to rescue the hostages before time ran out!
<< else >>
You failed everything.
<< endif >>