Forum Programmation.autre Cherche UnrealEngine libre ou au moins UnrealScript

Posté par  (site web personnel) .
Étiquettes : aucune
0
26
mar.
2005
Attention, ca risque d'être un peu long pour me faire comprendre.

A un moment: j'ai connu un jeu sous Windows: La Roue du Temps basé sur UnrealEngine. Au dela du jeu, j'ai vu un monde 3d qui me plaisait.
Mon but: faire vivre ce monde 3d sous linux, le rendre libre.

Je cherche donc un équivalent à UnrealEngine (v1). Et comme je n'ai pas trouvé, je pense que je peux tenter de me débrouiller mais j'ai besoin d'un language de script sécurisé et orienté objet (comme UnrealScript).

Comment fonctionne ce jeu ? Dans l'éditeur 3d, il avait la possibilité d'ajouter des formes simples (cube, cylindre, sphere, ...). Mais aussi des objets plus complexes gérés par UnrealScript. Ces objets peuvent être des bougies (qui doivent gérer un système de particules pour la flamme), ou d'autres objets complexes comme des personnages qui ont besoin d'une animation et qui peuvent bouger, mourir, .....

Il y a donc différentes classes qui permettent de gérer des objets 3d complexes. Ces classes sont héritées d'une classe plus simple qui gère l'affichage de l'objet à l'écrean.
C'est un modèle que j'aimerais reproduire car il me semble très intéressant.

Maintenant, comme ce logiciel sera orienté réseau, il se connectera a un serveur, téléchargera une map qui indiquera où se situent les différentes formes de bases et où se situent les objets plus complexes. Tout va bien si les classes nécessaire sont stokées en local mais comment faire si on veut pouvoir ajouter un objet qui n'est pas prévu au départ ?
Il faut donc que ces classes additionelles puissent être téléchargées par le client. Le problème qui se pose alors est la sécurité du système: ces classes téléchargées ne doivent pas pouvoir endommager le système.

Question: Quel language de script utiliser pour me permettre d'écrire ces classes ?
Ce serait bien aussi que ce soit facilement intégrable dans un programme écrit en C. Car il faudra bien proposer la classe d'origine qui gère l'affichage et la lier au moteur 3D

Merci de votre attention
  • # Blender Game Engine ?

    Posté par  . Évalué à 4.

    Les moteurs de Quake 1 et Quake 2 offrent des fonctionnalités similaires à l'UnrealEngine et sont sous GNU GPL, peut-être que ça pourrait te convenir ? Ils disposent de leur propre langage de script (QuakeC) et il existe pas mal de didacticiels à ce sujet sur le web.

    Tu peux aussi utiliser Blender et son moteur de jeu intégré. Ça se programme avec un langage de script (Python), mais je doute qu'il y ait le support réseau et je ne sais pas si ce serait très simple à ajouter.

    Sinon, il existe pas mal de moteurs de jeu ou de moteurs 3d libres, mais je ne sais pas s'il y en a des complètement scriptables. Tu pourrais éventuellement ajouter toi même le support d'un langage de script (comme Lua ou Python par exemple), mais ça suppose une bonne maîtrise de la programmation et du moteur en question.

    Tu trouveras ici quelques liens vers des moteurs 3d ou des moteurs de jeux libres :
    http://gpwiki.org/index.php/Libraries(...)
    • [^] # Re: Blender Game Engine ?

      Posté par  (site web personnel) . Évalué à 3.

      • [^] # Re: Blender Game Engine ?

        Posté par  . Évalué à 3.

        OGRE est seulement un moteur de rendu 3d, je ne suis pas sûr que ça réponde vraiment à la problématique posée. Cela dit, OGRE est une bibliothèque très sympa, je l'utilise moi-même :)

        L'auteur du message original semble plutôt avoir besoin d'un moteur de jeu complet supportant le scripting, ajouter cela à OGRE nécessiterait pas mal de boulot. Il y a des tentatives dans ce sens comme Yake, mais c'est encore loin d'être terminé de ce que j'en ai vu.
    • [^] # Re: Blender Game Engine ?

      Posté par  (site web personnel) . Évalué à 1.

      Effectivement, j'avais cherché du coté de Quake mais je n'avais pas trouvé grand chose pour linux. Mais c'est vrai que c'est là où il faut regarder sachant que Quake c'est un peu le concurrent d'Unreal ...

      J'ai aussi pensé à Blender mais le moteur de jeu ne me semble pas assez performant.
      Pour python, j'y ai aussi pensé mais le problème c'est la sécurité. Comment interdire a certains fichiers de faire des choses non autorisées ? Il y avait le module rexec qui a été désactivé pour raisons de sécurité, justement.

      En fait, je pensais trouver un language de script qui réponde a mes besoins en sécurité et à le lier à un moteur 3d comme raydium ( http://raydium.cqfd-corp.org(...) ) qui semble assez simple à mettre en oeuvre. Et l'équipe de dev est francaise.

      Merci de cette réponse.
      • [^] # Re: Blender Game Engine ?

        Posté par  . Évalué à 2.

        Effectivement, j'avais cherché du coté de Quake mais je n'avais pas trouvé grand chose pour linux.

        Je ne pense pas qu'il y ait quoi que ce soit de spécifique à Linux, il me semble que le langage utilisé (QuakeC ou Quake 2 DLL) est indépendant de la plate-forme. Tout ce dont tu as besoin, c'est les sources (sur le site d'id software ou d'icculus) et quelques didacticiels pour débuter (il y en a pas mal dans les anciens numéros de PC Team et beaucoup d'autres sur le web).

        J'ai aussi pensé à Blender mais le moteur de jeu ne me semble pas assez performant.

        C'est clair, le moteur est un peu à la traîne par rapport à ce qui existe à l'heure actuelle. En fait ça permet surtout de prototyper rapidement un concept avant de l'implémenter avec un vrai moteur de jeu.

        Pour python, j'y ai aussi pensé mais le problème c'est la sécurité. Comment interdire a certains fichiers de faire des choses non autorisées ?

        Là je dois dire que je ne comprends pas trop le problème. Tu veux que les utilisateurs ne puissent pas modifier le code ou tu veux limiter ce qu'il est possible de faire avec les scripts ?
        • [^] # Re: Blender Game Engine ?

          Posté par  (site web personnel) . Évalué à 1.


          Là je dois dire que je ne comprends pas trop le problème. Tu veux que les utilisateurs ne puissent pas modifier le code ou tu veux limiter ce qu'il est possible de faire avec les scripts ?

          Je souhaite limiter ce qui est possible de faire avec les scripts. Car ces scripts seront téléchargés d'Internet.
          Et je ne veux pas autoriser nimporte qui a faire nimporte quoi sur mon PC alors ...

          En ce moment je regarde quakeforge (v2)
          J'ai trouvé un editeur de map: GtkRadient ... Il y en a d'autres ? (pour linux) ?

          Merci

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.