Gun Battle Map Editor

Chapitre 4 - Fabrication d'une arme

 

1) Introduction

Les armes sont absolument indispensables dans une carte digne de ce nom (il n'y a qu'à regarder le titre du jeu ;). L'éditeur permet de créer ses propres armes en laissant une large gamme de possibilités, mais est du même coup assez délicat à utiliser. Voilà la première des parties de ce tutoriel qui sont un peu délicates à comprendre et à utiliser. Arriver du premier coup à faire les armes que vous voulez est compliqué, mais avec un peu de perséverance l'habitude vient rapidement. Nous allons commencer par créer une arme la plus simple possible, puis rajouter quelques parametres, et enfin voir un apperçu de ce que peut être une arme complexe.

 

2) Ajout d'une arme basique

Vous avez sans doute remarqué que vous pouviez tirer dans les cartes que nous avons déjà réalisées au fur et à mesure de ce tutoriel. Et pourtant, nous n'avons pas encore défini d'arme. Mais si vous regardez de plus près, vous vous appercevrez que l'arme de base est totalement incomplete, elle n'aurait aucun effet sur d'éventuels ennemis, et elle passe à travers les murs. Nous allons donc créer une arme très simple pour commencer : le pistolet.

Selectionnez "Elements » Armes" pour ouvrir le panneau des armes. Comme pour les animations et objets, vous avez une barre défilante afin de choisir le n° de l'arme à définir, sachant que l'arme n°0 est celle possedée par tous les joueurs dès qu'ils apparaissent. C'est celle-là que nous allons modifier dans un premier temps, afin de pouvoir la tester rapidement.

Commencez par donner un nom à votre arme, par exemple "Pistolet", sachant qu'il apparaitra à l'écran au moment ou le joueur ramassera l'arme. Laissez les quatre barres de défilement suivantes dans leur position initiale, ne modifiez pas le sprite à afficher, et ne cochez aucune des trois cases de la partie de droite.

La raison pour laquelle cette arme n'a aucun effet est que son comportement n'a pas encore été définit. Nous allons le faire par le biais des conditions / effets disponibles. Comment notre arme doit-elle se comporter ? Très simplement : si la balle touche un mur, on la détruit, si elle touche un joueur ennemi on lui inflige des dégats et on détruit également la balle (pour éviter qu'elle ne lui passe à travers), ceci fait trois conditions.
Cliquez sur "Add" et vous verrez un element "Effet n°1" apparaitre dans le menu déroulant. Les deux menus "Condition" et "Effet" sont eux aussi disponibles. Nous allons définir notre premier effet : quand la balle touche un mur, la détruire. Selectionnez donc "Touche mur" dans la condition, et "Détruire" dans l'effet.
Ceci fait, cliquez à nouveau sur "Add" pour ajouter un deuxième effet. Cette fois-ci, il faut indiquer que la balle inflige des dégats aux ennemis qu'elle touche. Selectionnez donc "Touche joueur" comme condition, et "Dégats" comme effet. Vous verrez une des barres de défilement devenir utilisable, elle sert à indiquer le nombre de points de dégats infligés par la balle. Reglez cette barre sur 20. Notez que si vous laissez le pointeur de la souris sur le mot "Dégats :", une bulle d'aide apparaitra vous expliquant rapidement de quoi il s'agit, ainsi qu'une note précisant que cet effet ne fonctionne qu'avec la condition "Touche joueur".
Il nous reste un dernier effet à définir : la destruction de la balle après avoir touché un joueur. Cliquez une troisième fois sur "Add", et ajouter une condition "Touche joueur", ainsi qu'un effet "Détruire".

Notez que l'ordre des effets est important : le fait de mettre la condition "Touche mur" au début ou à la fin ne change rien, par contre inverser les deux évenements lors d'une collision avec un joueur poserait problème. Tel que nous l'avons définit, une collision avec un joueur lui inflige des dégats puis détruit la balle. Si vous aviez détruit la balle en premier, tous les effets suivants auraient été ignorés (une balle qui n'existe plus ne peut pas infliger de dégats).

