❤ 0 PREAMBULE : A quoi va servir ce système ?
Ce tutoriel représente une partie du système de gunfight amélioré qui sera divisé en plusieurs tutos différents.
Avant de commencer, je vais vous décrire ce à quoi on doit arriver avec ce système complet. Ce système est assez complexe, alors, si vous préférez, vous pouvez toujours télécharger la démo. Jetez malgré tout un coup d’œil à l'explication pour comprendre le fonctionnement.
Ce tuto a été fait pour RMXP, mais il peut être adapté aux autres versions sans trop de mal.
Le gunfight system au complet :
Spoiler (cliquez pour afficher)
CONCERNANT LE SYSTEM
HEROS CUSTOMISABLE
Le héros dispose de 40 points de vie
Le héros peut utiliser 4 armes (interchangeable en pressant les touche pages-haut ou page-bas), ou même plus :
- un pistolet
- un fusil à pompe
- un uzi
- à mains nues
Chaque arme a :
- une portée (à combien de case de distance elle peut toucher)
- une puissance (un nombre de dégats qu'elle inflige)
- un type et un nombre de munitions limité
- un temps de rechargement
Le héros peut avoir un nombre illimité d'équipements. Enfin je suis allé jusqu'à une vingtaine par zone et pas de lags constaté, mais j'ai un PC plutôt puissant.
Les dits équipements peuvent être portés à différentes zones du corps et même superposés pour certains :
- tête
- haut
- bas
- chaussures au dessus du bas
- armure au dessus du haut
- gants au dessus du haut
Chaque équipement permet (ou non) d'avoir un bonus de protection.
ENNEMIS
Les ennemis disposent de points de vie différents.
Les ennemis disposent de puissances différentes.
Certains ennemis peuvent répliquer en tirant.
BONUS
Les zombies ont la capacité de contaminer le héros en le mordant. Celui-ci peut stopper l'infection en s'auto-injectant un antivirus (ou autre chose il s'agit d'un interrupteur).
CONCERNANT LE VISUEL SUR LA MAP
HEROS CUSTOMISABLE
Chaque équipement et chaque arme est visible sur le charset du héros, ce qui le rend hyper customisable.
Le héros s'anime lorsqu'il tire (les équipements aussi donc).
ENNEMIS
Plein de possibilités d'animations mais nous allons passé sur la question (nous verrons ça peut-être dans un prochain tuto).
CONCERNANT L'INTERFACE DU GAMEPLAY
LES ARMES
L'arme utilisée s'affiche sur le coin haut-gauche de l'écran ainsi que les munitions juste en dessous.
Le munitions s'affichent en deux parties :
- pour le pistolet : chargeur et munitions supplémentaires
- pour le fusil : boite de cartouches et cartouches supplémentaires.
- pour le uzi : chargeur et munitions supplémentaires
LA VIE
Une jolie jauge de vie s'affiche sur le coin haut-droit
BONUS
Lorsque le héros est contaminé par un zombie un symbole s'affiche au centre de l'écran et prends de plus en plus de place jusqu'à ce que le héros se transforme et... après gameover ou ce qu'on veut.
CONCERNANT L'ASPECT SONORE
Chaque arme émet un son différent au tir et au rechargement.
Les ennemis poussent différents cris à différents moments.
Ce premier tutoriel va permettre au joueur de personnaliser l'apparence de son héros avec différents équipements.
Réalisation des ressources de personnalisation.
Avant de passer au chapitre suivant je vais vous expliquer comment créer vos propres ressources pour ce tutoriel.
Nous allons créer des ressources un peu à la manière de celle de Charamaker (que je vous invite à tester).
Pour commencer il faut avoir (ou le créer vous même) un template du personnage de base. Comme celui-ci :
Sur ce template à vous de dessiner divers équipements.
Lorsqu'un équipement est créé, il suffit d'effacer le reste du template.
ATTENTION : Pour ce tuto vous devez bien séparer les parties haut et bas parce que c'est plus joli pour les ombres. Les partie tête,armure, gants et chaussures viendront se greffer au-dessus.
CHAPITRE 2 : Un perso entièrement customisable
Je n'entrerai pas dans le détail de la manière de changer d'équipements. Sachez juste que pour changer un équipement , il faut changer la valeur d'une variable.
Vous pouvez par exemple mettre un appel d'événement commun dans un objet de l'inventaire ou un événement commun en processus parallèle avec : "si armure X équipées variable armure==X..."ainsi de suite.
Cependant, cette deuxième option limite le nombre de zones du corps et est, de toute façon, à prohiber si vous voulez réaliser le Gunfight system dans son ensemble.
Enfin vous comprendrez mieux un peu plus tard...
1/ Les ressources
Inutile de vous dire que pour réaliser cette partie du tuto, vous allez devoir avoir une quantité de ressources incroyable. Ne vous inquiétez pas pour cela, j'ai plusieurs solutions à vous proposer.
La première, et celle qui me plait le plus, est d'utiliser les ressources de la démo téléchargeable en fin de tuto. Si l'envie vous vient de customiser certaines ressources, merci de m'envoyer vos créations que je pourrais ajouter à la démo.
La seconde prend un peu plus de temps mais est à considérer. Allez sur charas project et adaptez les ressources pour RMXP (ou pour la version de RM que vous utiliserez).
La troisième c'est d'utiliser les ressources d'un logiciel de customisation de charset du genre de charamaker que vous pouvez télécharger sur ce site ou bien même celui de VX Ace.
La quatrième, et dernière, c'est de les créer vous même comme expliqué au chapitre 1.
2/ Les variables
Nous avons donc dit qu'il y avait différentes zones du corps : tête, haut, bas, chaussures, armure, gants.
Pour chacune, nous allons créer une variable dont la valeur définira l'équipement porté.
Il y aura aussi l'arme qui sera visible et nécessitera donc aussi une variable.
J'ai de mon coté ajouté l'option du teint de peau qui fera donc l'objet d'une autre variable.
Ensuite, pour chaque zone du corps, il faudra ajouter les variables X et Y
Nous allons ensuite créer deux variable pour définir la position du héros en fonction des coordonnées X et Y par rapport à la map.
Nous nous retrouvons donc avec 26 variables :
- teint
- teintX
- teintY
- haut
- hautX
- hautY
- bas
- basX
- basY
- tête
- têteX
- têteY
- armure
- armureX
- armureY
- gants
- gantsX
- gantsY
- chaussures
- chaussuresX
- chaussuresY
- arme
- armeX
- armeY
- HérosX
- HérosY
3/ Programmation
Créez une Map avec un décors que vous appellerez "jeu".
Créez une nouvelle Map vide que vous appellerez "départ".
C'est sur cette Map que nous allons initialiser les variables de départ et lancer le jeu.
Ensuite créez un interrupteur que vous appellerez "habillé"
SUR LA MAP "départ"
Dans cette map, placez la position de départ de l'équipe et mettez un événement en processus parallèle que vous nommerez comme bon vous semble.
Dans cet événement :
1
2
3
4
5
6
7
8
9
10
| <>Opacité du héros==transparent
<>teint== #le héros aura le teint correspondant à la valeur
<>haut==#entrez ici la valeur attribuée l'équipement choisi
<>bas==#entrez ici la valeur attribuée l'équipement choisi
<>tête==#entrez ici la valeur attribuée l'équipement choisi
<>armure==#entrez ici la valeur attribuée l'équipement choisi
<>gants==#entrez ici la valeur attribuée l'équipement choisi
<>chaussures==#entrez ici la valeur attribuée l'équipement choisi
<>arme==#entrez ici la valeur attribuée l'équipement choisi
<>Téléporter le héros #sur la Map1 à la position choisie |
Si un équipement n'est pas équipé (exemple le héros démarre le jeu sans armure ou sans pantalon), il suffit de donner la valeur 0 à la variable concernée.
SUR LA MAP "jeu"
Créez un evenement que vous nommerez "event-teint"
Dans la première page
cochez les conditions :
- "Si l'interrupteur est activé" et choisissez l'interrupteur "habillé".
- "Si la variable est supérieur à", choisissez la variable teint et donnez la valeur 1
- Traverse tout
- vitesse normal
- Processus parrallèle
Donnez l'apparence du template avec le teint que vous avez attribué à la valeur 1
Pareil pour la valeur 2 sur la deuxième page, la valeur 3 sur la troisième page...ainsi de suite
Dans le contenu de chaque page faites ceci :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| <>Variable[Herosy] = Le héros - Coordonnée Y
<>Variable[Herosx] = Le héros - Coordonnée X
<>Variable[Teinty] = [Teint] - Coordonnée Y
<>Variable[Teintx] = [Teint] - Coordonnée X
<>Condition : [teintX]==[hérosX]
<>Condition : [teintY]==[hérosY]
<>
: Sinon
<> Déplacer : cette événement
: :>Un pas vers le héros
<>
: Fin condition
<>
: Sinon
<> Déplacer : cette événement
: :>Un pas vers le héros
<>
: Fin condition
<> Condition Le héros - Direction haut
<> Déplacer : [teint]
: :> Regarde vers le haut
: Sinon
<> Condition Le héros - Direction bas
<> Déplacer : [teint]
: :> Regarde vers le bas
: Sinon
<> Condition Le héros - Direction gauche
<> Déplacer : [teint]
: :> Regarde vers la gauche
: Sinon
<> Condition Le héros - Direction droite
<> Déplacer : [teint]
: :> Regarde vers la droite
<>
[img]smileys/edente.gif[/img]in condition
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition |
Créez un événement pour chaque zone du corps de la même façon ainsi que pour l'arme.
ATTENTION !!! L'événement teint (qui represente le template de base sur lequel viendront se graffer les équipements) doit être créé et placé en tout premier sur la map. Les événements du haut et du bas doivent être créés juste après et placé en second sur la map pour apparaître en-dessous des autres et juste au dessus du template. Ensuite, celui de l'arme en dernier pour apparaître au-dessus du reste.
Créez un événement que vous appellerez "Start" ou Initialisation.
Dans la première page, en processus parallèle :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<>Variable[Herosy] = Le héros - Coordonnée Y
<>Variable[Herosx] = Le héros - Coordonnée X
<>Téléporter : [teint], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [bas], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [haut], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [tete], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [armure], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [chaussure], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [gants], Variables X[HerosX], Variables Y[HerosY]
<>Téléporter : [arme], Variables X[HerosX], Variables Y[HerosY]
<> Condition Le héros - Direction haut
: <> Déplacer : [event-teint]
: :> Regarde vers le haut
: <> Déplacer : [event-bas]
: :> Regarde vers le haut
: <> Déplacer : [event-haut]
: :> Regarde vers le haut
: <> Déplacer : [event-tete]
: :> Regarde vers le haut
: <> Déplacer : [event-armure]
: :> Regarde vers le haut
: <> Déplacer : [event-chaussures]
: :> Regarde vers le haut
: <> Déplacer : [event-gants]
: :> Regarde vers le haut
: <> Déplacer : [event-arme]
: :> Regarde vers le haut
: Sinon
<> Condition Le héros - Direction bas
: <> Déplacer : [event-teint]
: :> Regarde vers le bas
: <> Déplacer : [event-bas]
: :> Regarde vers le bas
: <> Déplacer : [event-haut]
: :> Regarde vers le bas
: <> Déplacer : [event-tete]
: :> Regarde vers le bas
: <> Déplacer : [event-armure]
: :> Regarde vers le bas
: <> Déplacer : [event-chaussures]
: :> Regarde vers le bas
: <> Déplacer : [event-gants]
: :> Regarde vers le bas
: <> Déplacer : [event-arme]
: :> Regarde vers le bas
: Sinon
<> Condition Le héros - Direction gauche
: <> Déplacer : [event-teint]
: :> Regarde vers la gauche
: <> Déplacer : [event-bas]
: :> Regarde vers la gauche
: <> Déplacer : [event-haut]
: :> Regarde vers la gauche
: <> Déplacer : [event-tete]
: :> Regarde vers la gauche
: <> Déplacer : [event-armure]
: :> Regarde vers la gauche
: <> Déplacer : [event-chaussures]
: :> Regarde vers la gauche
: <> Déplacer : [event-gants]
: :> Regarde vers la gauche
: <> Déplacer : [event-arme]
: :> Regarde vers la gauche
: Sinon
<> Condition Le héros - Direction droite
: <> Déplacer : [event-teint]
: :> Regarde vers la droite
: <> Déplacer : [event-bas]
: :> Regarde vers la droite
: <> Déplacer : [haut]
: :> Regarde vers la droite
: <> Déplacer : [event-tete]
: :> Regarde vers la droite
: <> Déplacer : [event-armure]
: :> Regarde vers la droite
: <> Déplacer : [event-chaussures]
: :> Regarde vers la droite
: <> Déplacer : [event-gants]
: :> Regarde vers la droite
: <> Déplacer : [event-arme]
: :> Regarde vers la droite
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition
<>
: Fin condition
<> Attendre la fin des déplacements
<> Interrupteur [habillé] = Activé
|
Dans la deuxième page :
Cochez "si l'interrupteur est activé", choisissez l'interrupteur "habillé" et ne mettez rien.
Ensuite il vous suffira de mettre les même événements precedement citer sur toutes les Maps.
Attention lorsque vous changer de map ou d'équipement pensez à désactiver l'interrupteur "habillé" pour que le jeu réinitialise la position et l'apparence des équipements.
Démo avec le Gunfight complet : CLIQUEZ ICI (Archive)
|