rebol ou pas ?
tierko11-Jan-2007/23:44:49+1:00
Bonjour,
Dans le cadre d'une recherche universitaire, en sciences humaine (com) je travaille sur une modélisation pour laquelle je voudrais développer une application comme support opérationnel du modéle en question.
Il s'agit de l'utiliser pour des mises en situation en espace virtuel, du type monde virtuel, Jeu vidéo multijoueur, simulation de type serious game etc.Le modèle en question sera appliqué pour une approche triangulé à un jeu, une communauté virtuelle, et ce que l'on pourrait appeler un simulateur de communication ou machine à cas.

Dans cette perspective, et sans formation informatique initiale, je ne peux m'appuyer que sur une expérience amateur de quelques "constructeurs de jeu" et donc une compétence à minima de quelques langages de script.

J'ai donc cherché comment mettre en oeuvre mon projet avec ce minima de compétence et en sachant que je ne pourrais pas m'investir suffisament sur tous les aspects necessaires.

Ayant éliminé le choix du moding où je crains de ne pas avoir assez de marge pour implémenter le "moteur" qui me servirait à traiter mon "IA" orienté communication, j'hésite encore entre deux alternatives:
Utiliser blender (qui me servira de toute façon pour la modélisation des meshs 3d) avec son moteur de jeu à "briques" et tenter d'implanter un moteur en python.
Ou essayer de tout construire à partir de l'outil francais "hypérion", qui permet de commander un moteur 3d basé sur open gl a partir d'un langage de description des scénes hsdl basé sur le standard xml, et intégre LUA comme langage de script (langage de script largement répandu dans l'industrie vidéoludique depuis que les studios veulent ouvrir une partie de leurs softs à la personalisation en terme de niveau, scénario etc).
Les deux solutions me semblent adapté à mes capacités limitées,et suffisantes pour obtenir l'environnement désiré.
Bien sur dans les deux cas je voudrais rajouter une couche en utilisant un langage plus adapté à mon approche, même si python ou lua présentent des qualitées à ce niveau.
J'ai cherché un peu partout, exploré ce que je pouvais comprendre des prolog, lisp, oz et autres calm, estérel etc. Avalé quelques thèses sur le sujet, quelques pavés sur l'IA et ses mathématiques, mais bon.
Pas facile.
Je m'étais déja penché un peu sur rebol en le découvrant dans le login ou olivier auverlot le présentait sans avoir ce projet en tête à l'époque, mais mes difficultées avec la langue de shaekspeare liées à la succinte documentation francopone disponible, m'en avait éloigné malgré un sentiment de "là y'en un truc".
J'y reviens comme ça en "passant", et je découvre que la communauté s'est élargie que des traductions existent que des projets semble là depuis déja un bout de temps ! J'ai du passer à coté.
Bref, plus je relis vos commentaires, plus j'explore la présentation qu'en fait l'auteur, et plus je me dis que c'est le langage qu'il me faut pour mon moteur.
Mais et c'est la tout mon problème, j'ai besoin d'un environnement 3d suffisament immersif, et donc d'un rendu minima dans ce domaine.
D'ou ma (mes) questions, je sais j'ai été long à accoucher mais je dois me plaire içi certainement.
Quelles options dans ce sens là pour utiliser rebol ?
Pourrais je l'intégrer avec un de ces deux moteurs 3D ? ou un autre, mais bon ces deux me plaisent pour leur simplicité d'abord et leur documentation.
Dans quel sens ? pilotés ou pilotes ?
Et comment ?
Le lien par xml entre hypérion et rebol qui l'utilisent tous les deux serait-il viable ? Avec par exemple les objets de la scéne définis dans le langage HSDL et donc en xml, commandés ainsi et leur relations traités toujours par l'intermédiaire de la relation xml dans rebol pour ce qui concerne la communication (celle-ci est entendue comme généralisée, sa portée est celle du sens émergent pour chaque acteur de la scéne, quel qu'il soit humain (avatar) ou agent.

Voila j'espére ne pas avoir été trop long (si si,je sais) et en profite pour vous souhaiter à tous mes meilleurs voeux.
Tierko
Goldevil12-Jan-2007/9:18:14+1:00
Bonjour,

En ce qui concerne la 3D, Rebol ne peut actuellement pas fournir un environnement très immersif. Il existe bien une librairie r3d, bien conçue mais cette dernière ne permet pas de gérer textures et lumière. Il s'agit de la 3D faces cachées.

Il est possible d'accéder à OpenGL en utilisant des librairies DLL et une démonstration existe sur rebol.org. Le problème est la lourdeur d'accès aux librairies externes.

En résumé, rien ne vaut un outil tel qu'hypérion pour le rendu lui-même.

En Rebol, il est aisé de générer du XML à la volée. Il existe même quelques fonctions de ce type sur rebol.org. Il est aussi facile d'analyser un bloc XML. A mon avis, tu as intérêt à te pencher sur la fonction 'parse de Rebol. C'est une sorte d'analyseur syntaxical assez performant.

Une des caractéristique de Rebol, via sa fonction 'parse, est justement de pourvoir décrire un dialecte, c'est-à-dire un autre langage écrit sur mesure pour répondre à des besoins précis. Je pense que cela aidera à mettre au point la partie communication en XML avec Hypérion.

Avec Rebol tu peux aisément ouvrir des ports de communication socket TCP/IP. C'est même assez trivial.

Je pense donc qu'il y a une véritable possibilité d'écrire une logique fonctionnelle en Rebol communiquant avec Hypérion via TCP/IP. Si j'ai bien compris comment fonctionne hypérion, il faudra écrire un peut de code lua de manière établir la communication avec le logiciel Rebol.



Pour ce qui est de la programmation du logiciel en rebol lui-même, je pense que le modèle orienté objet simplifié de rebol est bien adapté à tes besoins. Il n'y a pas de "classes" et un objet est instancié à partir d'un autre objet tout en permettant l'ajout et l'overwritting de propriétés et méthodes.
C'est simple et efficace.
L'héritage et l'instanciation sont donc unifiés. Du coup l'héritage multiple n'est pas impossible (il y a l'introspection et les objets peuvent être dynamiquement) mais demande une logique spécifique.
guest212-Jan-2007/14:33:27+1:00
je ne connais pas hyperion, mais si il accepte de communiquer avec un socket tcp et que son protocole est documenté alors Rebol est le langage script tout trouvé pour faire le lien (la glue) entre les différentes modules de votre projet.
Mais bon... vu l'ambition de ce projet, je vois mal comment vous allez éviter d'y passer ennormément de temps, surtout si comme vous le dites vous n'avez que des connaissances succintes en pogrammation, bon courage !
tierko13-Jan-2007/18:32:37+1:00
J'ai le sentiment que la piste hypérion/rebol est possible mais comme je voudrais en avoir le coeur un peu plus net, je vous joins la réponse que m'a fait le createur d'hypérion.Il ne connais pas rebol et j'en ai donc profité pour lui mettre un lien et également lui faire copie de vos réponses (entre spécialistes).

réponse faites à ma question sur l'implémentation d'un moteur d'IA avec un autre langage dans hypérion:

Là je peux pas trop d'aider. L'AI n'est pas trop ma spé et donc je ne sais pas ce que valent les langages dont tu parles. Mais je crois sans trop me tromper que l'AI des jeux actuels est codé le langage du jeux à savoir le c++. Je pense donc que les algorithmes d'AI peuvent être implémentés en LUA, non ? Intégrer un nouveau langage de scripting à hyperion n'est plus une mince affaire vu toutes les fonctionnalités offertes par LUA. A moins de ne mettre qu'une partie des fonctionnalités. De plus il faut que le langage se prète correctement à l'intégration dans un host (ici hyperion) et offre des bonnes performances. LUA répond à toutes ces contraintes. Mais tu peux regarder du coté du language Squirrel:http://squirrel-lang.orgIl est aussi fait pour une intégration dans un host et j'en ai entendu du bien. Si ce langage te convient pour tes algos d'AI, je peux envisager de l'intégrer dans Hyperion Logged --------------------------------------------------------------------------------Don't Play, Code or Die! JeGX ModeratorMasterPosts: 323 Re: possibilitées d'hyperion « Reply #6 on: January 12, 2007, 01:26:52 PM » Quote --------------------------------------------------------------------------------J'ai oublié le python (vu que tu en parles). Il à l'air dêtre aussi utilisé pour les jeux donc il est possible de l'integrer à Hyperion. Mais je ne préfère pas trop m'avancer vu que je n'ai pas regarder le problème python/hyperion de près.

Voila, donc j'attends un peu votre avis respectifs (communauté rebol et hypérion) pour organiser mon projet s'il est viable.

Pour GUEST2 /
Je comprends votre perplexité sur la réalisation, et je voudrais préciser les limites de l'ambition tout de même.
Quand je dis que je ne veux pas y "passer énormément de temps", c'est bien sur relatif. Ce que je veux dire c'est que conscient du temps que représente l'aquisition du minima à être productif dans chaque domaine, j'opte pour me libérer de la contrainte "moteur 3D" en utilisant hypérion. Le travail repose donc sur la commande à partir de script xml ou lua, qui s'ils demandent un certain temps d'apprentissage, restent quand même abordables (je maitrise xml sur la syntaxe générale, travaillant déja sur des projets de type web sémantique, et est déja créé des jeux 2d ou 3d avec des langages de type basic ( dark, blitz) ou de type java script avec jamagic, c-script du A5 de conitec, etc, et ne suis nonc pas complétement novice) malgré une approche uniquement amateur. L'objectif est donc de libérer du temps à ce niveau pour en consacrer sur le moteur d'IA orienté com et donc si cela s'avère possible sur l'apprentissage de rebol.
L'objectif au niveau expérimental se limite à tester le modèle, donc se limitera à quelques entités, quelques objets, et un environnement sur un niveau unique. Aprés si cela fonctionne il sera toujours temps de prolonger l'expérience mais ce n'est pas l'objectif à court terme (cours terme que j'envisage quand même à 12 à 18 mois à raison de 10 h par semaine de travail effectif sur le projet.
Par contre, si l'opération de fusion de rebol/xml/lua/hypérion s'avère réalisable, et que certains sont tenté par l'expérience, c'est avec plaisir que je profiterais de leur expérience .

J'ai hate de savoir si ce montage peut fonctionner, et je suis certains que si c'est le cas le mariage peut faire des ??? (restored by admin)

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2