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

Développement 2D, 3D et Jeux Discussion :

Que pensez-vous des langages interpretés pour le dev de jeux?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre habitué

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 167
    Points
    167
    Par défaut Que pensez-vous des langages interpretés pour le dev de jeux?
    Allo,

    A des fins de discutions, j'aimerais savoir ce que vous pensez du développement de jeux vidéos avec des langages de programmations interprétés.
    Par exemple, j'ai regarde des rendus avec QB64, PyGame/PySDL2 ou encore LUA, et je trouve très intéressant les possibilités qui sont offertes.

    Personnellement, j'ai commence a montrer a programmer a mon fils avec PyGame, donc par le fait des choses, je m'y suis intéressé, j'aime toujours développer en C++, mais je dois admettre que au niveau rapidité du code, Python gagne.

    Les principaux langages sont supportes par les mobiles aussi, ce qui ouvre l’intérêt je trouve.

    On ouvre le débat !

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Points : 23 198
    Points
    23 198
    Par défaut
    Bonjour, si tu veux apprendre à ton fils à programmer, rien ne vaut l'assembleur !

    Je pense qu'il faut tout d'abord voir quels sont nos objectifs :
    • initier à la programmation ?
    • initier à l'algorithme ?
    • apprendre à programmer ?
    • comprendre le fonctionnement d'un ordinateur ?
    • faire un jeu ?


    Si l'objectif est de faire un jeu :
    • quel type de jeu ?
    • quelles contraintes (temps, ressources) ?
    • quel niveau vous avez/à quels langages êtes vous habitué ?
    • sur quelle(s) plateforme(s) doit pouvoir tourner le jeu ?


    Personnellement, je code en C++11 qui est un langage magnifique avec lequel je m'éclate.

    mais je dois admettre que au niveau rapiditie du code, Python gagne
    En rapidité d'exécution, cela m'étonnerait très fortement, quoiqu'on peut aussi compiler des langages interprétés.
    En rapidité d'écriture du code, plus que le langage, je pense que ce sont les bibliothèques/framework qui offrent le gain de temps le plus considérable.

    Après, on peut aussi utiliser des langages interprétés dans un jeu en C++ pour certaines fonctionnalités (IA des adversaires, GUI, etc.). Le but étant de pouvoir modifier/ajouter des IA sans tout recompiler.


    Il y a de très bon jeux codés dans des langages interprétés, d'autres dans des langages compilés et même certains en C# c'est dire !
    Donc sans plus d'informations, difficile de répondre à ta question.

  3. #3
    Membre habitué

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2008
    Messages : 110
    Points : 167
    Points
    167
    Par défaut
    Bonjour Necklara,

    En fait, ce n'etait pas une question, mais plus une discution ouverte sur le sujet des possibilites des langages interpretes dans les jeux videos.
    Je develope en C++ depuis MSDOS, et comme toi je suis d'acord au niveau d'execution le C++ est mieux, mais avec les ordinateurs de plus en pl us puisant , est-ce que les utilisateurs voient vraimen la difference ?

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Points : 23 198
    Points
    23 198
    Par défaut
    Citation Envoyé par geektoo Voir le message
    Je develope en C++ depuis MSDOS
    Sans IDE ?

    Citation Envoyé par geektoo Voir le message
    est-ce que les utilisateurs voient vraimen la difference ?
    Cela dépend.

    L'utilisateur lambda n'en saura rien.
    Une personne qui administre un serveur de jeu verra des différences sur les ressources consommées.
    Pour un jeu très très gourmand, la présence un garbage collector peut se faire sentir.

    La différence de vitesse d'exécution peut être négligeable si on appelle des fonctions built-in très coûteuses vu que ces dernières seront compilées.
    Par contre si on appelle que des fonctions built-in très rapides, il y aura une grande différence au niveau du temps d'exécution.

    L'utilisateur "bidouilleur" peut apprécier d'avoir des langages interprétés pour pouvoir modifier/bidouiller lui-même le jeu.

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 977
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 977
    Points : 221 711
    Points
    221 711
    Billets dans le blog
    131
    Par défaut
    Bonjour,

    Il faut savoir que dans les boites de développement de jeux vidéo, ils utilisent du scripting (langage interprétés) (LUA, ou même Python) pour la programmation du gameplay et des missions/script des maps. Cela permet : d'avoir une interface rapide par dessus le moteur, ne nécessitant par la recompilation du projet mais aussi, cela permet qu'un gars qui n'excelle pas en programmation et encore moins en C++, puisse participer au développement (moins cher à payer, moins dur à trouver). Dernier point, avec un langage de ce type, ça permet même d'avoir un Game Designer/Level Designer qui touche au jeu, sans s'embrouiller.

    Maintenant, tu point de vue perso : au final, pour tous les jeux sauf triple A, il n'y aura pas vraiment besoin de langage compilés style C ou C++. En effet, je tiens à rappeler que Hotline Miami, c'est du Game Maker derrière (bon, ok, le moteur est en C++, c'était un exemple bidon). Mais ce que je veux dire, pour un jeu 2D, même avec des tonnes d'animations/de sprites, vous pouvez très bien vous en sortir avec du Python, ou encore, comme le fait Vetea avec Papi Commando, du BASIC (QB64). Pour Python, si vraiment vous trouvez que pygame c'est limité (même si la gestion des sprite peut permettre un truc très efficace), alors je dirais : passer le cap et allez sur PySDL2.
    Pour des jeux indépendants et sans fortes contraintes, le Python ou tout autre langage interprétés, c'est bon, ça passe, donc autant ne pas s’embêter à coder avec un langage compliqué.

    On pourrait aussi parler du Javascript, langage roi sur les sites Web dynamique. Bah, tous les jeux Web/WebGL sont en Javascript, donc on voit bien que l'on peut réussir à quelque chose, même si celui-ci pose des contraintes.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 136
    Points : 33 095
    Points
    33 095
    Billets dans le blog
    4
    Par défaut
    Salut,

    en gros de nos expériences internes, il en sort ceci : Python est ~100x plus lent que C++. Compilé via Cython, ça tombe à ~20.
    Ceci sur PC, je parle pas des consoles.
    Mais bien souvent c'est assez peu visible pour l'utilisateur, sauf si ton jeu fait des calculs de folie.

    Python et Lua sont souvent utilisés comme scripting embarqué. J'ai plus souvent vu du Lua, pour les raisons qu'évoque LittleWhite en particulier.

    Ces trucs sont super utiles pour prototyper (quoi que, on préfère quand même Unity).

    En fait tout dépend de ton objectif.
    Si c'est un proto/jeu, ce dont tu parles est encore trop bas. Il vaut mieux utiliser un moteur de jeu directement (Unity, Unreal, ..)
    Si c'est pour appréhender la prog, c'est parfait : itérations rapides, résultats directs visibles, ..

Discussions similaires

  1. Réponses: 8
    Dernier message: 29/08/2013, 18h14
  2. Que pensez vous des nouveaux langages de programmation Vala et Genie
    Par gege2061 dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 15/12/2008, 12h09
  3. [Débat] Que pensez-vous du langage Anubis ?
    Par MDZ dans le forum Langages fonctionnels
    Réponses: 232
    Dernier message: 19/09/2007, 22h33
  4. Que pensez-vous des générateurs de doc PHP ?
    Par Nonothehobbit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 64
    Dernier message: 10/07/2007, 11h17
  5. [Débat] Que pensez-vous des langages à typage dynamique?
    Par Eusebius dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 16/06/2004, 13h12

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