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

      Je vais être gentil, et proposer une base ( aucun code ) :

      Tout d’abord, pour commencer, je vous conseille d’utiliser LWJGL.

      C’est probablement la meilleure librairie Java pour faire des jeux, et elle permet de gérer les inputs, les graphismes, mais malheureusement, elle ne gère pas la physique. C’est a vous d’y faire.

      Ensuite, en plus de LWJGL, utilisez les librairies Jinput et LWJGL_util fournie avec, c’est très pratique.

      Si vous voulez, la librairie Slick_util est sympatique, pour éviter des méthodes trop longues.

      Ensuite, commencez par la base : Un joueur représenté sans animation, ni rien, juste un carré, avec un terrain de base, etc… pour ensuite tout améliorer.

      Dans l’ordre, je vous conseille ceci :

      Préparation des idées du jeu ( Scénario etc… ) -> Début du code, faire toutes les bases -> Améliorer le jeu, en faire un prototype -> Revoir ses idées, voir si c’est toujours aussi bien une fois le prototype en main -> Faire des améliorations si nécessaire, et enfin, finir le jeu.

      Par exemple, les idées ( ceci est random, ne pas l’écouter ) :
      Personnage : Un lama
      But du personnage : Manger un gâteau au fraises
      Univers : Y’a une météorite au dessus du monde, donc pré-apocalypse etc…
      Gameplay : Plateformer sans plateformes ( wtf )

      Enfin bref, ce que vous voulez.

      Sur ce, bonne chance !

      "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
      • RedRelayR Hors-ligne
        RedRelay Moddeurs confirmés
        dernière édition par

        • Un jeu assez léger, il doit faire au maximum 1 Go, mais essayer d’être le plus léger possible.

        J’ai bien rit xD

        N’empêche on passe d’un POM tout con a un rush total sur un projet ultra complet xD
        Je ne pense pas avoir pas assez de disponibilité pour un concours comme ça malheuresement, mais j’attends les rendu avec impatience xD

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

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

          Blackout, si tu as ris c’est bien, j’étais parti sur 2000 Mo max, mais on m’a dit qu’une limite était ridicule.
          Et je trouve que varier les projets est bien, voir un peu le niveau global, déjà pas assez de temps pour le POM.
          Après je pourrai adapter les concours au niveau et au temps global nécessaire pour faire un concours.

          > *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
          • RedRelayR Hors-ligne
            RedRelay Moddeurs confirmés
            dernière édition par

            Je me demande surtout qui va avoir un code qui depasserai déjà les 100 Mo x) Et encore je vois gros en disant 100 Mo x)
            Je souhaite aussi bonne chance au jury, qui se tapera 30 000 lignes de code par personne x)
            Un concours de ce genre ne va pas t aider a avoir une vision globale des compétences de chacun. Puisqu’il est inacessible pour beaucoup.

            Varier les projets, oui heureusement, si vous ne proposez que des POM ça risque de perdre tout interets.
            Pour augmenter l’interet des concours vous devriez taper un peu plus dans l’originalité 😉

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

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

              @‘Blackout’:

              Je me demande surtout qui va avoir un code qui depasserai déjà les 100 Mo x) Et encore je vois gros en disant 100 Mo x)
              Je souhaite aussi bonne chance au jury, qui se tapera 30 000 lignes de code par personne x)
              Un concours de ce genre ne va pas t aider a avoir une vision globale des compétences de chacun. Puisqu’il est inacessible pour beaucoup.

              Varier les projets, oui heureusement, si vous ne proposez que des POM ça risque de perdre tout interets.
              Pour augmenter l’interet des concours vous devriez taper un peu plus dans l’originalité 😉

              Un programme de mathématiques (calculatrice, solveur d’équations, traçage de courbes dans une fenêtre, gestion d’algorithmes) serait une bonne idée. Sinon un programme de conversion d’unités (mètres, millimètres, litres, joules, pascals etc…) ou un tetris aussi. Mais là c’est vraiment difficile, même pour Blackout j’imagine (même s’il aura 120% de chances en plus que nous).

              Travaille sur un super serveur, Wirestone.

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

                Oublié de dire que je participe …

                Mais sinon, j’ai déjà fait la base du moteur 2d : Jump, collisions, mouvement, et player 😄

                J’utilise LibGDX ( basé sur LWJGL ) et pour les maps, Tiled

                http://puu.sh/6JEi4.png

                "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, on a eu la même idée de jeu à réaliser.

                  Je vais essayé de participer, mais je ne promets rien.

                  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

                    T’inquiète, les graphismes, c’est temporaire, le temps d’avoir un graphiste / de meilleures sprites

                    ( PS : Si ça abouti a quelque chose de beaucoup plus développé, je cacherais des easter eggs pour certains membres du forum etc… 😛 )

                    "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, pour le son, tu conseilles quel librairie?

                      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
                      • EclipseOnFireE Hors-ligne
                        EclipseOnFire
                        dernière édition par

                        @‘Superloup10’:

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

                        Paulscode ! Paulscode !

                        Travaille sur un super serveur, Wirestone.

                        1 réponse Dernière réponse Répondre Citer 0
                        • 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
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB