# Applications > Dveloppement 2D, 3D et Jeux > Moteurs de jeux vido >  Langage de script et moteur de jeux

## Sleeping Lionheart

Bonjour  tous,

tant en ce moment sur le dveloppement d'un moteur de jeux. J'ai atteint un stade o je me demande quel sera le rle d'un langage de script et  quel niveau l'intgrer. C'est  dire est-ce que le moteur dois se limiter  proposer des fonctionnalits 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 intgralit) doit-il tre fait avec ce langage de script ?
J'ai du mal  voir o est la limite.

Merci d'avance.

----------


## raptor70

Les langages de script ont gnralement une utilit lorsque que tu as des intervenant "non-programmeur" sur ton projet. Gnralement, l'objectif est de leur simplifier au maximum les fonctionnalits pour qu'elles soient facilement exploitable mais suffisamment complte pour laisser libre court  leur crativit.
Il n'y a pas vraiment de rgle prcise  ce sujet. Tout dpend de ton projet  ::ccool::

----------


## Sleeping Lionheart

Bonjour raptor70 merci de ta rponse.

Je vois un peu mieux maintenant. Si je suis ce raisonnement, il faudrait que je propose des fonctionnalits basiques (pour des gens plus techniques qui voudrait faire des choses plus complexes) et des objets assez volus pour que, comme tu l'a dit, un cratif puisse crer ce qu'il veut sans trop se prendre la tte.

Derrire 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 mme thme graphique global.

Je me demande aussi si c'est valable pour des jeux en rseau.

----------


## LeGreg

> Les langages de script ont gnralement une utilit lorsque que tu as des intervenant "non-programmeur" sur ton projet. Gnralement, l'objectif est de leur simplifier au maximum les fonctionnalits pour qu'elles soient facilement exploitable mais suffisamment complte pour laisser libre court  leur crativit.


Ceci dit mme les programmeurs peuvent avoir un intrt dans les langages de script. 

La sparation code de base (C++ compil par exemple), script est vraiment trs trs arbitraire et varie normment en fonction du projet.
Dans certains cas, script peut-tre utilis pour initialiser des variables (un objet a t cr ct 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 systme (input/api 3d etc) et donc tout le jeu peut-tre considr en "script".
Ou le script sera dans un langage "visuel" avec par exemple des organigrammes qui seront compils en donnes interprtables ou prcompiles 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/scnario de cinma) mais la faon dont c'est intgr  un projet peut varier de faon 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 mme s'ils ont leur propre langage n'impose pas que la logique soit crite dans ce langage,  vrai dire rien n'empche d'avoir ton propre diteur de niveaux avec ta propre gestion d'vnements par dessus.

LeGreg

----------


## Sleeping Lionheart

Oui j'avais dj tudi le cas de l'UDK et d'Unity, mais a ne m'avais pas vraiment donn d'ides.
Mais je pense  prsent que je vais faire un binding de mon moteur en LUA ou Python, qui sera utilis pour des projets assez simples et pour crer des prototypes (pour du gameplay par exemple).
Pour les IA je me tournerais vers la mme technologie.

----------


## oxyde356

Plus ton moteur est scriptable mieux c'est !
Aprs c'est  toi de dfinir la limite selon tes besoins. Si tu as un projet de jeu en solo alors je te conseillerai plutt de mettre la dynamique du jeu dans ton moteur est de te faire des fichiers de donnes persos pour dfinir, les niveaux de ton jeu etc...
Si ton but est de faire un moteur facilement exploitable et le plus gnrique 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 trs pouss sur les scripts XML/LUA qui te permet de dfinir ta scne et les intractions directement  partir de scripts sans avoir  coder du C++ ou  utiliser OpenGL, bon faudra quand mme coder ses shaders  ::P:  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 rellement besoin.

----------


## Sleeping Lionheart

Merci  tous pour vos rponses.
J'ai une autre question, concernant toujours le mme sujet. Imaginons que je veuilles crer un objet reprsentant des personnages avec des caractristiques 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 caractristique, 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.

----------


## oxyde356

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 grer avec des fonctions scriptes et de faire en sorte que ton moteur appel ces fonctions au bon moment.

----------


## Sleeping Lionheart

Oui c'est bien ce que je pensais, c'est tout de mme plus lgant.
Puis idem pour les interfaces utilisateurs in-game.


EDIT : D'ailleurs j'en profite mme si c'est pas la discussion :p , connaissez-vous un jeu de classes pour grer les rpertoires et fichiers ? Je suis partit  faire a maison mais si je pouvais m'viter cette peine...

----------


## Mat.M

> J'ai une autre question, concernant toujours le mme sujet. Imaginons que je veuilles crer un objet reprsentant des personnages avec des caractristiques 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 caractristique, il n'y aura pas besoin de re-compiler les sources du jeux.


absolument c'est avec cette manire qu'il faudrait procder  ::ccool:: 
un langage script permet de *paramtrer* un jeu, le code source se devant tre le plus gnrique possible ( en thorie) .
L'intrt de cette dmarche d'utiliser un langage de scripts c'est que si tu fais un RTS par exemple qui a pour thme la 2ime guerre mondiale si tu veux faire un autre RTS par la suite avec un autre thme ( par exemple Star Wars ) eh bien ce qui est pertinent c'est de garder ton moteur gnrique ( en C++,C# etc..) de RTS et utiliser un langage de script pour charger les ressources et mdias et pour programmer une IA diffrente.
Il est certain qu'un Panzer IV cela ne se comporte pas comme une navette spatiale  ::mouarf:: 




> 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'intrt des langages scripts s'interfaant avec un "moteur" de jeu ( je prfre le terme de noyau de jeu )  ( comme le dit Oxyde356 ) c'est comme tu le dis un non programmeur, un game designer qui puisse paramtrer le moteur de jeu.

----------

