[RM2K]Animations et autres astuces pour vos graphismes (par SaniOKh)

Démarré par SaniOKh, 19 Novembre 2005 à 14:44

0 Membres et 1 Invité sur ce sujet


TUTO PAR SANIOKH
Plus beau, le jeu!

Eh oui, j'écris encore un tutorial, cette fois-ci moins grand, mais utile quand même.
Alors le sujet du jour est "Graphismes des jeux RPG Maker 2000/2003". Non, non, je ne reprends pas le tuto deCham sur la création de ses propres graphismes, je balance juste quelques idées sympathiques pour améliorer votre jeu par le biais des animations.
Allez, c'est parti:

1)Etangs avec le fond visible.
C'est un coup plus ou moins connu. Alors, créez un nouveau charset et mettez-y des chips d'eau. Pour devoir utiliser moins d'events, préféréez pour une pile de deux chips par charset, mais faites-en un autre avec un chip... enfin, regardez le screenshot si vous ne comprenez pas ^^



Une fois que c'est fait, créez des événements qui n'ont pas d'action, qui se trouvent en-dessous de l'héros, qui ont pour charset le charset que vous venez de faire (tournez l'événement dans la bonne direction si le graphisme n'apparaît pas) , qui ont pour animation "direction fixe" (de sorte qu'ils s'animent) et surtout qu'ils soient à moitié transparents. Disposez-les comme ça:



Maintenant lancez le jeu et... bingo!




2)Ah... je m'ennuie...
Dans les vieux jeu de plate-forme, le personnage, quand il ne bouge pas depuis un bon moment, nous fait une animation comme quoi il s'ennuie. Je ne vais pas m'approfondir dans la création d'une telle animation, mais voici une astuce pour introuduire ce genre d'animations.
On introduit deux variables [TOUCHE] et [ATTENTE] ainsi qu'un switch [ANIMATION_ATTENTE]
Créez un événement à deux pages.

Citation de: première pageConditions de départ: aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Attendre 1.0 seconde
<>Variable [ATTENTE] + 1
<>Fork: Si [ATTENTE] = 10
_<>Switch [ANIMATION_ATTENTE] = ON
_<>FIN
<>

Citation de: dernière pageConditions de départ: [ANIMATION_ATTENTE] Activé
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<> // ce que vous voulez que le perso fasse après avoir attendu pendant 10 secondes

Créons ensuite un deuxième événement à 1 page.
CitationConditions de départ:aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Détecter appui touche [TOUCHE] // laissez tout coché
<>Fork: Si [TOUCHE] != 0
_<>Variable [ATTENTE] = 0
_<>Fork: Si [ANIMATION_ATTENTE] Activé
__<> // placez ici les événements qui annulent les effets de l'animation d'attente, comme par exemple, si le perso change de sprite suite à une attente de 1à secondes, placez ici la commande qui lui rendra le sprite original
__<>Switch [ANIMATION_ATTENTE] OFF
__<>FIN
_<>
_<>FIN
<>


Vous avez certainement compris le procédé: toutes les secondes, [ATTENTE] augmente de 1. A 10, le switch responsable de l'animation s'active et l'animation se produit. L'autre événement met à 0 la variable [ATTENTE]  quand n'importe laquelle des touches est appuyée (vous pouvez décocher certaines touches dans "Détécter appui touche" si vous ne voulez pas qu'elles remettent à 0 la variable) et, si l'animation est en cours, la coupe et annule ses effets.
Vous pouvez mettre n'importe quel effet: en commençant par un bête changement de sprite ou par une animation de combat qui apparait périodiquement sur le personnage, et jusqu'à suivre l'exemple du jeu Sonic CD, ou après avoir attendu cinq minutes sans rien faire, Sonic disait "Je m'en vais" et le jeu revenait à l'écran titre.

3)Cligner des yeux
Un autre grand classique. Créez un charset identique à celui avec votre personnage, mais avec les yeux fermés.
Maintrenant, créez un événement à une page:
CitationConditions de départ:aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Attendre 5.0 secondes
<>Déplacer événement: Héros (changer de sprite) // ici, vous changez tout bêtement de sprite du perso en celui avec les yeux fermés
<>Attendre 0.2 secondes
<>Déplacer événement: Héros (changer de sprite) // ici, vous redonnez à l'héros son sprite initial

C'est tout ^^

4) Trois animations par chipset? C'est du passé si on sait comment faire ^^
Vous savez de quoi je parle, des animations qui servent normalement à faire les cascades, les tourbillons dans l'eau... ces animations se trouvent pas loin des chips d'eau sur les chipsets, et ne sont pas dépourvues de défauts:

  • Elles ne sont que trois.
  • Elles rattachent à elles les chips d'eau.
  • On ne peut pas définir leur vitesse.
Allez, il est temps de se rébeller :)
Dans le chipset, s'il vous reste quelques emplacements libres pour vos chips, dessinez les trois (pour l'instant) étapes de votre animation sous forme de chips tout à fait normaux.
Dans une map, aux endroits où vous voulez faire une animation, placez les premièrs chips de votre animation.
Puis, dans la map concernée, créez un événement:
CitationConditions de départ:aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Attendre 0.2 secondes
<>Changer chip // comme chip de départ, choisissez le premier chip de votre animation, comme chip d'arrivée le deuxième
<>Attendre 0.2 secondes
<>Changer chip // comme chip de départ, choisissez le deuxième chip de votre animation, comme chip d'arrivée le troisième
<>Attendre 0.2 secondes
<>Changer chip // comme chip de départ, choisissez le troisième chip de votre animation, comme chip d'arrivée le premier

Je ne vous dis pas comment ajouter des étapes à l'animation ou comment changer sa vitesse c'est tellement évident :) . Et cette anim' a le mérite de ne pas rattacher les chips d'eau.
Vous pouvez faire le coup avec la couhe basse ou avec la couche haute. Souvenez-vous seulement que tous les chips de l'animation doivent se trouver dans la même couche!

5)Y a du vent...
Ah, j'en vois déjà qui se ruent sur leur RPG Maker pour faire les animations pour les chips des terrains (vous savez, les chips du début de chipset, à gauche, qui se rattachent les uns aux autres) , mais voilà: ces chips ne  peuvent pas paticiper aux animations... alors si vous voulez que vos arbres bougent avec le vent, il est temps d'employer une méthode plus radicale.

Créez une copie de votre chipset. Dans cette copie, modifiez ou redessinez les arbres ou les terrains concernées de sorte que les arbres/terrains redessinés soient comme une prochaine étape de l'animation. Vous pouvez faire d'autres étapes de cette animation, autant que vous voulez (pas trop, quand même, pour ne pas rendre le jeu trop lourd avec tous ces chipsets ^^) .

Maintenant, créez un événement à une page:
CitationConditions de départ:aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Attendre 1.0 secondes
<>Changer chipset // choisissez le prochain chipset de votre animation
<>Attendre 1.0 secondes
<>Changer chipset // choisissez le prochain chipset de votre animation
<>Attendre 1.0 secondes
<>Changer chipset // choisissez le prochain chipset de votre animation

...etc

<>

Si vous voulez, vous pouvez changer le temps d'une anim'... enfin, quand vous lancez le jeu, vous voyez que les terrains sur la map en question s'animent. Dans notre exemple, les arbres bougent avec le vent :)

6)L'eau reflète le ciel
Je n'ai pas vu ce procédé dans aucun jeu avant le mien (trop de modestie tue la modestie, non, je plaisante :P ) . Alors voilà une astuce pour embellir votre eau dans les espaces extérieurs.
Assurez-vous qu'un fond panoramique n'est pas utilisé pour la map en question.
Créez un fond panoramique avec le ciel. Puis changez les couleurs de ce fond de sorte de le rendre bleuté et plutôt foncé, puisque ce sera notre reflet.
Minatenant éditez le chipset de la map concernée. Dans les chips d'eau, une couleur prédomine: le bleu. Changez ce bleu en transparent.
Ouvrez la map concernée et mettez comme fond panoramique le fond que vous venez de faire. N'ouvliez pas de faire de sorte que le fond se déplace lentement tout seul.
Maintenant, lancez le jeu et admirez :) Je n'ai par contre pas trouvé le moyen de faire les reflets des personnages.

7)La nuit, toutes les animations sont grises
Si vous faites un ARPG, vous avez certainement dû voir apercevoir que  l'animation de combat a une tendance fâcheuse de récouvrir les chips qui se trouvent au-dessus de l'héros et la couleur générale de l'écran (si vous avez teinté l'écran, par exemple, pour l'effet de la nuit) . Pour les chips, c'est vite réglé, un événement qui bloque l'animation le temps d'entrer et de sortir, et c'est bon. Mais pour la couleur...
Pour la couleur, créez une image de taille 320*240 remplie de la couleur de votre choix ou noire. Placez-là dans le dossier "Pictures".
Maintenant, créez un événement à une page sur la map en question:

CitationConditions de départ:aucune
Sprite: rien
Vitesse et fréquence: immobile
Type de mouvement: n'importe, puisqu'il ne bouge pas
Lancement: Processus Parallèle

En code:
<>Afficher image //vous affichez cette image. Teintez-la si elle est noire ou si la couleur ne vous convient pas. Rendez-la transparente, mais pas totalement.
<>

Par ce procédé, vous placez sur l'écran une image qui recouvre l'écran . Les images "Pictures" ont la bonne propriété de récouvrir les animations de combat.

8)Je veux que le fond s'anime!
Maintenant que vous avez compris le mécanisme des animations qui se font en changeant le chipset, la possibilité d'en faire autant avec les fonds en panorama apparaît comme évidente :)
Mais dois-je vraiment vous réexpliquer le processus de la chose?

Si j'en trouve d'autres, je vous fais savoir :)
En attendant, bon making à vous :)