Tout d'abord, qu'est-ce que c'est un QTE? Le QTE, ou
Quick Timer Event, consiste tout simplement à demander au joueur d'appuyer
en rythme sur une succession de touches apparaissantes en flash à l'écran.
Fort utilisé dans les jeux-vidéo commerciaux depuis l'arrivée de Shenmue sur DreamCast, c'est une façon intelligeante
de rendre le gameplay un peu plus stressant sans pour autant lasser le joueur puisqu'un QTE est en majeure
partie généré de façon alléatoire.
Démo d'un mode QTE pour RmXp fait par Anthéor (lien)
Comment programmer ça sous Rm? De quoi ais-je besoin?Programmer un QTE sous Rm n'est pas très compliqué je vous rassure tout de suite.
Vous aurez besoin d'autant d'images que de touches que vous voudrez utiliser, par exemple:
Je veux que mon QTE intègre les touches "gauche", "droite" et "espace" de mon clavierDans ce cas, ouvrez paint et créez une image représentant chacune de ces touches (Si vous avez la flemme vous
pouvez utiliser celles que j'enploie dans People Catcher pour vous entraîner mais elles sont très moches ^^ Ressources QTE)!
Cela fait, importez les dans le dossier "pictures" de votre projet.
Si vous utilisez MES ressources, ne choisissez pas de transparance car ça risquerait d'être encore plus mocheNous n'aurons maintenant plus besoin d'importer quoi que ce soit de nécessaire à la création de notre QTE
Ouvrez donc votre magnifique Rpg Maker 2003 (oui car ce tuto est prévu pour 2K3)...
Préparation de la carte et des variables/switchs dont j'aurai besoinPour vous entraîner, pas la peine de créer une map énorme avec plein de détails, faites comme moi, à savoir une map toute bête
de 20.15 cases remplie d'herbe ça fera l'affaire
Tout d'abord nous allons avoir besoin de trois variables et de deux swtichs différents, oui, rien que ça
Autant les créer tout de suite, les voici :
Variables- Direction (qui définira la touche sur laquelle le joueur devra appuyer)
- CoupsRéussi (arrivé à 10 (facultatif) le QTE est terminé et réussi)
- DirectionTouche (la variable qui contiendra la valeur de la touche qui sera comparée à celle comprise dans la variable "direction")
Switchs(intérrupteurs)- MJ QTE ((MJ pour Mini Jeu) qui servira d'élément déclencheur pour notre beau QTE ^^)
- Appui d'une touche (je vous expliqerais plus tard, pas la peine de vous embrouiller l'esprit d'avantage)
Voila, c'est tout ce dont nous aurons besoin, nous allons maintenant attaquer la "petite" partie dite, de
programmation La programmation de mon QTE, par où commencer?Rassurez-vous c'est on ne peut plus simple et vraiment pas long à faire (pour exemple je viens de programmer le QTE de ce tuto en 15minutes).
Je pense que dans un premier temps, le mieux serait de créer l'élément qui déclenchera notre QTE! Comme ce tuto ne sert que
d'exemple, inutile d'aller chercher loin prennez une souche d'arbre ou une partie de chipset/charset bien visible sur votre map (moi j'ai
choisi la souche d'arbre en RTP :p ce n'est pas qu'une question de goùt ^^):
Dans cet évènement la seule chose qui doit s'y trouver c'est l'activation du switch "MJ QTE" :
Mettez cet évènement en "demander l'appui d'une touche" bien évidement.
Maintenant créez un nouvel évènement n'importe où sur la map en processus parallèle qui aura pour élément déclencheur
le switch que nous venons de créer, à savoir : "MJ QTE"
Dans cet évènement se trouvera le "gros" du boulot, c'est casiment là dedant que tout va se passer et vous verrez que finalement
il n'y a pas de quoi fouêter un chat:
Argh!! Mais t'avais dit qu'il y aurait trois fois rien...Et je n'ai pas menti. Il n'y a là que trois conditions de branchement répétées avec juste deux options qui changent pour chaqune d'entre-elles.
Je m'explique :
- Tout d'abord, on assigne une valeur "alléatoire" à la variable "Direction", valeur comprise entre 0 et 4 puisqu'il n'y a que 3 choix d'action possibles
(gauche,droite,espace).
Ne faites pas l'erreur de rendre la valeur comprise entre 1 et 3 sinon il ne restera qu'un choix possible, à savoir, la valeur 2!- En suite, on crée une condition pour la première direction possible (si la variable alléatoire tombe sur la valeur 1).
- Dans cette dernière il y met l'image que l'on veut assigner à cette valeur (j'ai choisi l'image de la fleche vers la gauche),ce qui indiquera
au joueur qu'il doit appuyer sur "gauche" à ce moment précis!
- Après quoi on active le swtich "Appui d'une touche" créé au préalable, je vous expliqerait pourquoi après
- On met un temps d'attente (wait) de une seconde (facultatif, c'est le temps d'attente pour passer d'une action à une autre, moin vous en
mettrez, plus le QTE sera difficile à réussir).
- On crée une nouvelle condition : Si la variable "DirectionTouche" est égale à 2 alors...
Pourquoi 2? J'y comprend plus rien, la variable direction indique pourtant la valeur 1 dans cette conditionLa variable "Direction" à effectivement dans cette boucle la valeur 1, ce qui aura pour effet d'afficher l'image avec la
flèche pointée vers la GAUCHE à l'écran. Mais pour la gestion de l'appui des touches, la valeur assignée à la touche
directionelle "gauche" sous Rpg Maker 2003 est "2" - On joue un effet sonor quelquonque pour faire comprendre au joueur qu'il a appuyé sur la bonne touche au bon moment.
- On incrémente la variable "CoupRéussi". Autrement dit, on lui donne "+1" .(Rapellez-vous, quand cette dernière arrivera à 10
le QTE sera réussi
)
<> CASE "SINON" (si le joueur n'a pas appuyé sur la bonne touche à ce moment là)
- Jouer un effet sonor "faillure" pour lui faire comprendre qu'il s'est bien planté
FIN
Il ne vous reste plus qu'à recopier cette boucle 2 fois de suite en oubliant pas de changer les valeurs (gauche = 2, droite = 3, espace = 5).
Faites comme sur l'image, vous comprendrez mieux en éssayant !
Tout à la fin de cette programmation, n'oubliez pas d'éffacer l'image (sinon vous vous baladerez pendant tout le restant du jeu avec un gros pâthé
représentant une flèche directionelle à l'écran...Avouez que c'est pas super esthétique ^^).
De rendre la valeur de la variable "DirectionTouche" égale à "0" (sinon c'est la dernière valeur (touche) qui aura étée entrée par le joueur
qui sera retenue et ça risque fort de faire planter votre QTE).
Et enfin, de mettre un WAIT de une seconde pour éviter que vos boucles ne se répentent sans cesse à une vitesse incroyable =p
.
On y est presque !! Courage, le gros est fait, il ne reste que quelques broutilles à programmer
Créez maintenant un second évènement n'importe où sur la map en processus parallèle également avec cette fois ci pour élément
déclencheur, le switch "Appui d'une touche" :
Vous constaterez qu'il ne contient pas grand chose...Il reste cependant vital au bon fonctionement de votre QTE puisque c'est lui
qui permettra au joueur d'assigner une valeur (direction) à la variable "DirectionTouche".
Procédez donc comme sur le screenshot (je ne pense pas que vous ayez besoin d'explications à ce niveau ^^).
Pour ce qui est de "l'appui d'une touche", faites bien attention à le configurer comme ceci :- Enregistrer le code dans la variable "DirectionTouche" (ben oui, forcément).
- Attendre qu'une touche soit pressée (sinon ça ne sert à rien).
- Et cochez les cases "gauche", "droite" et "décision(espace ou enter)". vous remarquerez que des valeurs sont écrites
à coté de ces cases (2 pour gauche, 3 pour droite etc etc) c'est ce que je vous expliquait plus haut
Cela fait...Passons au... GRAND FINAL !! (ouf)
Le grand final, l'évent qui permettra au QTE de prendre fin...Ben oui...Parce qu'un QTE c'est bien beau mais s'il ne se termine jamais c'est pas pratique non plus hein
Dans ce
dernier évènement en processus parallèle qu'encore une fois vous placerez n'importe où sur la map
vous y inssererez cette minuscule parcèle de programmation :
Elément déclencheur "MJ QTE".
- Condition, SI la variable "CoupReussi" à atteind la valeur 10 (si "CoupReussi = 10")
- Jouer une musique de victoire ^^ (ou peu importe)
- Désactiver le QTE en mettan le switch "MJ QTE" sur OFF
Voilaaaaaaa c'est tout !!! Vous pouvez tester ça fonctionera sans problème.
Sans problème?! Parle pour toi, mon personnage se déplace n'importe où quand je suis en mode QTE!
Salopar de KoZzY tu m'as fait-faire tout ça pour rien hein, avoue !!!Non non rassurez-vous, c'est normal puisque tout se déclenche en processus parallèle, rien n'empêche le héro de se
balader un peu partout...Pour contrer ça vous pouvez mettre le héro en "transparence" et le bloquer avec des évènements
invisibles autour du héro qui apparaîtraient quand la variable "MJ QTE" est activée par exemple
N'oubliez pas de désactiver le menu pour ne pas qu'il apparaisse bêtement pendant votre mini jeu ^^
Voila voila, j'espèce que ça aura permis à certain d'entre-vous de s'améliorer un peu et surtout, que ça vous aura donné des
idées pour nous sortir des trucs originaux =)
Tutoriel QTE par KoZzY pour E-maginationGames