Sauvegardez votre carte, et lancez là. Si vous tirez vous devriez vous appercevoir que l'arme est identique à celle que vous aviez avant, mais que cette fois les balles ne traversent plus les murs (elles sont détruites quand elles en recontrent un). Nous ne pouvons pour l'instant pas tester les collisions avec des joueurs, ceci sera fait dans un chapitre suivant. Vous avez créé votre premiere arme, le pistolet de base.

 

3) Modification des parametres simples

Maintenant que notre première arme fonctionne, nous allons en créer une deuxième. Pour pouvoir l'utiliser, il faudra la placer quelque part dans le niveau par l'intermédiaire d'un objet. Commencez donc par changer une case proche de la position du joueur en case contenant un objet, puis liez-là à un nouvel objet contenant l'arme n°1 (voir chapitre 2). Ainsi en prenant cet objet, on récuperera l'arme n°1, il ne reste donc plus qu'à la créer.

Ouvrez le panneau des armes, choisissez l'arme n°1, donnez lui le nom "Uzi", laissez le nombre de balles et le rayon par défaut, mais mettez la vitesse à 6 et le reload à 4. Créez ensuite les trois mêmes effets que pour notre première arme, vous devriez avoir ceci :

< capture >

Sauvegardez, et lancez votre carte, puis ramassez l'arme et tirez avec : vous avez réalisé un Uzi, qui tire a une cadence bien plus élevée que le pistolet et avec des balles plus rapides. En effet, "reload" représente le délai entre deux balles, en f/1; en le diminuant on obtient donc une arme plus rapide. Attention toutefois à ne pas faire tirer une arme trop vite : le jeu ne peut pas gerer une infinité de balles dans la zone de jeu.

 

4) Balles multiples et modification de position

Cette fois-ci, nous allons réaliser un fusil. Pour simuler l'effet, il faudra que cette arme tire plusieurs plombs par coups. Le problème avec les armes qui tirent plusieurs balles à la fois est que ces balles sont toutes "superposées", en clair elles sont créées exactement au même endroit et avec la même trajectoire. A moins de les séparer les unes des autres pendant leur course, il n'y aura pas moyen de s'appercevoir qu'on a plusieurs balles au lieu d'une seule. C'est exactement ce que nous allons faire en simulant l'écartement des balles par rapport à leur trajectoire initiale.

Placez un nouvel objet sur la carte, contenant cette fois l'arme n°2, puis ouvrez le panneau des armes et placez vous sur l'arme n°2. Donnez-lui le nom "Fusil", puis reglez le nombre de balles à 3. Laissez le rayon et la vitesse à leurs valeurs par défaut, puis fixez le reload à 20 (un fusil se recharge plus lentement que les autres armes). Pour produire un effet de recul lors du tir, cochez la case "Effet de recul".

Il ne reste "plus qu'à" définir les effets. Il s'agit des trois mêmes que nous avons déjà utilisés, mais il faut en ajouter un quatrième pour provoquer l'écartement des balles. Créez donc un effet supplémentaire avant ou après les trois autres, et choisissez la condition "Intervale". La barre défilante qui devient utilisable indique alors "Frames/2^n" : en choisissant par exemple une valeur de 4, 2^4 = 16 (^ : symbole "puissance"), donc cette condition sera vérifiée toutes les f/16. Fixez une valeur de 2, ce qui correspond à f/4, puis selectionnez l'effet "Position" qui correspond à une variation aléatoire de la position de la balle. La barre défilante de cet effet sert à définir le nombre de pixels de variation, choisissez 2. Ainsi, toutes les f/4 (une frame sur 4), la position de chaque balle sera déviée aléatoirement de 2 pixels. Voici la page des armes avec ce dernier effet selectionné :

< capture >

Sauvegardez, essayez votre arme : vous devriez avoir un fusil, qui tire des balles 3 par 3. Ces balles devraient dévier de leur trajectoire au fur et à mesure qu'elles avancent, et chaque tir devrait faire reculer un peu le joueur.

 

5) Construction d'une arme complexe

