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.
    • PchomP Hors-ligne
      Pchom
      dernière édition par

      Bonjour à tous !
      Voici le deuxième concours de programmation de l’année et du forum !!!

      Donc, déjà, je vous annonce le sujet.
      Le sujet est : la 2D

      Pourquoi la 2D ? Parce que je suis un gros flemmard et que j’ai la flemme de chercher un sujet recherché (humour).
      La 2D est quasiment oubliée, remplacée par la 3D. Mais je veux vous prouver qu’un jeu n’est pas forcément bon même s’il est en 3D.
      Il est possible de faire une 2D magnifique autant qu’une 3D hideuse (minecraft en est la preuve, même si on s’y habitue à force, et que les packs de textures et shaders peuvent le rendre beau).

      Donc, dans ce programme 2D, je veux voir :

      • Un jeu
      • Un système de luminosité effectif (ombres, nuit, jour, etc).
      • Un système monomap ou multimap, sachant que les maps doivent être assez grandes.
      • Un jeu adapté pour les petites résolutions et les grandes résolution (choix de la résolution dans les options, par exemple).
      • Un système de sauvegarde cryptée.
      • Un jeu assez léger, il doit faire au maximum 1 Go, mais essayer d’être le plus léger possible.
      • Une vraie histoire.
      • Un jeu intéressant, qu’on ne fait pas comme ça en une heure.
      • Un choix de difficulté (au minimum 4, au maximum 10).
      • Des sons, pas forcément tout le temps, mais une ambiance quoi.
      • Les sons doivent être en rapport avec l’ambiance, n’allez pas mettre du rock dans un univers post-apocalyptique.

      Langage imposé : Java

      La récompense : 3 millions d’euros ! (non je rigole, ne me tuez pas pour cette vieille blague pourrie :D)
      Donc la récompense n’est pas encore choisie

      Bonne chance, et vous avez jusqu’au 25 mai pour développer ce jeu !

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

        Là par contre j’ai commencé à en faire un mais je participerai pas je pense, je bloquais sur l’interface graphique donc bon ^^.

        Travaille sur un super serveur, Wirestone.

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

          Tu peux toujours essayer, et n’oublie pas c’est en Java

          Concours rallongé de deux mois, on met plutôt 4 mois, car 2 ça fait tout de même court.

          > *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
          • 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
                                            • 1
                                            • 2
                                            • 2 / 2
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB