Connexion automatique

Pas encore membre ? Inscrivez-vous ici !
Vous avez oublié votre mot de passe ? On vous aide ici

AccueilPage d'accueilFAQRechercherS'enregistrerConnexion

Sélecteur de thème :


Partagez | .
Mini-jeu à deux

SegFault
Paysan

Paysan
avatar

Nombre de messages : 79
Age : 24
Localisation : Paris
Capacités : bon
Distinction : aucune
Date d'inscription : 26/04/2013

MessageSujet: Mini-jeu à deux   Lun 29 Avr 2013 - 18:40

Me voici pour un troisième tutoriel : un mini-jeu en un contre un.

  1. Introduction :
    Ce mini-jeu consiste à faire joueur l'un contre l'autre.
    A l'appui d'une touche, le joueur lancera une "boule de feu" qui retirera un point de vie au joueur adverse, s'il est touché.
    Voici comment se présente une map en jeu :

    Par souci pratique, les maps doivent faire 17×13 cases
    Passons au côté pratique de la chose, de nombreux événement sont nécessaires, mais je vais tout détailler.



  2. Les événements :
    Une map basique, comme celle que vous pouvez voir au dessus, comporte 18 événements :
     - L'événement d'initialisation du combat,
     - les joueurs,
     - les points de vie des joueurs,
     - les boules de feu,
     - les événements pour gérer les collisions entre les boules de feu et les joueurs,
     - les bonus et malus,
     - l'événement de fin de match.
    Détaillons chaque événement :



    • Initialisation du combat :

      Passer en automatique
      Cet événement sert uniquement à initialiser le combat.
      On peut voir qu'il interdit l'accès au menu (et au sauvegarde, pas nécessaire mais j'ai préféré tout mettre).
      Il modifie ensuite l'apparence du personnage afin qu'il ne soit pas visible sur la map.
      Ensuite nous avons une initialisation des points de vie des joueur à 3.
      Les 4 interrupteurs locaux désactivés par la suite servent aux bonus et aux malus, nous y viendrons.
      Nous effaçons ensuite l'événement, une seule initialisation suffit.



    • Les joueurs :

      Passer en processus parallèle
      Les événement représentant les joueurs servent également à gérer leurs déplacements.
      Les touches CLYZ correspondent aux touches ZQSD du clavier avec la configuration de base. On peut donc voir que cet événement sert à déplacer le joueur grâce aux touches ZQSD.
      L'argument "Attendre la fin" est nécessaire pour le déplacement. Certes les personnages saccadent un peu, mais cela offre une meilleur maniabilité.
      L'autre joueur possède les mêmes commandes, à a différence près que les conditions ne se font pas avec CLYZ mais avec les flèche directionnelles.



    • Les points de vie des joueurs :
      Aucune commande pour ces événements : juste une condition "Vie J1" (ou "Vie J2") ≥ 1, "Vie J1" (ou "Vie J2") ≥ 2, "Vie J1" (ou "Vie J2") ≥ 3. Ces événements servent juste à avoir un affichage clair des points de vie.



    • Les boules de feu :

      Passer en processus parallèle
      Ces événements servent à la fois au côté graphique et pratique du jeu. Pour la première page de l'événement, pas de condition ni d'apparence, la boule de feu n'est pas active.
      A l'appui de la touche voulue, le tir est activé. Cependant, avant d'effectuer le tir, il faut placer la boule au bon endroit.
      On récupère donc les coordonnées du joueur qui doit tirer, la direction de son regard, et on place la boule en fonction.
      X, Y-1
      X-1, Y
      X, Y
      X+1, Y
      X, Y+1
      Attention aux cas où le personnage se trouve en bordure de map et regarde vers l'extérieur de la map. Comme les défilements horizontaux et verticaux sont activés, il faudra placer la boule de l'autre côté de la map.
      Un fois la boule placée, on active l'interrupteur qui indique que le joueur a tiré.

      Passer en processus parallèle
      Les pages suivantes représentent la boule de feu active et en déplacement.
      Pour chaque page, une condition de valeur de variable est installée :
       - Si la variable de direction est ≥ 1 alors le joueur était tourné vers le bas. Cette page aura alors l'apparence de la boule de feu elle aussi tournée vers le bas.
       - Si la variable de direction est ≥ 2 alors le joueur était tourné vers la gauche. Cette page aura alors l'apparence de la boule de feu elle aussi tournée vers le gauche. Ainsi de suite pour les deux autres directions.
      Le corps de l'événement contiendra le déplacement de la boule, en l'occurrence un certain nombre de pas en avant. Attention, après le déplacement, il ne faut pas oublier de déplacer la boule de feu à un endroit inaccessible pour les joueur, afin de ne pas créer une case minée invisible...
      Une fois le tir fini, on désactive l'interrupteur qui indiquait que le joueur avait tiré.



    • Les collisions :

      Passer en processus parallèle
      Ici, on récupère les coordonnées du joueur 1 et la boule de feu du joueur 2.
      Si les positions coïncident, que donc il y a eu collision, on retire un point de vie au joueur 1 et on lui affiche une animation (facultatif mais toujours sympa).
      A noter également que j'ai rajouté un "Attendre 60 frames". Cette commande sert à empêcher que la collision se fasse plusieurs fois lors du même passage de la boule de feu sur le joueur.



    • Les bonus et malus :
      Bonus

      Passer en processus parallèle
      On récupère les coordonnées des deux joueurs.
      Si les coordonnées d'un des joueurs coïncident avec les celles de l'événement courant (en l'occurence (6, 6)), on affiche une émoticone sur le joueur en question et on lui ajoute un point de vie s'il n'en avait pas déjà le maximum.
      On active ensuite l'interrupteur local A, qui désactivera ce bonus jusqu'à la prochaine partie.
      Cet événement à donc une deuxième page vide avec comme condition "Interrupteur local A activé".


      Malus

      Passer en processus parallèle
      Très similaire au bonus dans la pratique, juste un retrait de point de vie à la place de l'ajout. La différence se fait sur la deuxième page.
      La deuxième page comporte un "Attendre 120 frames" suivi d'un "Interrupteur local: C = Désactivé". Cela permet d'éviter une relance en boucle de l'événement. Cet événement aura donc un délai de relance de deux secondes.



    • L'événement de fin de match :

      Passer en processus parallèle
      Cet événement sert à terminer le match si les points de vie d'un des deux joueurs atteint les 0.
      On affiche un message de victoire, puis on réinitialise les points de vie et interrupteurs. J'effectue une initialisation en début de match, une réinitialisation en fin de match et encore une réinitialisation de retour sur la map de choix : j'avais des problèmes sinon (match qui se terminait avant de pouvoir jouer).


      Voilà pour les événements présents sur la map. A noter qu'ils doivent tous être passé en "Traverse tout", sauf les joueurs.



    • Débuter un match :
      Rien de plus simple : une simple téléportation au milieu de la map voulue et c'est réglé !




Ce troisième tutoriel est donc fini, j'espère qu'il vous sera utile, j'essaierai de poster une version fonctionnelle sur le site quand je pourrai Smile


Vidéo du rendu :


~SegFault


Dernière édition par SegFault le Mar 31 Déc 2013 - 16:32, édité 7 fois
 
Titou
Gladiateur

Gladiateur
avatar

Nombre de messages : 560
Age : 22
Localisation : Isère
Capacités : moyen
Distinction : aucune
Date d'inscription : 22/04/2012

MessageSujet: Re: Mini-jeu à deux   Lun 29 Avr 2013 - 19:08

C'est pas mal tout ça, dit, tu n'aurai pas une vidéo pour nous montrer se que ça donne, ça peut-être sympa.
 
Heaven
Staffieux retraité

Staffieux retraité
avatar

Nombre de messages : 2451
Age : 16
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Capacités : moyen
Distinction : Aucune
Date d'inscription : 18/10/2012

MessageSujet: Re: Mini-jeu à deux   Lun 29 Avr 2013 - 19:34

C'est très sympas un tutoriel comme ça, ça peut servir Smile


Heav'n
 
SegFault
Paysan

Paysan
avatar

Nombre de messages : 79
Age : 24
Localisation : Paris
Capacités : bon
Distinction : aucune
Date d'inscription : 26/04/2013

MessageSujet: Re: Mini-jeu à deux   Lun 29 Avr 2013 - 19:38

Je ferai une vidéo du jeu dès que possible.
 
Titou
Gladiateur

Gladiateur
avatar

Nombre de messages : 560
Age : 22
Localisation : Isère
Capacités : moyen
Distinction : aucune
Date d'inscription : 22/04/2012

MessageSujet: Re: Mini-jeu à deux   Lun 29 Avr 2013 - 20:07

Merci^^
 
SegFault
Paysan

Paysan
avatar

Nombre de messages : 79
Age : 24
Localisation : Paris
Capacités : bon
Distinction : aucune
Date d'inscription : 26/04/2013

MessageSujet: Re: Mini-jeu à deux   Mar 30 Avr 2013 - 1:09

Vidéo IG ajoutée.
 
Titou
Gladiateur

Gladiateur
avatar

Nombre de messages : 560
Age : 22
Localisation : Isère
Capacités : moyen
Distinction : aucune
Date d'inscription : 22/04/2012

MessageSujet: Re: Mini-jeu à deux   Mar 30 Avr 2013 - 12:49

C'est super cool, cependant, je pense que tu devrai faire que si le joueur 1 se tire dessus lui même, qu'il soit touché par ça flamme, çarajoute du piquant je trouve.
 
Contenu sponsorisé




MessageSujet: Re: Mini-jeu à deux