MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Concours de programmation #2 - Février Mars Avril Mai 2014

    Planifier Épinglé Verrouillé Déplacé Concours
    32 Messages 6 Publieurs 1.3k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • GuguG Hors-ligne
      Gugu
      dernière édition par

      @‘Superloup10’:

      @Gugu42, pour le son, tu conseilles quel librairie?

      @‘EclipseOnFire’:

      @‘Superloup10’:

      @Gugu42, pour le son, tu conseilles quel librairie?

      Paulscode ! Paulscode !

      OpenAL est sympa pour les sons dans un environnement 3D / 2D, et il est de base dans LWJGL
      http://en.wikipedia.org/wiki/Java_OpenAL

      Après, j’ai oublié de mentionner LibGDX qui est un énorme ajout a LWJGL, et qui propose des sons ( pas sur si ils ont fait leur propre lib ou pas pour les sons.

      Paulscode, j’ai jamais testé, mais c’est ce que Minecraft utilise il me semble, donc en observant ce qui gère les sons sur Minecraft, on peut en obtenir un bon exemple d’utilisation.

      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
      ― Jordan B. Peterson

      1 réponse Dernière réponse Répondre Citer 0
      • Superloup10S Hors-ligne
        Superloup10 Modérateurs
        dernière édition par

        Ok, merci.

        Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

        Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

        1 réponse Dernière réponse Répondre Citer 0
        • Superloup10S Hors-ligne
          Superloup10 Modérateurs
          dernière édition par

          @Gugu42, il vaut mieux utilisé la class Display de LWJGL ou créé une JFrame?

          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • GuguG Hors-ligne
            Gugu
            dernière édition par

            @‘Superloup10’:

            @Gugu42, il vaut mieux utilisé la class Display de LWJGL ou créé une JFrame?

            La classe Display est très simple a utiliser, et a des méthodes très pratiques.

            Je conseille la classe Display, car la JFrame est de Java, alors que la classe Display est de LWJGL, et donc plus optimisée pour OpenGL.

            PS : Je vais demander a Pchom si j’peux faire des petits exemples de base sous LWJGL + Slick_util genre collision etc… et vous donner le code.

            En exemple, j’avais un système de lumières très sympatique, j’ai plus le code, mais j’ai toujours le .jar du test

            Téléchargez le : http://puu.sh/6LTRN.jar

            Ce a quoi ça peut ressembler en plaçant des lumières : http://puu.sh/6LU0X.jpg

            Les contrôles :

            ZQSD = Déplacement
            F1 = Poser une lumière
            F2 = Poser une boîte
            C = Effacer les lumières et les boites.

            Cette démo a été faite en 2 heures, même pas, les lumières sont dynamiques ( Si je déplace la lumière déplaçable, les ombres vont bouger )

            "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
            ― Jordan B. Peterson

            1 réponse Dernière réponse Répondre Citer 0
            • Superloup10S Hors-ligne
              Superloup10 Modérateurs
              dernière édition par

              Cool, merci, là je sèche au niveau de la gestion du clavier, je ne sais pas quoi mettre dans ma class Keybinding, et Minecraft n’aide pas à comprendre.

              Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

              Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

              1 réponse Dernière réponse Répondre Citer 0
              • GuguG Hors-ligne
                Gugu
                dernière édition par

                http://lwjgl.org/wiki/index.php?title=LWJGL_Basics_2_(Input)

                En gros :

                Tu fais une méthode input() qui sera appelée a chaque tick, et dans celle ci, deux types de check :

                Celui pour touche enfoncée ( Exemple : ZQSD pour les déplacements ) qui correspond a :

                
                if(Keyboard.isKeyDown(Keyboard.KEY_[YOURKEY]){
                //Ton action
                }
                
                

                Et un autre, pour les appuis “coup par coup”, genre la touche F3 dans Minecraft, qui vérifie une seule pression, fait l’action, et arrête tant que la touche n’est pas re-pressée, ce qui permet d’éviter le spam d’action ( Afficher - Cacher le menu F3 ).

                Cet event correspond a ceci :

                
                while(Keyboard.next()){
                if (Keyboard.getEventKey() == Keyboard.KEY_A) {
                System.out.println("Touche A appuyée !");
                }
                if (Keyboard.getEventKey() == Keyboard.KEY_E) {
                System.out.println("Touche E appuyée");
                }
                }
                
                

                Ici, le message n’apparaît qu’une fois.

                Le troisième type, c’est tenir enfoncé puis de relacher, qu’on peut lier par exemple a l’arc de Minecraft.

                le code est dans la boucle “while(Keyboard.next())”

                
                if (Keyboard.getEventKey() == Keyboard.KEY_A) {
                if (Keyboard.getEventKeyState()) {
                System.out.println("A Key Pressed");
                }
                else {
                System.out.println("A Key Released");
                }
                }
                
                

                Petit plus :

                Le wiki ( qui buggait hier ) de LWJGL est superbe pour comprendre la base :
                http://lwjgl.org/wiki/index.php?title=Main_Page

                Je te le conseille 🙂

                "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                ― Jordan B. Peterson

                1 réponse Dernière réponse Répondre Citer 0
                • Superloup10S Hors-ligne
                  Superloup10 Modérateurs
                  dernière édition par

                  T’inquiète, je l’avais déjà regardé mais je ne suis pas très bon en Anglais, donc j’avais pas tout compris.

                  Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                  1 réponse Dernière réponse Répondre Citer 0
                  • Superloup10S Hors-ligne
                    Superloup10 Modérateurs
                    dernière édition par

                    Actuellement, voici où j’en suis : https://github.com/Superloup10/Wolf

                    Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                    Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                    1 réponse Dernière réponse Répondre Citer 0
                    • GuguG Hors-ligne
                      Gugu
                      dernière édition par

                      Je donne mon GitHub aussi ( note : Moi c’est encore en test, surtout sur la physique )

                      https://github.com/Gugu42/MFF-Concours

                      ( Si vous regardez mes repos Github, j’ai pleins de test LWJGL 3D etc… si le dev. de jeux 3d vous intéresse. )

                      "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                      ― Jordan B. Peterson

                      1 réponse Dernière réponse Répondre Citer 0
                      • Superloup10S Hors-ligne
                        Superloup10 Modérateurs
                        dernière édition par

                        @Gugu42 : Merci, grâce à ton Github, j’ai enfin compris comment fonctionne OpenGL. Par contre, je voudrais savoir à quoi servent les class Circle et CollisionLibrary.

                        Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                        Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                        1 réponse Dernière réponse Répondre Citer 0
                        • GuguG Hors-ligne
                          Gugu
                          dernière édition par

                          Ces classes sont la pour avoir les collisions AABB ( Un rectangle ) et un cercle ( Exemple : Une entité boule de feu )

                          La classe CollisionLibrary elle, contient les méthodes qui comparent AABB & AABB ( pour les collisions ), Cercle et AABB, et enfin, Cercle et Cercle

                          En exemple :

                          AABB vs AABB serait pour deux entité avec une hitbox carré,
                          AABB vs Circle serait pour une entité qui se prend une boule de feu ( Qui aurait une hitbox en cercle ) ou un truc rond,
                          Circle vs Circle peut être ici pour faire par exemple deux boules de feu qui se rencontre par exemple ( On peu imaginer que la boule de feu la plus puissante détruise l’autre et continue son chemin, ou encore absorbe l’autre, ou une simple destruction des deux boules de feu ), ou deux trucs ronds

                          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                          ― Jordan B. Peterson

                          1 réponse Dernière réponse Répondre Citer 0
                          • Superloup10S Hors-ligne
                            Superloup10 Modérateurs
                            dernière édition par

                            Ok, dis-moi, cela te gènes si je reprends certains codes de tes class mais que je les adapte pour correspondre à mon projet?

                            Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                            Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                            1 réponse Dernière réponse Répondre Citer 0
                            • GuguG Hors-ligne
                              Gugu
                              dernière édition par

                              Tu peux, mais la je suis ( encore ) en train de tout changer, en me basant sur le système que xavpok a fait pour son jeu, car il marche, et que le miens était surtout un test voir ce que ça donne.

                              Bref, bonne chance :3

                              "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                              ― Jordan B. Peterson

                              1 réponse Dernière réponse Répondre Citer 0
                              • GuguG Hors-ligne
                                Gugu
                                dernière édition par

                                https://github.com/Gugu42/concoursmff

                                Nouveau repo

                                Logiciels / API utilisés : LibGDX ( API, un LWJGL en mieux ), Tiled ( Editeur de maps ), Paint.NET ( Do I really need to say it ? )

                                "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                                ― Jordan B. Peterson

                                1 réponse Dernière réponse Répondre Citer 0
                                • PchomP Hors-ligne
                                  Pchom
                                  dernière édition par

                                  Alors ? Vous avancez bien ? 😛

                                  > *Si vous ne pouvez expliquer un concept à un enfant de six ans, c’est que vous ne le comprenez pas c…

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • PchomP Hors-ligne
                                    Pchom
                                    dernière édition par

                                    Le concours étant terminé depuis deux jours, je voudrais savoir où vous en êtes pour savoir si je prolonge ou pas 😉

                                    > *Si vous ne pouvez expliquer un concept à un enfant de six ans, c’est que vous ne le comprenez pas c…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • Superloup10S Hors-ligne
                                      Superloup10 Modérateurs
                                      dernière édition par

                                      Personnellement, je n’avance plus.

                                      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • DiangleD Hors-ligne
                                        Diangle
                                        dernière édition par

                                        @‘@Pchom’:

                                        Le concours étant terminé depuis deux jours, je voudrais savoir où vous en êtes pour savoir si je prolonge ou pas 😉

                                        pourrait-tu me dire quand tu en commencera un autre ?

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • RedRelayR Hors-ligne
                                          RedRelay Moddeurs confirmés
                                          dernière édition par

                                          J’en avais lancé un ^^ Mais bon comme je l’ai dit ça consisté a faire le client d’un soft appelé Bridge mais que j’ai abandonné car il n’avait plus vraiment d’utilité. Il existe déjà des softs simillaire.

                                          –------------------------------------------------------------------------------------
                                          Si tu trouves mon intervention pertinente, n'hésite pas a m…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1
                                          • 2
                                          • 2 / 2
                                          • Premier message
                                            Dernier message
                                          Design by Woryk
                                          ContactMentions Légales

                                          MINECRAFT FORGE FRANCE © 2024

                                          Powered by NodeBB