IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Quel langage de programmation utiliser pour ce type de jeu?


Sujet :

Langages de programmation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Quel langage de programmation utiliser pour ce type de jeu?
    Bonjour,
    Mon problème s'adresse tout d'abord aux informaticiens, mais surtout à ceux qui ont créé des jeux.
    Je suis un lycéen suisse et au lycée nous avons un travail de maturité obligatoire qui doit être fait en 1 an. J'ai choisi de créer un jeu, mon plus gros problème étant le choix du langage de programmation, pouvez-vous m'aider*?
    J'ai trouvé beaucoup de langages bien sur, mais 2 m'ont interrogé car ils sont courants et beaucoup utilisés*: Java et C++
    Cependant, je n'arrive pas à me représenter la chose malgré les présentations et apprendre un programme pour ne pas le choisir serait fort bête. Surtout pour une période de 1 an. Le seul programme que je connais pour le moment est le Python. Mon maître me l'a fortement déconseillé pour créer des jeux avec du mouvement d'images.

    Une petite description du jeu s'impose pour que vous puissiez vous faire une idée du programme adéquat.
    Le jeu est une variante de Space Invaders à 2 joueurs en confrontation ou 1 joueur et 1 IA ou 1 joueur et des aliens.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut Python déconseillé ?
    Ton prof a une allergie particulière ?
    As-tu testé "python jeux" ou "python games" sur ton moteur de recherche préféré ? Es-tu passé sur pygame par exemple ? Va regarder du côté des forums jeux et python de dvp...

    De plus, si tu es déjà familiarisé avec un langage, python en l’occurrence, pourquoi rajouter en plus l'apprentissage d'un autre (surtout avec un temps limité) ? Et pourquoi pas DrRacket par exemple (ou plein d'autres exemples) ?

    Ok, Java est "courant", et C++ ne se maîtrise pas en deux temps trois mouvements. Mais se limiter à cela si tu es déjà lancé sur un autre langage, autant approfondir un peu ce que tu connais.

    Bref, my two cents...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    Un des principaux objectifs du TM est de s'enrichir au delà du programme proposé par le lycée et de devenir autodidacte.
    Je ne me suis tout simplement pas posé la question, car mon professeur m'a dit d'éviter ce programme pour tout ce qui est jeu, images en mouvement.
    Mais tu sais la connaissance de chacun a des limites, même en temps que professeur. Il doit connaître des bases de langages différents pour chaque élève qui fait un TM en informatique.
    J'ai reçu la même information sur le forum "création de jeux" de jeuxvideo.com.
    Merci beaucoup!
    Pour te dire, chacun des élèves a utilisé un langage qui lui est propre, mais personne n'a utilisé Python pour des jeux de ce genre en cours d'informatique et quelle que soit l'année. Le cours d'informatique apprend Python et aucun autre langage car il est simple pour comprendre l'informatique avec une "grammaire" pas trop complexe et "automatisé", cependant c'est pour nous préparer à la suite des événements, des langages plus complexes et avec un plus grand champ d'applications.
    En d'autres termes, le problème n'est pas vraiment de devoir apprendre un autre langage, mais de trouver un langage des plus adaptés à ce jeu. C'est un peu c'est aspect là de ta réponse qui m'a dérangé en fait, car je ne cherche pas vraiment à me simplifier la vie, mais à trouver le langage le plus adapté, désolé si ma formulation n'était pas claire.
    Merci encore pour ta réponse, pourrais-tu me conseiller quelques langages à aller consulter qui serait orienté objet, orienté pour ce jeu?

  4. #4
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    Bonjour.

    Tu fais une erreur en affirmant que ton but n'est pas de te simplifier la vie.
    Te simplifier la vie est en fait une absolue nécessité ! Tu es un débutant et donc tout est difficile, et faire un jeu va apporter son propre lot de difficultés. Et même si tu n'avais aucun de ces deux problèmes créer le moindre programme demande de toute façon beaucoup de temps. Tu n'as donc vraiment pas besoin d'avoir en plus à affronter de nouveaux concepts apportés par le langage.

    Concernant python je ne peux pas dire s'il est assez rapide ou non. Et, plus important, si un débutant obtiendra les performances nécessaires. Mon intuition est qu'il offre des perfs acceptables pour beaucoup de jeux mais que tu peux vite te retrouver dans une impasse. A ta place je ferais un petit prototype avec des images qui sa baladent n'importe comment pour tester la fluidité.

    Alternativement, donc, Java, Javascript ou C#, trois langages plus rapides (surtout le dernier*). Évite le C++, trop complexe, à moins que tu ne sois attiré par celui-ci et par une programmation de plus bas niveau (plus proche du matériel).


    (*) Théoriquement JS devrait être plus lent que Python mais le niveau d'optimisation des navigateurs est tel qu'en fait il se retrouve souvent devant Python, bien que dix crans derrière les deux autres. Quant à Java/C#, ils devraient être au même niveau mais en pratique java sur desktop semble poussif.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    Oui, mais ne joue pas avec les mots, tu as très bien compris que quand je disais ça, c'était par rapport au choix du langage, tout ce que je veux savoir c'est quel est le langage le plus adapté, je ne veux pas savoir si c'est plus simple ou plus compliqué de faire avec ce que j'ai déjà étudié et ce n'est pas une nécessité absolue car c'est juste une langue comme une autre à apprendre et aussi toutes les autres personnes qui ont fait un TM en informatique de toute l'histoire du lycée n'ont pas utilisé Python, car déconseillé par le professeur, c'est pour cela que je demande des alternatives et tous les TM ont abouti alors que tout le monde a dû apprendre un autre langage vois-tu?
    Evite donc de contourner la question s'il te plaît et répond simplement.
    Car je sais très bien ce qu'il se passe autour de moi et le contexte dans lequel j'évolue dont tu n'as pas toutes les informations et c'est pour cela que tu ne peux détourner le sujet comme cela.
    Alors non ce n'est pas un besoin "absolu"... comme tu le dis, mais une question de travail. Alors s'il te plaît, réponds simplement à la question si tu
    le veux, sinon ne réponds rien. Car le but ici n'est pas de remettre en cause ma possibilité à apprendre un langage, ce n'est pas le but de la question, sinon j'aurai mis : "Est-il nécessaire d'apprendre un 2ème langage alors que j'ai Python".

    Regarde ce que j'ai dit plus haut :
    ...
    En d'autres termes, le problème n'est pas vraiment de devoir apprendre un autre langage, mais de trouver un langage des plus adaptés à ce jeu. C'est un peu c'est aspect là de ta réponse qui m'a dérangé en fait, car je ne cherche pas vraiment à me simplifier la vie (le projet si tu préfères), mais à trouver le langage le plus adapté, désolé si ma formulation n'était pas claire.

    Le plus adapté et non le plus simple, et comment peux-tu savoir mieux que moi que c'est une nécessité??? Tu n'est pas dans mon corps, mon esprit, alors évite les suppositions sur ma manière d'apprendre, juste réponds à la question. J'ai appris les bases de Python à raison de 2 heures d'informatique par semaine pendant 6 mois, et j'ai un peu plus d'un an pour faire ce TM, donc ce n'est pas un problème, surtout qu'il y a beaucoup de codes communs aux autres langages et donc cela prendra moins de temps.

    Il faudrait juste que les gens des forums arrêtent de contourner les questions et d'essayer de troller les gens et répondent simplement...

  6. #6
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 493
    Points
    5 493
    Par défaut
    Tout d'abord je pense t'avoir répondu puisque j'ai passé en revue les langages que tu envisageais. Si ce n'est pas ce que tu attendais je t'invite à préciser ta question et nous donnant tes critères.

    Cela dit je suis un pro. Ça veut dire que mon boulot c'est d'accomplir une tâche avec le moins d'efforts possible (le plus petit budget) ou, à budget fixé, d'obtenir le meilleur résultat possible. Transposé à ta scolarité ce raisonnement nous conduit donc à nous demander : si le choix du langage A coûte 200h de plus que le langage B pour obtenir le même résultat, est-ce un bon choix pour maximiser ta note (ou ton éducation et ta satisfaction personnelle) ?

    Donc Java, C# ou C++ sont tous trois indubitablement suffisamment rapides et disposent de biblios. Mais le troisième est beaucoup plus compliqué et moins productif. Si ce critère ne compte pas, quels critères peuvent bien compter ?! Ton temps ne compte t-il pas, ne vaut-il rien ?! Dans ce cas lance-toi dans le C++ car c'est le plus rapide et celui ayant le plus de biblios. Mais pense à rajouter 500h de plus à ton fardeau et quelques bogues en plus.

    Enfin, non, apprendre un nouveau langage quand on est débutant ce n'est pas seulement apprendre une nouvelle syntaxe. C'est avant tout apprendre de nouveaux concepts, comme les pointeurs et templates en C++ ou la généricité en C# ou Java.


    PS : je viens de voir ton édition, je suis très fâché de me voir traité de troll. Apparemment tu as un problème d'égo, tu as vu dans ma réponse une insulte à ton intelligence, c'est regrettable. Prends garde car tu n'es pas sur jeuxvideos.com ici, le public est très différent et apprécie peu les problèmes d’attitude des adolescents. Sur ce, au revoir.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut Y aura du taf, que que soit le langage
    Si tu veux faire un choix de langage, il va peut-être falloir exposer un peu plus loin tes contraintes.

    Je vois que Python c'est pour votre cours : ok, mais vous n'êtes forcément pas allé très loin dans sa maîtrise. Et la remarque serait la même quel que soit le langage utilisé en cours. La question quel langage est on ne peut plus récurrente, sur dvp ou ailleurs. Et malheureusement, il n'y a pas de réponse universelle. Et même si DonQuiche a pu te surprendre par sa manière de s'exprimer, il a raison.

    Je tente de résumer ta situation :
    - quoi faire ? ->ok, un petit jeu, pas un mmorpg (oufff)
    - quel langage ? -> quelles sont tes capacités d'autoformation ? ta rapidité à maîtriser de nouveaux concepts ? vas-tu tout écrire, ou bien tenter d'utiliser un maximum de librairies existantes ? ta capacité à bien exprimer et décomposer ton besoin (ton analyse détaillée du fonctionnement du jeu) ? et, pas des moindres, le temps dont tu disposes ?

    Déjà, fais en quelque sorte l'algorithme de ton jeu, pousses dans les détails (que se passe-t-il si on frappe une touche, si on ne fait rien, comment gérer les images, les déplacements, comment gérer les tirs...). Bref, toute la logique de fonctionnement. Avant même de parler langage de programmation, tu vas pouvoir énumérer une liste de besoins assez précis (et encore, lorsque tu programmeras, tu t'apercevras de tout ce que tu as oublié comme questions / problèmes). Après, tu pourras choisir un langage (basic, lisp, haskell, java, c, c++, c#/f#, etc) :
    - parce que sa philosophie te convient, que tu peux disposer d'un environnement complet,
    - parce qu'il te permet de répondre aisément à tes besoins, et plus précisément à tes besoin selon ta vision des choses,
    - parce que tu estimes, et ton prof aussi, que tu as le temps de le faire.

    Mouais, c'est ça, une analyse bien poussée de ton besoin pour commencer.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    Oui mais je ne peux choisir de programme, car je ne les connais pas assez et il faudrait que j'apprenne un peu de chacun d'eux pour voir, mais ce n'est pas possible.
    Les algorithmes ce n'est pas mon problème, c'est surtout le choix, j'ai déjà listé plusieurs choses qui me seront utiles et que je devrais programmer tel que les collisions, j'aimerais juste savoir le programme que vous me conseillez, le reste est futile. Je me débrouillerai très bien par moi-même.
    Toutes ces questions, je me les suis déjà posé, il n'y a que celle que j'ai posé sur ce post qui me vaille satisfaction.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Août 2008
    Messages : 282
    Points : 939
    Points
    939
    Par défaut Voui voui vouiiii
    Donc pas plus de questions à se poser au préalable ?
    Bon, positivons, et faisons très court................. allez : java.
    Tu seras dans une bonne moyenne.
    Et surtout bon courage.

Discussions similaires

  1. Quel langage devrait-on utiliser pour introduire la programmation ?
    Par Hinault Romaric dans le forum Actualités
    Réponses: 153
    Dernier message: 06/09/2015, 01h43
  2. Réponses: 1
    Dernier message: 08/12/2013, 19h56
  3. Quel langage de programmation utiliser pour mon projet ?
    Par FluffyQueeny dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 04/11/2013, 16h47
  4. Quel langage de programmation choisir pour un automate web ?
    Par Rpi78 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 03/05/2013, 05h46
  5. Quel langage de programmation utiliser pour un MMOG?
    Par @v@lon dans le forum Développement 2D, 3D et Jeux
    Réponses: 18
    Dernier message: 17/03/2007, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo