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

Moteurs de jeux vidéo Discussion :

Langage de script et moteur de jeux


Sujet :

Moteurs de jeux vidéo

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Points : 25
    Points
    25
    Par défaut Langage de script et moteur de jeux
    Bonjour à tous,

    Étant en ce moment sur le développement d'un moteur de jeux. J'ai atteint un stade où je me demande quel sera le rôle d'un langage de script et à quel niveau l'intégrer. C'est à dire est-ce que le moteur dois se limiter à proposer des fonctionnalités basiques comme l'affichage d'une animation ou d'une image, proposer des objets pour le son...etc ? et le reste (un jeux dans son intégralité) doit-il être fait avec ce langage de script ?
    J'ai du mal à voir où est la limite.

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de raptor70
    Inscrit en
    Septembre 2005
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3 173
    Points : 6 812
    Points
    6 812
    Par défaut
    Les langages de script ont généralement une utilité lorsque que tu as des intervenant "non-programmeur" sur ton projet. Généralement, l'objectif est de leur simplifier au maximum les fonctionnalités pour qu'elles soient facilement exploitable mais suffisamment complète pour laisser libre court à leur créativité.
    Il n'y a pas vraiment de règle précise à ce sujet. Tout dépend de ton projet

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Points : 25
    Points
    25
    Par défaut
    Bonjour raptor70 merci de ta réponse.

    Je vois un peu mieux maintenant. Si je suis ce raisonnement, il faudrait que je propose des fonctionnalités basiques (pour des gens plus techniques qui voudrait faire des choses plus complexes) et des objets assez évolués pour que, comme tu l'a dit, un créatif puisse créer ce qu'il veut sans trop se prendre la tête.

    Derrière ce moteur il y a en effet un projet de jeux, mais j'aimerais qu'il re-serve aussi pour d'autres. Je veux faire de ce moteur un vrai pilier sur lequel je peux m'appuyer, pour plusieurs types de jeux ayant le même thème graphique global.

    Je me demande aussi si c'est valable pour des jeux en réseau.

  4. #4
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par raptor70 Voir le message
    Les langages de script ont généralement une utilité lorsque que tu as des intervenant "non-programmeur" sur ton projet. Généralement, l'objectif est de leur simplifier au maximum les fonctionnalités pour qu'elles soient facilement exploitable mais suffisamment complète pour laisser libre court à leur créativité.
    Ceci dit même les programmeurs peuvent avoir un intérêt dans les langages de script.

    La séparation code de base (C++ compilé par exemple), script est vraiment très très arbitraire et varie énormément en fonction du projet.
    Dans certains cas, script peut-être utilisé pour initialiser des variables (un objet a été créé côté C++ et ce code appelle un langage de script pour initialiser les variables de l'objet). Ou le C++ ne sera utilisé que pour avoir une couche simple entre la logique du jeu et les interfaces du système (input/api 3d etc) et donc tout le jeu peut-être considéré en "script".
    Ou le script sera dans un langage "visuel" avec par exemple des organigrammes qui seront compilés en données interprétables ou précompilées en langage natif. etc..

    Bref script ça peut vouloir tout et rien dire. A l'origine c'est quelque chose qui doit se rapprocher plus du langage humain (comme un script/scénario de cinéma) mais la façon dont c'est intégré à un projet peut varier de façon infinie.

    Pour voir des exemples de script tu peux essayer de te renseigner sur Unity engine qui supporte C#/mono
    http://unity3d.com/support/documenta...riptReference/
    Unreal engine qui a son propre langage (unreal script)
    http://udk.com/
    Playground sdk qui utilise LUA :
    https://developer.playfirst.com/
    Etc..
    Sachant que ces moteurs même s'ils ont leur propre langage n'impose pas que la logique soit écrite dans ce langage, à vrai dire rien n'empêche d'avoir ton propre éditeur de niveaux avec ta propre gestion d'évènements par dessus.

    LeGreg

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Points : 25
    Points
    25
    Par défaut
    Oui j'avais déjà étudié le cas de l'UDK et d'Unity, mais ça ne m'avais pas vraiment donné d'idées.
    Mais je pense à présent que je vais faire un binding de mon moteur en LUA ou Python, qui sera utilisé pour des projets assez simples et pour créer des prototypes (pour du gameplay par exemple).
    Pour les IA je me tournerais vers la même technologie.

  6. #6
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Plus ton moteur est scriptable mieux c'est !
    Après c'est à toi de définir la limite selon tes besoins. Si tu as un projet de jeu en solo alors je te conseillerai plutôt de mettre la dynamique du jeu dans ton moteur est de te faire des fichiers de données persos pour définir, les niveaux de ton jeu etc...
    Si ton but est de faire un moteur facilement exploitable et le plus générique possible alors essaye de faire en sorte que les scripts puissent piloter le moteur au maximum. Je te conseil de te renseigner sur le moteur Demoniak 3D, c'est un moteur très poussé sur les scripts XML/LUA qui te permet de définir ta scène et les intéractions directement à partir de scripts sans avoir à coder du C++ ou à utiliser OpenGL, bon faudra quand même coder ses shaders tu peux toujours t'en inspirer. Mais bon là c'est un moteur qui je pense à pour but d'être utiliser pour faire des tests et donc tu auras des trucs techniques pointus au niveau des effets graphiques mais il te manquera surement des trucs essentiel pour faire un jeu, à toi de poser tes contraintes et à coder ce dont tu as réellement besoin.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Points : 25
    Points
    25
    Par défaut
    Merci à tous pour vos réponses.
    J'ai une autre question, concernant toujours le même sujet. Imaginons que je veuilles créer un objet représentant des personnages avec des caractéristiques comme les points de vie, la densité des os, l'humeur, etc... ne serait-il pas judicieux à ce moment là de passer par un script ? ainsi si l'on veut lui ajouter ou enlever une caractéristique, il n'y aura pas besoin de re-compiler les sources du jeux.
    J'ai pris cette exemple mais cela concerne en partie tous les jeux quel qu'il soit, je pense. Que l'on ai ou non des intervenants non-programmeurs sur cette partie.

  8. #8
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Tout à fait, cela serait bien mieux je pense pour ce genre d'infos qui fait totalement partie du jeu et non du moteur. Essaye de mettre ces infos en script et de les gérer avec des fonctions scriptées et de faire en sorte que ton moteur appel ces fonctions au bon moment.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 82
    Points : 25
    Points
    25
    Par défaut
    Oui c'est bien ce que je pensais, c'est tout de même plus élégant.
    Puis idem pour les interfaces utilisateurs in-game.


    EDIT : D'ailleurs j'en profite même si c'est pas la discussion :p , connaissez-vous un jeu de classes pour gérer les répertoires et fichiers ? Je suis partit à faire ça maison mais si je pouvais m'éviter cette peine...

  10. #10
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 386
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 386
    Points : 20 479
    Points
    20 479
    Par défaut
    Citation Envoyé par Sleeping Lionheart Voir le message
    J'ai une autre question, concernant toujours le même sujet. Imaginons que je veuilles créer un objet représentant des personnages avec des caractéristiques comme les points de vie, la densité des os, l'humeur, etc... ne serait-il pas judicieux à ce moment là de passer par un script ? ainsi si l'on veut lui ajouter ou enlever une caractéristique, il n'y aura pas besoin de re-compiler les sources du jeux.
    absolument c'est avec cette manière qu'il faudrait procéder
    un langage script permet de paramètrer un jeu, le code source se devant être le plus générique possible ( en théorie) .
    L'intérêt de cette démarche d'utiliser un langage de scripts c'est que si tu fais un RTS par exemple qui a pour thème la 2ième guerre mondiale si tu veux faire un autre RTS par la suite avec un autre thème ( par exemple Star Wars ) eh bien ce qui est pertinent c'est de garder ton moteur générique ( en C++,C# etc..) de RTS et utiliser un langage de script pour charger les ressources et médias et pour programmer une IA différente.
    Il est certain qu'un Panzer IV cela ne se comporte pas comme une navette spatiale

    J'ai pris cette exemple mais cela concerne en partie tous les jeux quel qu'il soit, je pense. Que l'on ai ou non des intervenants non-programmeurs sur cette partie.
    L'intérêt des langages scripts s'interfaçant avec un "moteur" de jeu ( je préfère le terme de noyau de jeu ) ( comme le dit Oxyde356 ) c'est comme tu le dis un non programmeur, un game designer qui puisse paramètrer le moteur de jeu.

Discussions similaires

  1. [PROJET] langage de script dedie aux jeux
    Par screetch dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 27/08/2007, 17h22
  2. Réponses: 4
    Dernier message: 01/06/2005, 17h01
  3. Définition langage de scripting
    Par Filippo dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/12/2004, 09h25
  4. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2004, 17h35
  5. [langage] cherche script pour formater une chaine
    Par MASSAKA dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2003, 12h18

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