Nous allons maintenant créer une dernière arme, qui cumulera quelques effets plus avancés que ceux que nous avons vu jusqu'à présent. Il va s'agir d'un missile qui avancera en ligne droite, tout en tirant sur les cotés des balles qui rebondiront contre les murs. Quand le missile touchera un mur, il créera une explosion infligeant des dégats à tout joueur se trouvant à proximité. Pour créer cette arme, il nous faut en fait définir deux nouvelles balles : d'une part le missile que tirera le joueur, et d'une autre les balles lancées par le missile (elles seront elles-mêmes des armes à part entière).

Commençons par le missile; comme d'habitude placez un objet sur la carte contenant notre future nouvelle arme (qui devrait être n°3, si les n°0, 1 et 2 sont respectivement le pistolet, l'uzi et le fusil), puis ouvrez le panneau des armes à l'index 3. Nommez cette arme "Bazooka", laissez le nombre de balles à 1, le rayon à 6, mettez la vitesse à 2, et le reload à 30.

Cette fois-ci, l'aspect de la balle va être différent : nous allons utiliser une image de missile. Mais cette image est orientée, contrairement à la balle, ronde, pour laquelle la direction n'avait aucune importante. Ce missile ne sera donc pas composé d'une image mais de 8 (pour les 8 directions), qui doivent se suivre dans la planche de sprites et dont la première correspond à la direction "haut" (les images suivantes doivent tourner dans le sens des aiguilles d'une montre). Cliquez donc sur l'image représentant votre balle orientée vers le haut, et cochez la case "Sprite relatif à l'orientation" : ceci aura pour effet d'affecter le sprite choisi et les 7 suivants pour les 8 directions possibles de la balle.

Il reste à définir les effets pour cette arme. Nous n'allons pas gérer les collisions avec un joueur (vous pouvez le faire quand même si vous voulez) car les dégats seront infligés par les balles tirées. Ajoutez une condition "Touche mur", et un effet "Effet" (créer un effet graphique, ici une explosion). Reglez la première barre défilante sur 5 (qui correspond à une des images d'explosions disponibles), et la seconde sur 15 (elle indique le nombre de dégats infligés à un joueur près de l'explosion, en f/4). Rajoutez ensuite une deuxième condition "Touche mur", avec cette fois l'effet "Détruire". Il ne reste plus que l'effet utilisé pour que le missile tire à intervalle régulier : ajoutez un nouvel effet avec une condition "Intervalle", valeur "Frame/2^n" à 4, et un effet "Tire", "Arme" 4 (le n° de l'index des balles tirées par le missile, que nous allons créer ensuite), "Direction" 16 (voyez le paragraphe 7 pour plus d'explications).

Il faut maintenant créer cette arme n°4, les balles tirées par le missile. Placez donc l'index sur 4, et créez une arme similaire au pistolet que nous avons déjà fait, mais remplacez l'effet "Touche mur » Détruire" par "Touche mur » Rebond" avec une valeur "maximum" de 2. Donnez lui le nom que vous voulez, puis fermez le panneau des armes, sauvez et testez votre carte. Vous devriez avoir créé une arme assez lente, qui tire de petites balles qui rebondissent sur les murs dans des directions aléatoires, avant d'exploser contre un mur.

Si vous avez comprit comment fonctionnait cette arme, alors vous êtes près pour en faire de bien plus évoluées. Sinon ne vous inquietez pas, ce paragraphe est l'un des plus complexes du tutorial :) Reportez-vous aux deux paragraphes suivants pour avoir des détails sur les conditions et effets que nous avons utilisés.

 

6) Liste des conditions

En laissant le pointeur de la souris sur le texte devant la barre de défilement du parametre de la condition, une aide s'affichera.

Touche mur :
Cette condition est validée au moment ou la balle entre en collision avec une case dont l'option "Mur pour balle" est activée. Elle reste valide tant que la balle est en superposition avec le mur.

Touche joueur :
Déclanchée quand la balle touche un joueur qui n'est pas dans la même équipe que celui qui a tiré (sauf si l'option "Team Kill" est activée). Cette condition ne sera jamais déclanchée si la balle touche son propriétaire.

