Avant propos:
J'ai décidé de poster l'ensemble de mes tutoriaux sur l'ensemble des forums où j'ai participé pour permettre aux makers de toutes les communautés de profiter d'une base de tutoriels identiques.
Oui, ce sont des copier/coller de tutoriels que j'ai réalisé et posté par le passé ailleurs.
Merci de votre compréhension
Comment faire des personnages et des objets récurrents facilement ?
Suite à une demande d’un de mes contacts, je poste ce petit tutorial pour réaliser des events qui reviennent régulièrement dans le jeu.
En ce qui me concerne, je classe les events en trois niveaux d’importance :
Les events primaires : Essentiels au jeu, ils sont forcément personnalisés et uniques et portent en eux le scénario du jeu.
Les events secondaires : Ils permettent de se mettre dans l’ambiance du lieu en citant celui-ci dans le texte ou des événements liés au moment de la visite ou encore aux actions du héros. Ils ne sont pas composante directe du scénario mais participent au background de façon active.
Les events tertiaires : Ce sont les events qui motivent les joueurs à chercher dans les maisons, à parler à tout les protagonistes d’un lieu.
Les deux premiers types d’events étant bien spécifiques à chaque jeu, il est inutile de s’attarder dessus, par contre les events tertiaires peuvent être générés en masse et être crédibles dans n’importe quelle situation.
Je vous conseil de mettre sur une map à part ces events pour pouvoir faire des copier coller
C’est une bonne idée d’intégrer une variable pour chaque event si on souhaite rendre plus personnalisés les dialogues. Autant les faire au milieu des variables de 1 à 5000 c'est-à-dire à partir de 2500 permettant ainsi de mettre les variables du jeu au début et à la fin sans trop de souci.
1 les personnages tertiaires
Le villageois qui se promène, l’enfant qui joue, le vendeur ou un habitant d’une maison sont des personnages que nous retrouvons systématiquement partout. Il est possible de générer aléatoirement les dialogues et de garder en mémoire ce qu’ils ont dit pour, soit redire la même chose, soit quelque chose en rapport.
Tout d’abord il faut évidement garder une variable lançant l’aléatoire et mettre des notes sur les variables suivantes. N’hésitez pas à être précis en indiquant : Villageois qui se promène 001 ou coffre 001 par exemple
Suivant le nombre de dialogues imaginés pour la situation choisie, vous mettez d’abord : Rendre égale à une variable entre 0 et XXX. Pour l’exemple j’ai mis 100.
+ Si vous voulez que le protagoniste reste avec le même message aléatoire il suffit d’ajouter
Si vous utilisez un windows message particulier, n’hésitez pas à mettre un message vide avec les choses utiles dans la première condition avant de continuer les autres. Ce qui donnerait par exemple pour le script Universal Message System v1.5.0 by Ccoa
Vu que c’est un magasin, il faut quand même ouvrir le magasin
+ Si vous voulez que le protagoniste reste avec le même message aléatoire il suffit d’ajouter Interrupteur local A activé
N’hésitez pas à utiliser les touches de raccourci pour faciliter la tache :
Ajouter une commande : Entrée
Editer une commande : Espace (bien pratique pour éditer les dialogues)
Copier : [CTRL]+C
Coller : [CTRL]+V
(Bien pratique pour faire une liste de commande d’events à modifier
Voilà comment on peut commencer à partir de cette base :
Une fois modifiés, on a notre première page toute prête.
Vu que là c’est un marchand, soit on reste sur un aléatoire sans passage à la page suivante, avec différentes formules de politesse, soit on reste sur celle générée.
+ La seconde page du marchand est très simple : Puisse que la variable event 1 a enregistré le dialogue d’origine il suffit donc de faire la seconde page comme il suit grâce à un simple copier coller modifié:
On garde les conditions de choix de dialogue et on met au départ :
Rendre égale à la valeur event 1 (identité du marchand en question)
Evidement pour les autres protagonistes, le principe reste exactement le même. Après ? Il suffit de changer le character (éventuellement) et passer de event 1 en variable à event 2. C’est très rapide et efficace.
2 Les coffres tertiaires
On commence par son ouverture (logique)
On peut toujours utiliser la même variable d’aléatoire de départ pour générer le dialogue.
Vous pouvez aussi rajouter un élément aléatoire définissant le nombre de certaines choses que vous trouvez : Argent, points d’expérience…
Vu que c’est un coffre, par définition l’onglet 2 indique qu’il est vide.
3 Les jarres, les livres et le mobilier.
Ce qui peut être original et intéressant c’est bel et bien de faire le même système que pour les PNJ pour des éléments du décor qui pourraient être fouillés par les joueurs.
Là soit on fouille et on constate rien d’intéressant
Soit il peut arriver que l’on trouve quelque chose d’utile.
Il faudra prévoir dans le cas où l’on peux se retrouver pour le même objet dans l’une ou l’autre des situations suivant votre bon vouloir. Il y aura donc deux solutions : Vous laissez le côté aléatoire de la chose ou vous souhaitez maîtriser quel moment et quel objet peux donner quelque chose ou pas. Si vous voulez laisser faire le côté aléatoire de la chose il faudra tout simplement travailler sur trois onglets.
L’onglet de départ générant l’aléatoire
Le second onglet tournant sur l’élément trouvé non pris par le héros
Le troisième onglet indiquant qu’on a déjà récupéré quelque chose à cet endroit.
Pour les livres, que mettre ? Des extraits de livres déjà écrits ? Ou une suite que vous avez vous-même écrite d’une traite parsemée dans tout le jeu ? C’est à vous de voir, mais si vous faites une quête pour les passages de livre, ce n’est plus un event tertiaire mais secondaire, et donc ce tutorial, même si il peux vous aider, ne peux être suivi à la lettre.
Pour les jarres, que peux contenir une jarre ? Pour le mobilier, tout dépend de son apparence. Dans chaque cas il faudra un événement spécifique sinon ça risquerait d’être très vague du genre :
Non, il n’y a rien d’intéressant ici. Je vois rien. Je fouille et je vois des trucs. Ect… Bref très général. Alors que si on se fixe sur un type d’objet, c’est plus précis sans être très spécifique. Comme les fameux passages du jeu de Monty Python où l’on fouille un tonneau : Ceci est un tonneau, et il contient un hareng saur. Ceci est un tonneau et il contient 160 Po… sauf que dans le jeu en question on peut ouvrir beaucoup de fois le tonneau alors que dans un RPG c’est mal venu.
Voici un exemple d’architecture qui pourrait être utilisée :
4 Les portes
Les portes sont toutes à fonction identique et s’utilisent logiquement de la même façon. Il y a deux choses à faire pour une porte : L’entrée et la sortie.
Si il y a téléportation, il faut donc inclure après la téléportation et cela dans l’évent qui l’appelle, les actions effectuées. Comment faire ? Très simple, en repairant quel est l’identité de l’event vers lequel on téléporte le protagoniste. Cela signifie bien sur d’éditer avec délicatesse les events, mais rend bien plus crédible le résultat.
Voici un exemple de ce qu’on peut réaliser :
On peux choisir évidement les trois possibilités Par la touche action, au contact du héros ou encore contact événement/héros
Cet event porte peux être utilisé autant à l’intérieur qu’a l’extérieur, il suffit tout simplement de retirer la téléportation. Dans ce cas là il n’est pas nécessaire de faire le premier event dont je parle. Seule la porte suffit.
Voici qui clôture le tutorial sur les events récurrents, si jamais il y a des questions ou autres n’hésitez pas. Pensez bien à faire une map à part en y incluant les events créés pour faciliter la copie et le collage.
Les téléports plus réalistes
La plupart des RPGs utilisent la téléportation assez simplement :
On arrive au bout de la carte là où l’on doit aller et on est amenés dans la map suivante à un point donné. Ceci est plus simple et rapide mais pas forcément réaliste.
Je propose dans ce tutoriel de réaliser des téléportations crédibles et facile à faire.
Avant tout il faut réaliser les maps. Prenons quelque chose de simple : Une plaine avec quelques endroits inaccessibles.
Sur cette carte, nous pouvons nous rendre en bas ou à droite. Les maps suivantes doivent donc être raccord avec les cartes précédentes. C'est-à-dire sembler être la continuité de la précédente. Pour ce faire, le meilleur moyen est de copier un bout de la carte précédente et la coller sur la suivante
Clic droit copier, puis sur l’autre carte, clic droit coller. Maintenant, il suffit simplement de faire la map autour de ce départ selon votre idée du lieu en question. Pour l’exemple, cela donne ceci :
Maintenant, nous allons réaliser l’event de téléportation (clic droit placer un event ou ENTREE). Clic droit dans la partie droite de l’event, puis ajouter une commande : Gestion des variables, une seule, celle que vous voulez. Puis cliquez sur rendre égale à événement : coordonnées X du héros. Pensez à nommer votre variable pour mieux l’identifier. Le tout en processus parallèle bien évidement
Il faut tout d’abord regarder votre carte pour le reste des instructions. Dans mon exemple si le héros va sur la 14eime case en bas, il est au bout de la carte, le décor l’empêchant d’aller dans des endroits non prévus. Et à droite il est au bout de la carte dès la 19ieme case et donc devrait passer à l’autre map.
On ajoute donc des conditions à notre event (même méthode que précédemment sauf qu’on sélectionne conditions) Pas besoin d’exécuter d’autres si la condition n’est pas rencontrée, c’est donc à décocher.
Là il faut bien intégrer ce qu’est l’axe X et l’axe Y. L’axe X est l’horizontal et l’Y la verticale. Un moyen mnémotechnique (comme un autre) pour s’en souvenir est de se rappeler que le V de verticale ressemble au Y. Ce qui signifie que le héros qui va vers la droite se déplace sous l’axe X et quand il part vers le bas dans l’axe Y. Il faut aussi définir la carte vers laquelle se dirige le héros. Pour savoir le numéro de la carte, c’est très simple surtout si vous ne l’avez pas renommée. Sinon c’est clic droit sur la carte, puis propriétés de la carte. Vous pouvez changer le nom. Petit conseil même temporaire : Mettez le numéro de carte à la fin du nom pour plus de facilité.
Il est nécessaire d’ajouter une condition pour éviter les bugs. C'est-à-dire vers où regarde le héros. Ce qui donne donc :
Le résultat est quand même bien meilleur et relativement pratique. Une fois l’event fait, il y a peu de modifications à faire dessus et donc, il peut être copié et collé ailleurs pour y être modifié.
Il ne vous reste plus qu’à faire cela sur toutes les cartes.
Tilesets plus praticables
Nous allons apprendre comment bien configurer un tileset pour plus de réalisme.
Dans base de données (F9) gestion des chipsets, sélectionnez nombre maximum d’éléments et mettez un de plus (par exemple). Mettez un nom dans la partie Nom et choisissez un chipset. Pour le tutorial, on va prendre un existant, car même ceux là on peux les améliorer niveau praticabilité. Mais avent tout un petit rappel (qui est un copier coller d’une partie d’un de mes tutos)( en hide pour ceux qui sont déjà initiés)
- Spoiler:
Les parties les plus importantes étant à droite de l’onglet, on va parler succinctement :
Vous pourrez déterminer pour chaque carte 7 auto-liables différents. Mais aussi sélectionner le panorama, le brouillard et l’arrière plan des combats.
Nous allons maintenant parler plus en détail des boutons de droite
Praticabilité :
Détermine si vous pourrez passer un obstacle (ou autre chipset) ou non. Le cercle signifie que vous pouvez passer (sauf dans le cas où le sens de passage a été modifié), et la croix que vous ne pouvez pas. Utiliser la praticabilité est plus rapide que d’utiliser le sens de passage, mais est moins réaliste dans bon nombre de cas. N’hésitez pas à prendre le temps de vérifier votre tileset en faisant quelques essais.
Sens de passage :
Représenté par quatre flèches partant du centre vers l’extérieur d’un carré. La flèche indique la possibilité de traverser la ligne d’un coté de ce carré. Si elle n’est pas présente, vous ne pourrez pas franchir cette ligne imaginaire. Ni dans un sens, ni dans l’autre.
Cela permet de plus coller au décor, mais surtout de rendre plus réalistes les déplacements. Mais aussi de faire des maps plus serrées, qui seraient impossibles à visiter si l’on utilisait uniquement la praticabilité.
Priorité de superposition:
C’est une partie qui peut vous donner des cauchemars dans certains cas.
Sachez qu’il existe des priorités dans les superpositions. Le niveau 5 sera toujours au dessus du niveau 4, le niveau 4 toujours au dessus du niveau 3, ect…
Vous pourrez incrémenter en cliquant sur le bouton gauche de la souris et décrémenter sur son bouton droit. Ce détail peut vous faire gagner pas mal de temps lors des importations et du paramétrage de vos tilesets.
Niveau 0
C’est considéré comme étant le sol. Sachez que votre héros, si il peut traverser cet objet le fera comme si il marchait dessus.
Niveau 1
On pourrait dire que c’est le niveau des chevilles de votre héros, il aura exactement le même comportement et le même effet visuel que pour le niveau 0. Mais cela permet de jongler efficacement sur deux niveaux de sol où le héros peut éventuellement passer par-dessus : Livres, mouchoir, …
Sachez que mettre un tronc d’arbre (le tout début du pied de l’arbre) en niveau 1 ne donnera aucun effet visuel crédible.
Niveau 2
C’est à partir de ce niveau que l’effet visuel se faire ressentir. Quand vous traversez ce carré, la tête du héros disparaîtra puis ensuite le corp comme pour donner une impression d’insertion progressive.
Niveau 3, 4 et 5
Le héros passera en dessous comme si c’était un plafond ou autres. Trois niveaux, c’est des fois à peine assez pour décorer ce qui se trouve au dessus du héros, il vous faudra des fois jongler pour réussir l’effet désiré.
Il est important de signaler que la priorité de superposition est maîtresse dans le mapping.
Cela signifie que la priorité de superposition surpasse toujours la priorité que peut avoir les couches (voir les parties sur le mapping) lors du mapping.
Carreaux obscurcissant:
Permet de donner un aspect de profondeur allant jusqu’aux chevilles quand le héros traverse de l’herbe ou de l’eau. Cela obscurci jusqu’aux genoux environ.
Carreaux d’interaction :
Souvent utilisé quand on parle à un PNJ par delà un objet prenant une case, les carreaux d’interactions sont légion pour les magasins par exemple. Vous remarquerez facilement que sans cela, il vous serait impossible de parler à un PNJ se trouvant par exemple
Terrain :
Permet de donner au terrain une valeur de 0 à 7. Cette valeur sera utilisée dans une variable et certainement dans une fourchette de condition pour déterminer des actions précises prévues par le script du jeu. Cela vous permet par exemple de faire une map monde avec des ralentissements ou des impossibilités de circuler sans véhicule adéquat.
Cela permet aussi de rendre inaccessible très simplement un type de terrain si on n’a pas le bon objet, vaincu le bon boss, ou tout autre restriction. La condition s’appliquera systématiquement à tout carré posé de la sorte (sauf certains cas de superpositions).
La méthode que je conseil est de commencer par mettre des croix sur les terrains non praticables puis ensuite passer par la priorité de superposition (clic gauche pour +1 et clic droit pour -1) Inspirez vous des tilesets déjà existants et améliorez les à mesure de vos mapping pour chaque partie du décor.
Ensuite, il faut savoir que les maps par défaut ne sont pas forcément praticables et vous obligent à faire plus grand pour que le héros passe. Ce qui n’est pas du meilleur effet et des fois pas très réaliste.
Sur la partie à gauche de la map, il y a un espace de un carreau, pourtant le héros ne peux pas passer. C’est là qu’on peut optimiser pour qu’il puisse passer
Il suffit pour cela de faire comme sur la partie sélectionnée
Les flèches indiquent les endroits où l’on peut aller et le sens de mouvement possible. Il suffit donc d’arrondir les angles.
Il y a aussi les bords de précipices où l’on est à une case de là où l’on devrait être.
En modifiant correctement la partie concernée comme indiquée à droite dans la partie suivante :
Vous obtiendrez un résultat quand même bien plus proche de la réalité