Délai écoulé :
Devient et reste valide une fois qu'un certain temps est écoulé. Cette durée est mesurée en f/4.

Intervale :
Cette condition est déclanchée à intervalles réguliers, et vous laisse choisir la fréquence de répetion de l'intervale, sous la forme "f/2^n" : si n vaut 4, la fréquence sera en f/2^4 (^ : symbole "puissance") donc f/16.

 

7) Liste des effets

En laissant le pointeur de la souris sur un des textes devant les barres de défilement des parametres de l'effet, une aide s'affichera.

Détruire :
Détruit instantanément la balle. Attention, il ne peut y avoir aucun effet après celui-ci, puisqu'une fois qu'il est executé la balle n'existe plus. Cet effet doit donc être le dernier de ceux déclanchés par une même condition.

Dégats :
Inflige des points de dégats à un joueur. Attention, cet effet ne fonctionne qu'avec la condition "Touche joueur", et sera ignoré avec n'importe quelle autre.

Position :
Modifie aléatoirement la position de la balle, en la décalant de quelques pixels vers le haut, la droite, le bas ou la gauche. Vous devez choisir le nombre de pixels de déplacement.

Direction :
Change la direction de la balle.
- Une valeur entre 0 et 7 oriente la balle vers cette direction : 0 » haut, 1 » haut - droite, etc... dans le sens des aiguilles d'une montre jusqu'à 7 » haut - gauche.
- Une valeur entre 8 et 15 modifie la direction de la balle par rapport à celle actuelle : 9 » direction +1, rotation de 1 dans le sens des aiguilles d'une montre, 10 » direction +2, etc... 13 » direction +5, ou encore -3, rotation de 5 dans le sens des aiguilles d'une montre, c'est à dire de 3 dans le sens inverse, 15 » direction +7, ou -1, rotation de 7 dans le sens des aiguilles d'une montre, c'est à dire 1 dans le sens inverse. La valeur 8 effectue une rotation de 0 (ou -8), donc n'a aucun effet.
- Une valeur de 16 donne une direction aléatoire à la balle, entre 0 et 7.

Rebond :
La balle rebondira sur un mur, ou sera détruite si elle dépasse son maximum de rebonds. Par exemple en fixant une valeur de 2, la balle pourra rebondir sur deux murs et sera détruite quand elle en rencontrera un 3eme. Attention, cet effet n'est compatible qu'avec la condition "Touche mur".

Cherche :
Change la direction de la balle pour qu'elle aille vers l'ennemi le plus proche du tireur.

Tire :
Tire une balle d'une l'arme au choix dans une direction. Evitez les effets "récursif" (une balle qui se tire elle-même), le tableau de balle serait rapidement saturé. Vous devez choisir le n° de l'arme tirée, ainsi que la direction :
- Une valeur entre 0 et 7 tire la balle dans une direction fixe : 0 » haut, 1 » haut - droite, etc... dans le sens des aiguilles d'une montre jusqu'à 7 » haut - gauche.
- Une valeur entre 8 et 15 tire dans une direction relative à celle de la balle qui tire : 8 » direction +0, envoie dans la même direction que la balle qui tire, 9 » direction +1, etc... jusqu'à 15 » direction -1 (voir l'effet "Direction").
- Une valeur de 16 tire la balle dans une direction aléatoire entre 0 et 7.

Effet :
Crée un effet à l'emplacement de la balle. La première valeur indique le n° de l'animation à déclancher, la seconde définit les dégats occasionnés à tout joueur qui se trouve près de l'effet (ces dégats seront infligés toutes les f/4).

Sprite :
Modifie le sprite de la balle : chaque fois que cet effet est déclanché, la balle est affiché avec le sprite suivant. En déclanchant cet évenement à intervales réguliers, il est possible de faire des balles animées. La valeur "maximum" sert à définir le nombre total de sprites que la balle peut prendre avant de retourner au sprite initial : avec une valeur de 4, la balle pourra prendre le sprite qui lui a été attribué par défaut, ainsi que les 3 suivants. Si l'effet "Sprite" est appellé encore une fois, la balle prendra son sprite initial, et ainsi de suite...

 

Vertyos