Les systèmes multi-agents : de la simulation aux scénarios émergeants

Répondre
Partager Rechercher
Bonsoir à tous,

Je vais essayer de faire rapide sur l'introduction pour passer le plus rapidement possible aux choses sérieuses et intéressantes.

Mon but est de vous présenter une voie de l'intelligence artificielle, à savoir les systèmes multi-agent, appliquée au sujet qui nous regroupe tous ici : les jeux-vidéos(what else ?). Cette démarche n'est pas tout à fait désintéressée car rendre compte et transmettre les informations sera une compétence indispensable dans ma vie future, vous êtes donc mes cobayes!

Préliminaires


Commençons les présentations.

Les systèmes multi-agents :

Une définition en provenance de Wikipédia :
Citation :
Un système multi-agent (SMA) est un ensemble d'agents situés dans un certain environnement et interagissant selon une certaine organisation. Un agent est une entité caractérisée par le fait qu'elle est, au moins partiellement, autonome. Ce peut-être un processus, un robot, un être humain, etc.
Pour résumer il s'agit d'un programme principal(le système) qui exécute d'autres programmes(les agents).

Comment marchent les SMA dans le micro-climat de Lille ?

J'ai assisté il y a quelques semaines à une conférence de Philippe Mathieu, responsable de l'équipe SMAC(Systèmes Multi-Agent et Comportement) du laboratoire LIFL situé à Lille. Il venait expliquer la vision de son laboratoire et l'orientation de leurs recherches.Cette conférence a été intéressante, comparativement à d'autres, car leur approche est vraiment très différente de tout ce que j'ai pu lire ou voir auparavant.

Généralement dans les systèmes multi-agent, la grosse partie du travail est de programmer les agents. Définir leurs comportements, leurs réactions, le plus souvent dans un cycle Perception => Décision => Action. Cela se fait à coup de if de case et de toutes ces structures qui rendent un code illisible. De plus programmer de cette façon revient à modifier l'agent à chaque changement de comportement et rend celui-ci non exportable vers un autre système.

Mais cré fin dieu, un système multi-agents comporte des agents ! On doit bien, à un moment ou à un autre, s'en occuper ?

Le LIFL nous répond : non. Du moins ils voient les agents comme des coquilles vides. Ce qui compte réellement, et ce qui fait l'intérêt de la chose, ce sont les interactions entre les agents. Ils ont donc développé une plateforme spécifique permettant de programmer les interactions et lorsqu'ils désirent lancer un système, sélectionne les interactions désirées dans le système, leur répartition en % de population et c'est parti.

Les agents deviennent donc des pièces de puzzles sur lesquels ont greffe des formes pour les assemblées.

Cela me permet d'introduire un peu mieux ce qu'est une interaction. Une interaction doit avoir un exécutant(l'agent qui fait l'action) et une cible(l'agent qui reçoit l'action). Ainsi un homme mange une pomme(exécutant) et la pomme est mangée(cible). Les interactions sont donc codées ainsi en mentionnant un exécutant et une cible sans jamais être restrictif sur une classe d'agent spécifique ce qui la rend portable. De là nous pouvons imaginer les intéractions comme les formes que l'on rajoute aux pièces d'un puzzle : les trous(cible de l'action) et les boules(exécutant). Lorsque deux côtés concordant se rapprochent l'actions s'effectue.

Ce serait un peu trop facile. Nous ne contrôlerions pas alors quand les intéractions s'effectue et sous quelles conditions. Ainsi en plus une interaction à des conditions(qui disent si l'action est possible) et des déclencheurs(qui disent si l'action a besoin d'être faites). Pour exemple : Une personne a faim(déclencheur) et si de la nourriture est à portée(condition) elle va manger. Sur ce premier exemple on comprend bien l'intérêt d'exporter l'interaction, celle-ci pourra sans problème allez se greffer sur un renard, une taupe ou qu'importe.

Dernier mot sur les interactions, la programmation d'un système de cette manière est grandement simplifiée. Une fois les interactions programmées, pour lancer une simulation il faut ajouter les catégories d'agents(lapin, renard, baie). Celles-ci sont alors représentées dans un tableau en colonne et en ligne. Il ne reste plus qu'à ajouter à l'intersection voulue l'interaction désirée. Par exemple entre renard et lapin on met mange (ligne exécutant, colonne cible). Et c"est parti !

Applications


Tout ça c'est très bien mais pour quoi faire ?

Tout en bas de la page du LIFL vous trouverez des démonstrations. Leur plateforme est également en démonstration dans la partie IODA.

Les exemples que M.Mathieu m'ont parlé et je vais vous les répéter.

Simulation de phénomènes physiques / biologique. Par exemple création de protéine et leur auto-inhibition. Ils représentent un brin d'ADN et celui-ci produit des protéines. Celles-ci une fois "en liberté" viennent se fixer sur le brin et inhibe la production. Le phénomène a pu être reproduit en simulation.

Nous avons par exemple les unités dans Age of Empire. Un villageois coupe un arbre, l'arbre tombe, le villageois ramène l'arbre. C'est le villageois qui seul va regarder dans son entourage si il y a un arbre, aller couper celui-ci et décider de ramener l'arbre au forum(pas trop le choix on l'a programmé pour ca).

Dans le Seigneur des Anneaux également. Les scènes de bataille épiques sortent des sentiers battus et des traditionnels copiés/collés plus ou moins dissimulés. Les développeurs ont placé des agents capables de donnés des coups d'épées(4 sortes de coups différents) et d'autres capables de recevoir(ces mêmes 4 coups). On donne une seule action à chaque agent, un peu de probabilités pour la répartition, et c'est parti. Plus qu'à rendre en 3D!(euphémisme).

Future application(et peut-être scoop!), le LIFL serait en collaboration avec Ankama pour une application d'un tel système à un MMO à succès(chut!).

Et dans les jeux-vidéos?


Tout cela pour en arrivée à la conclusion que les systèmes multi-agents font leur petit bonhomme de chemin.

Depuis longtemps qu'ils sont connus, ils gagnent leurs lettres de noblesse à chaque nouveau secteur où ils s'appliquent. Leur plus grande avancée à mon sens dans les jeux-vidéos a été les Sims. Les avatars y sont capables de savoir quelles interactions ils peuvent faire avec les objets à l'entour et prennent des décisions selon leurs besoins.

Les Sims me permettent de faire la transition vers les scénarios émergents. Ce jeu en est un parfait exemple. Ainsi celui-ci n'est pas fortement scénarisé. Pas de vaisseaux extra-terrestre, pas de monde Heroic, ... pas de background. L'intérêt et l'attrait pour le joueur vient de ces intéractions. Toutes ces tâches à effectuées mises bout à bout forment une histoire et un lien avec l'avatar qui plongent ainsi aussi profondément le joueur dans le jeu qu'un scénario classique.

Il est vrai que les agents ne font pas tout seuls. Les game-designer rajoutent quand même des éléments clés qui donnent encore plus d'intérêt et font un peu bouger le monde du joueur.

The End

Mais je suis persuadé que dans le très jeune, et très immature, monde du jeu-vidéo, les idées seront bientôt assez claires pour nous offrir des univers ludiques et dynamiques plus consistants que MyPet sur DS.

Cependant, à l'instar de certains grands secteurs que je ne citerais pas, les éditeurs de jeux ont-ils intérêt à ce que des jeux qui sont, potentiellement, à durée de vie illimitée voient le jour ?

Cette question n'appelle pas forcément à réponse étant assez polémique et juste lancée en l'air.

Voilà, fin de l'exposée

Assez parlé de techniques !

Que pensez-vous des univers multi-agent, si vous avez pu les expérimenter, dans l'univers des jeux-vidéos?
Apporte t-ils quelque chose de nouveau ? Ou doivent ils être couplés avec d'autres systèmes pour fournir un jeu attrayant ?

Personnellement je suis fan. Récemment Settlers 6 m'a offert une démonstration de cela et j'ai apprécié pouvoir suivre leur raisonnement et leurs objectifs par le biais de leur humeur.
Pour moi il y a vraiment un concept à creuser. Peut-être que cela ne pourra pas s'appliquer à tous les types de jeux. Mais je pense entrevoir des possibilités dans mes deux formats de jeux préférés (MMO & Gestion\Stratégie).

Je vais conclure par cette citation qui donne espoir pour l'avenir des SMA :
Citation :
Le tout est plus grand que la somme des parties
Je vais répondre en partie par une question..

Sur le papier c'est attrayant, maintenant reste à voir en termes ludiques ce que ça peut apporter (parce que la cohérence ou pire, le réalisme, ce n'est pas forcément amusant). Ceci dit j'admets que ça fait rêver.

Je me demande seulement si les joueurs se rendraient compte de l'existence d'un tel environnement. Il existe déjà des jeux dans lesquels les créatures interagissent plus ou moins les uns avec les autres (ça se voit bien sur certains groupes de monstres "organisés" du système Dofusien, il me semble qu'il existe aussi un mmo -WWII online ?..- sur lequel les ennemis peuvent avoir des discussions presque logiques et parfois informatives ou drôles), mais les joueurs y font ils vraiment attention ?

Mettons qu'un jeu possède un vrai climat et des récoltes qui poussent en fonction de celui ci, de la proximité des villes, du passage sur les parcelles... Est ce que les joueurs vont s'en rendre compte ou simplement foncer dessus pour les récolter, et peut être râler quand les récoltes sont mauvaises ?

Mettons qu'un jeu mette au point un système d'organisation de meutes de monstres qui sauvent leurs membres importants, par exemple, ou bien simplement des monstres drôles à observer.. Est ce que les joueurs vont s'en rendre compte ? Ou seulement basher tout ce qui bouge comme d'habitude ?

Mettons qu'un jeu mette en scène une ville avec des habitants qui se nourrissent, meurent, circulent.. Est ce que les joueurs vont l'apprécier ? Ou est ce qu'ils se fichent du décors, peut être même qu'ils râleront de ne pas trouver le pnj machin de la quête bidule à un endroit fixe parce que celui ci dort la nuit...

Est ce que ce genre de scènes, qui me font rêver, touchent vraiment n'importe quels joueurs ?



Pour ce qui est de la durée de vie illimitée, clairement oui. Un gagne-pain permanent est forcément bon à prendre s'il ne concurrence pas les produits de la même entreprise. Et si c'est le cas, il suffit de stopper le premier. Mais ces possibilités ne feront pas tout, l'obsolescence peut venir des graphismes, du gameplay général, de concurrents qui avec le temps pourront inclure plus de features ou des features plus actuelles grâce aux évolutions technologiques des machines des joueurs.. Tout cela peut se faire aussi via mises à jour, dans une certaine mesure. Mais il y aura forcément des limites.



Enfin, ce n'est que mon avis.
Citation :
Publié par Ebe
Je me demande seulement si les joueurs se rendraient compte de l'existence d'un tel environnement.
...
les joueurs y font ils vraiment attention ?
...
Est ce que les joueurs vont s'en rendre compte ou simplement foncer dessus pour les récolter, et peut être râler quand les récoltes sont mauvaises ?
...
Est ce que les joueurs vont s'en rendre compte ? Ou seulement basher tout ce qui bouge comme d'habitude ?
...
Est ce que les joueurs vont l'apprécier ?
...
Est ce que ce genre de scènes, qui me font rêver, touchent vraiment n'importe quels joueurs ?
...
Enfin, ce n'est que mon avis.


C'est vrai que malheureusement, pas assez de joueurs apprécient à juste valeur le monde virtuel qui les entours
Quel pourcentage de joueur lit-il réellement intégralement le texte des quêtes ?
Quel pourcentage de joueur apprécie de temps en temps de jouer son personnage en RP ( je ne parle même pas de jouer son pge en RP à 100% -_- ) ?
La plupart des joueurs de MMO jouent aujourd'hui pour : être le meilleur de son serveur, et presque rien d'autre. Avoir le meilleur stuff, la meilleur combinaisons de compétences, les meilleurs caracs, le plus cela, le plus ceci...

Le jour ou un jeu réunira une communauté contenant une majorité de joueurs appréciant réellement l'univers dans lequel ils jouent, je dirais bravo ( je ne perd pas espoir ). Un monde débarrassé de kevins, de kikoo lol, est-ce vraiment réaliste ?

Pour reparler de ce système d'IA, je pense qu'il offre de nombreux avantages, comme la souplesse. Si on veut créer un nouveau type de comportement, on a pas a retripouiller dans le code.
Il permet également de générer des comportements qui seraient assez complexes à générer sans ça ( comme tu dis avec une ribambelle de bloc if et aurtres illisibilités ).

Mais d'après moi, cet exemple : "si le renard croise le lapin, le renard mange le lapin." pourrait justement contribuer à gérer un écosystème assez réaliste dans un monde persistant, comme, il me semble, souhaite le faire wakfu ( je suis pas sure, le jeu n'est pas encore sorti, mais ça apparaît dans la liste des features du site en tout cas ). Et donc on voit bien que ça pourrait répondre assez bien a des besoins du marché actuel.
Moi je dit, "wait and see". On verra bien si les concepteurs de MMO seront séduit par se système.
Ou plutôt, "test and see", parcque c'est pas en waitant tous que ça va faire avancer les chose .

Dans le lien que tu donne, on peut voir plusieurs simulations paramétrables.
Entre autres, une simulation de combat selon l'attitude de chaque combattant ( gentil, méchant, rancunier, méfiant, donnant donnant, etc... ).
Ca pourrait très bien servir pour des IA de monstres, pour que chaque monstre ai son attitude propre à lui même. Au delà du réalisme, ça évite au joueur de s'ennuyer pendant des combats monotone, et lui faire varier l'utilisation de ses propres techniques de combats, selon le comportement du monstre.

Donc voila, je suis plutôt ouvert à ce système. Mais pour ce qui est des proffessionnels du JV, seul l'avenir nous dira s'ils sont intéressés, et si ça réponds à un besoin du marché.
Citation :
Publié par Ebe
Je vais répondre en partie par une question..

Mettons qu'un jeu mette au point un système d'organisation de meutes de monstres qui sauvent leurs membres importants, par exemple, ou bien simplement des monstres drôles à observer.. Est ce que les joueurs vont s'en rendre compte ? Ou seulement basher tout ce qui bouge comme d'habitude ?
La réponse est OUI, les joueurs vont s'en rendre compte. Mais il faut que cela ait des répercussions sur le gameplay.

Dans Ryzom, les herbivores attiraient les carnivores. Or les carnivores attaquaient également les joueurs.
Quand un récolteur allait forer dans une zone très peuplée en herbivore il pouvait détecter de temps à autre un herbivore se faisant attaquer par un carnivore à moyenne distance. Même si à ce instant on était hors de la zone d'agro , il était très fortement conseillé d'abandonner quelques temps sa récolte et de prendre sa tenue de combat pour aller trucider le carnivore et l'herbivore. Car une fois qu'un carnivore commencait à chasser, il décimait tout le groupe d'herbivore qui bien entendu paissait sur le lieu de récolte. Et donc dès que le carnivore arrivait à portée du joueur, il se focalisait sur lui. Et bien entendu, un récolteur en tenue de récolte a peu de chance de survie.

Il m'arrivait également très souvent dans les zones de récolte à risque de décimer tous les herbivores sur place à part un (en garder un en vie empêchait le repop). En effet, cela me permettait de limiter les risques d'attirer les carnivores. Je n'avais également plus qu'un seul herbivore à surveiller ce qui est plus facile que surveiller un troupeau de 10 individus.

Donc oui, mettre en place des comportements intelligents peu apporter du plaisir dans le gameplay.
Unhappy
Oui... et non à la fois

La POO et la gestion d'évènement, ce sera la manière de programmer un système multi-agent. Mais aujourd'hui, plus ou moins n'importe quelle programme se voulant être "propre" et évolutif sera programmé à l'aide de la POO et d'une gestion d'évènement.
Mais ( d'après ce que j'en ai compris ), là il s'agit plus d'un concept de modélisation de comportement d'entités ( quelles qu'elles soient ).
Mais sur le site indiqué, il précise bien que ce n'est pas un nouveau concept, ça ne "vient pas juste de sortir".

Je cite une partie du site indiqué :
Citation :
La notion d'Agent et de systèmes Multi-Agents a fait son apparition dans des domaines théoriques comme la théorie des jeux et l'intelligence artificielle, mais aussi dans des domaines appliqués comme le commerce électronique ou les plateformes de simulations. L'équipe s'est spécialisée dans la modélisation de comportements, la mise en oeuvre de ces comportements dans les environnements nécessitant des entités autonomes, l'évaluation de comportements entre agents et la réalisation de plateformes ouvertes d'expérimentation
Citation :
Publié par Assurancetourix
J'ai l'impression que ce système "multi agent" n'est finalement "que" de la POO avec gestion d'évènement, sous un autre nom. Ai-je loupé quelquechose?
Citation :
Publié par Idrakis
Oui... et non à la fois

La POO et la gestion d'évènement, ce sera la manière de programmer un système multi-agent.
C'est tout à fait mon avis aussi. Si l'on développe ton raisonnement Assurancetourix on peut aussi dire que toutes les architectures sont finalement traduites en langages machines.

Je pense que les Systèmes multi-agents permettent un nouveau niveau d'abstraction. Une fois que le système sur lequel tourne les agents est en place on peut se concentrer sur leurs interactions. De là peuvent émerger de nouvelles idées et concepts. Je pense que c'est une nouvelle vision des choses qui apportera de nouvelles problématiques et donnera naissance à d'autres idées.

En ce qui concerne l'attrait du joueur pour des jeux construits sur ce système, je pense qu'il ne faut pas y penser pour l'instant ^^. Je veux dire par là que l'on ne doit pas penser au côté économique/financier alors que les applications des SMA dans les jeux-vidéos sont encore balbutiantes.

L'expérience, les idées, les applications et les modèles économiques naîtront d'eux-mêmes au fur et à mesure du développement des applications.

Dans les exemples que vous donnez il y a un début d'application. Rendre un univers vivant. Mais j'ai dans l'idée que cela peut aller plus loin.

Pour ne pas écrire un pavé de délire je donnerais juste un exemple auquel je pense lorsque l'on parle de tel systèmes.

Imaginons un jeu de gestion, une simulation de civilisation par exemple. Toutes les entités présentes en jeu sont représentées comme des agents. Nos fameuses pièces de puzzle. Imaginons que ces pièces de puzzle commence toutes comme des carrés. Elles n'interagissent que peu entre elles(il faut quand même un minimum, disons manger, dormir, se déplacer).
Le but de la partie serait de faire évoluer cette civilisation. Mais pas à gros coup de : Je recherche pêche, je recherche travaille du bronze, .... Notre civilisation pourrait ainsi découvrir que en plus de se nourrir des animaux, les plantes marchent aussi. Le bois peut se couper et avoir de multiples applications. Peu à peu nos personnages obtiendrait des bosses sur les pièces de puzzle qu'ils représentent, à chaque au système de maintenir les trous dans les agents correspondants. Ce serait une approche plus fine, plus douce pour guider le joueur.

L'émergence du scénario c'est cela à mon sens. Rien n'est écrit, mais tout peu arriver. Enfin tout, les restrictions viendrait ici de l'architecture du jeu. Car pour faire naître des tels comportements, il faut bien plus que définir les interactions possibles.
Au lieu d'avoir un scénario écrit dans le marbre celui-ci est "libre". Bien sûr cette liberté ne doit pas rimer avec chaos, mais d'autres techniques de contrôle de scénario adaptatif existe et donneront de bons résultat. Le couplage de ces technologies pourrait donne quelque chose d'intéressant.

Mais il est vrai que ce n'est que mon avis de joueur et que j'ai un peu tendance à m'emballer.
Citation :
Publié par Idrakis
C'est vrai que malheureusement, pas assez de joueurs apprécient à juste valeur le monde virtuel qui les entours
Quel pourcentage de joueur lit-il réellement intégralement le texte des quêtes ?
Quel pourcentage de joueur apprécie de temps en temps de jouer son personnage en RP ( je ne parle même pas de jouer son pge en RP à 100% -_- ) ?
La plupart des joueurs de MMO jouent aujourd'hui pour : être le meilleur de son serveur, et presque rien d'autre. Avoir le meilleur stuff, la meilleur combinaisons de compétences, les meilleurs caracs, le plus cela, le plus ceci...
On peut aussi poser les questions :
- Dans combien de jeux, lire intégralement le texte des quêtes est vraiment significatif pour la réussite de la quête ?
- Dans combien de jeux, jouer son personnage en RP a un quelconque impact sur ta réussite in-game ?

D'une manière générale, les joueurs jouent pour gagner.
Or comment gagne-t-on aux mmo actuels ? Evidemment, on peut tuer un mob, tuer un boss, battre un autre joueur ou un autre groupe de joueurs en PvP, mais c'est très limité, puisque ces victoires n'ont aucun effet de bord. C'est à dire qu'une fois la victoire obtenue, tu t'en vas et c'est comme s'il ne s'était rien passé ; en dehors évidemment d'un potentiel loot.

Dans un jeu offline, un beat'em all, par exemple (bon exemple pour le PvE, puisque dans les deux cas le beat'em all et le mmo, c'est du monster bashing), on peut aussi tuer un mob, vaincre un boss... Mais quand peut-on dire qu'on a vraiment gagné ? qu'on a vraiment battu le jeu ?
Une fois qu'on a tué le dernier boss.

Dans les mmorpg il n'y a pas de "dernier boss". Alors quand peut-on dire qu'on a gagné ?

Si on regarde les jeux multi-joueurs online qui ne sont pas des mmo, les jeux de compétition avec "ladder", par exemple les RTS.
Si on entre dans cette compétition, le but du jeu est d'être le 1er du ladder. Le gagnant, c'est celui qui est tout en haut. Le truc, c'est que celui qui est en haut n'est pas toujours le même joueur.

Dans un mmorpg, c'est un peu pareil, le but du jeu c'est d'être le meilleur.
A l'origine, ce n'était pas forcément un comportement bien compris par les devs, on pouvait parler de comportement émergent ou encore de meta-jeu, actuellement, ce comportement est carrément encouragé par les devs avec des tas de concours en tout genre, des systèmes de rating pour permettre aux joueurs de comparer leur niveau de réussite par rapport aux autres joueurs, etc.

On peut se poser la question : pourquoi un tel comportement a vu le jour ?

Citation :
Mais d'après moi, cet exemple : "si le renard croise le lapin, le renard mange le lapin." pourrait justement contribuer à gérer un écosystème assez réaliste dans un monde persistant
Ca existe dans WoW. Les premières fois que ça arrive, ça fait sourire, après on y prête plus aucune attention.

Comme le dit Toro, si un tel système est mit en place juste pour faire beau, ça ne sert à rien, il faut que cela influe sur le gameplay du joueur, ou des joueurs.
Joueur au singulier et pluriel, parce que si cela peut suggérer à un joueur unique d'aller tuer tous les herbivores du coin avant de commencer sa récolte, c'est déjà ça (même si d'un point de vue réalisme/écologique et même intérêt point de vue fun, on peut se poser quelques questions), si cela permet en plus aux joueurs de former des groupes/communautés qui se définissent des buts, c'est mieux.

Citation :
Publié par Idrakis
Mais ( d'après ce que j'en ai compris ), là il s'agit plus d'un concept de modélisation de comportement d'entités ( quelles qu'elles soient ).
Un système multi-agent, c'est surtout un ensemble d'entités capable de communiquer entre-elles et d'agir sur certaines choses afin d'atteindre un but prédéterminé.
Ca n'a rien de "magique" : En balançant 150000 entités dans un univers persistant, sans leur donner de but, tout ce que vous obtiendrez c'est une belle soupe chaotique au mieux, et au pire un système amorphe qui ne fait rien du tout.

Citation :
Publié par Ayesh
Je pense que les Systèmes multi-agents permettent un nouveau niveau d'abstraction. Une fois que le système sur lequel tourne les agents est en place on peut se concentrer sur leurs interactions. De là peuvent émerger de nouvelles idées et concepts. Je pense que c'est une nouvelle vision des choses qui apportera de nouvelles problématiques et donnera naissance à d'autres idées.
Comme le disait Idrakis, c'est pas spécialement nouveau. Par contre, ça permet d'obtenir des comportements émergents, en effet.
Dans un jeu de foot par exemple, tu auras 2 fois 11 entités, de différent types (gardien, butteur, défenseur, etc), qui auront la capacité de communiquer entre eux, d'une manière ou d'une autre (la vision notemment, d'ailleurs les entités n'ont pas forcément besoin d'avoir une connaissance omnisciente de leur environnement), qui auront également diverses actions de base très simples (tirer avec +/- de force, rattraper le ballon, etc), enfin chacun des deux groupes aura un but bien précis : avoir plus de points que l'équipe adverse à la fin du jeu et à partir de là on verra des comportements émergents (qu'on avait pas codés ni même envisagés parfois) locaux et globaux :
- locaux : des passes, du dribble...
- globaux : stratégies de défense, d'attaque...

Citation :
Imaginons un jeu de gestion, une simulation de civilisation par exemple. Toutes les entités présentes en jeu sont représentées comme des agents. Nos fameuses pièces de puzzle. Imaginons que ces pièces de puzzle commence toutes comme des carrés. Elles n'interagissent que peu entre elles(il faut quand même un minimum, disons manger, dormir, se déplacer).
Le but de la partie serait de faire évoluer cette civilisation. Mais pas à gros coup de : Je recherche pêche, je recherche travaille du bronze, .... Notre civilisation pourrait ainsi découvrir que en plus de se nourrir des animaux, les plantes marchent aussi. Le bois peut se couper et avoir de multiples applications. Peu à peu nos personnages obtiendrait des bosses sur les pièces de puzzle qu'ils représentent, à chaque au système de maintenir les trous dans les agents correspondants. Ce serait une approche plus fine, plus douce pour guider le joueur.
Avec ce que je viens d'expliquer, comment tu fais pour permettre cette évolution ?...

Citation :
L'émergence du scénario c'est cela à mon sens. Rien n'est écrit, mais tout peu arriver. Enfin tout, les restrictions viendrait ici de l'architecture du jeu. Car pour faire naître des tels comportements, il faut bien plus que définir les interactions possibles.
Au lieu d'avoir un scénario écrit dans le marbre celui-ci est "libre". Bien sûr cette liberté ne doit pas rimer avec chaos, mais d'autres techniques de contrôle de scénario adaptatif existe et donneront de bons résultat. Le couplage de ces technologies pourrait donne quelque chose d'intéressant.

Mais il est vrai que ce n'est que mon avis de joueur et que j'ai un peu tendance à m'emballer.
Personnellement, je vois mal comment tu obtiens tes scénarios adaptatifs, ton émergence de scénario à partir de systèmes multi-agents.

A noter que les mmorpg à l'heure actuelle sont déjà des systèmes multi-agents : les joueurs et les mobs sont les agents.
Le problème c'est que l'environnement (c'est à dire les contraintes que subissent les différents agents) est nul ou négligeable. On arrive forcément à quelque chose de très limité du coup.

Si par scénarios émergents, tu voulais dire "buts de jeux" émergents, des systèmes multi-agents pour les mobs et leurs interactions peuvent faire partie de la solution, mais c'est loin d'être suffisant.
Citation :
Publié par Eva / Celivianna
A noter que les mmorpg à l'heure actuelle sont déjà des systèmes multi-agents : les joueurs et les mobs sont les agents.
Le problème c'est que l'environnement (c'est à dire les contraintes que subissent les différents agents) est nul ou négligeable.

J'ai eu un tilt. Finalement, oui, avoir des interactions entre les mobs ou avec les mobs c'est rigolo, mais on finit par les basher quel que soit leur "intelligence". Il faut donc trouver le gameplay qui va avec ces interactions.

Pour exemple : si l'agent Shai-Hulud est attiré par l'agent épice, et que cette interaction modifie le comportement de Shai-Hulud, c'est cool. Si en définitive, le gameplay c'est de pexer en bashant Shai-Hulud, ça reste restreint.

Si, par contre, tout un pan du jeu dépend de comment on déplace Shai-Hulud, ça devient tout à fait intéressant.


D'où une réflexion : et si les agents ça n'était pas mobs, ressources, pnj, ou joueurs, mais plutôt les objectifs de jeu eux-mêmes. Les objectifs de jeu sont des objets comme les autres, et on a donc un jeu d'opportunité plutôt que linéaire, sans avoir à coder un environnement de folie.

Il s'agit de coder les objectifs du jeu comme ayant des interactions variables entre eux.


Prenons un exemple : dans un mmorpg classique, j'ai pour objectif de tuer le boss X. Pourquoi ? Pour poursuivre l'objectif plus haut placé de taper plus fort.

On a donc pour objectifs : "accéder à X", "le vaincre", "devenir plus fort"

Les relations entre ces objectifs sont prédéfinies.


Imaginez maintenant qu'il puisse y avoir des interactions entre ces objectifs. Par exemple, l'objectif "devenir plus fort" décide tout à coup que "vaincre X" n'est plus nécessaire ni suffisant mais "accéder" ça le branche plus. Parallèlement, l'objectif "accéder à X" décide que finalement l'objectif "avoir la potion rouge" est franchement un objectif sympa.

Et là paf, on a "trucider X pour pexer" qui devient "apporter la potion rouge à X pour pexer", tout simplement parce que dans l'espace abstrait des objectifs "avoir la potion rouge" a fait du charme à "accéder à X" et que "vaincre X" a eu une embrouille avec "XP"


Le réalisme en terme de développement informatique n'étant pas mon truc, je faisais juste part d'une utopie ludique qui m'a traversé l'esprit
C'est un peu là où je voulais en venir lorsque j'évoquais des "scènes". Ce système permet de peindre des tableaux, mais qui peuvent n'être agréables qu'à la contemplation, durant la découverte.

Pour en faire un "système de jeu", il y a tout une réflexion à mettre en place que l'on aborde pas ici.

Et comme le cadre du sujet est très, très vaste - il revient à demander à un peintre s'il ferait de beaux tableaux avec telle nuance de peinture, ou plutôt tel type de toile.. - il me semble qu'il n'est pas inutile de rentrer dans des cas particuliers. peut-être.



[edit] Ca m'apprendra à poster sans rafraichir les pages visitées le matin.. Du coup il y a un peu redite avec le dernier message, mes excuses. :|
Citation :
D'une manière générale, les joueurs jouent pour gagner.
Oui, le problème vient en partie de là à mon avis.
Les joueurs, ne jouent plus pour jouer ( comme leur nom l'indique ), mais pour gagner, je trouve que ça créé parfois quelque chose de malsain. Cette chose est appelés "GrosBill", et pour moi, c'est le péché suprême dans lequel un joueur peut tomber, quel que soit le jeu auquel il joue.
Quand je vois certaines personnes jouer à leur MMO favori, je me dis que la nouvelle génération de joueur ne savent plus jouer

Mais comme tu dit :
Citation :
Publié par Eva / Celivianna
- Dans combien de jeux, lire intégralement le texte des quêtes est vraiment significatif pour la réussite de la quête ?
- Dans combien de jeux, jouer son personnage en RP a un quelconque impact sur ta réussite in-game ?
Les joueurs ne sont peut être pas assez encouragé à profiter du jeu, découvrir le monde... parce que ça ne rapporte rien au niveau du jeu, et qu'une partie assez grosse des MMO est payant sur un système d'abonnement, ce qui pousse encore plus le joueur a vouloir absolument "rentabiliser" son "investissement" ( remarquez les guillemets ).

Citation :
Dans les MMORPG il n'y a pas de "dernier boss". Alors quand peut-on dire qu'on a gagné ?
Ma réponse : jamais. Un MMO est clairement un nouveau type de jeu, avec donc clairement de nouveaux objectifs.
Et comme je l'ai dis, ce qui me semble être le meilleur objectif est de jouer et de profiter du jeu auquel on joue.
Mais ce n'est que mon point de vue, et c'est l'objectif que j'ai quand je joue à n'importe quel type de jeu.

Citation :
Ca existe dans WoW. Les premières fois que ça arrive, ça fait sourire, après on y prête plus aucune attention.
Tu veux peut être parler de quand un loup s'approche trop près de la route et qu'un garde passait justement par là ?
J'exagère, mais ce n'est vraiment pas poussé. C'est vraiment juste pour "décorer" comme tu dis.

Citation :
Le problème c'est que l'environnement (c'est à dire les contraintes que subissent les différents agents) est nul ou négligeable. On arrive forcément à quelque chose de très limité du coup.
Complétement d'accord, c'est ça justement qui serait à mon avis très intéressant à développer. Ca créerais des mondes "évolutifs", et non figés comme le sont la plupart des univers de MMO, les mobs sont toujours au même endroit, ils ne s'aventure rarement bien loin. Ca contribuerait en partie à ne pas lasser le joueur.
Citation :
Publié par Eva / Celivianna

Avec ce que je viens d'expliquer, comment tu fais pour permettre cette évolution ?...
J'aurai certainement dû développer le concept de scénario. Quand je parlais de scénario je pense à tout ce qui fait qu'un univers est intéressant et cohérent. Maintenant j'avoue qu'un scénario signifie aussi l'histoire entière proposée au joueur. Je n'ai pas d'autre mot pour décrire cette idée d'objectif mais sans jamais être une finalité.

Comme le dit Ebe c'est vrai que le sujet est vaste. Surtout si on considère tous les aspects de l'intelligence artificielle.Encore une fois c'est juste mon avis et mes idées que j'exprime dans les exemples, loin d'êtres complètes et cohérentes

Ce que tu décris(au niveau du football, un exemple de multi-agent sur le football est d'ailleurs disponible ^^)je le vois plus comme de l'évolution des connaissances des agents(par exemple réseau de neurone). Dans un SMA, à priori, le code et donc le comportement de l'agent est figé. Après on peut combiner différentes techniques ensemble, mais là ca va trop loin pour moi

Alors c'est sur qu'on peut considérer que déjà tout est agent dans les jeux et plus généralement dans les programmes. Mais leur gestion n'est pas vu de la même façon que dans les simulations SMA. Un mob dans un MMO est certes un agent mais il est programmé pour agir si il se passe tel ou tel évènement.

Alors que si il était en "mode" SMA, il verrait que le joueur est à sa portée (interaction possible). A t'il la volonté de l'attaquer (problème de factions, faims, ...) et peut-il l'attaquer(15 niveau au dessus ... hm hm).

En ce qui concerne mon exemple précédent, j'ose pas trop m'avancer mais par exemple on va retrouver des attributs sur chaque agent. Ces attributs diront si tels ou tels actions sont possible sur eux.
Par exemple tous les objets qui sont rigides et immobiles(exemples vite fait) peuvent être coupes ( trou dans la pièces de puzzle)

Pour conclure :
Je pense qu'à l'heure actuelle ça n'a pas encore été implémenté en tant que concept à part entière. On en a, vous en donnez tous des exemples, par-ci par là mais les applications restent limités.


En ce qui concerne les "situations" c'est un axe qui est déjà en cours d'investigation. Des situations génériques peuvent être prises et copiées collées pour s'adapter au scénario en cours. On a par exemple "Emmener le joueur vers une nouvelle destination". On colle deux PNJ en parametre et la "situation" fait en sorte que le joueur(par exemple par une quête de type courrier) va où il faut.
Le principe est intéressant mais attention à ne pas confondre moyen et but dans les mmo.

Le système d'agent permet une certaine souplesse de codage (je suis moi même développeur) dès lors que le système devient complexe. Mais au début d'un programme on débute petit donc avec un comportement minimal que l'on enrichi selon les besoins et analyses.

Developper un système d'agent d'entrée de jeu a deux inconvenant : le temps de dev initial et la charge serveur.
Pour avoir un résultat cohérent il faut un moteur béton d'entrée de jeu ce qui n'est pas forcement intéressant en début de dev et donc passer à ce système après de long mois pose évidemment problème. après, c'est un choix initial dans la conception si l'environnement devient primordial ou pas, ce qui est rarement le cas !

Ensuite la charge serveur pose soucis. En effet, plus tu charges le serveur avec les interaction des pnj, moins le serveur répondra vite aux actions propres des joueurs. J'ai moi même expérimenté ce genre de situation et j'avoue privilégier l'aspect temps d'exécution des actions que la complexité des actions. Efficacité avant la cosmétique, tel est le but premier d'un dev.

Il y a aussi un autre problème face à l'élargissement du public des mmo à l'heure actuelle. Si tu proposes des monstres intelligents les joueurs seront désarçonné et abandonneront très vite car ils trouveront le jeu trop dur ou trop prise de tête. Au contraire les hard core gamer seront ravis ! Mais rentabilité oblige, on ratisse de plus en plus large...

Si on réfléchi au système d'agent on a plusieurs application possible:

- Tout d'abord donner de la vie au jeu. C'est sympa mais pas vital au jeu lui même et donc inutile en terme d'effort à fournir et pas rentable. Ceci dit, le nombre de programmeurs pur dans un jeu est relativement faible par rapport aux designers et autres graphistes donc c'est encore jouable.

- Ensuite, on peu s'attaquer à l'entraide ponctuelle de monstres pour les combats. La encore je rejoins mon débat sur la difficulté du jeu et le large spectre de joueurs. Mais il faut avouer que cela peut marcher car en terme de serveur cela ne nuit pas, car très ponctuel (pas de serveurs écroulés).

- Enfin on peut imagines des interactions globales à l'environnement. et la il faut raisonner en terme de performance des serveurs. Si on tente de faire cohabiter pleins d'espèces, de pnj, de comportement en tout genre (agressif, défensif, etc.) on se retrouve à pomper un max de puissance serveur. L'intérêt est avéré puisque le monde ne serait pas figé mais ceci demanderait un temps colossal d'équilibrage et une puissance de calcul des serveur importante. Donc au final pas rentable à l'heure actuelle.

J'ai lu quelqu'un parler de wakfu, effectivement ils font un pari mais jouent sur un avantage certain, ce n'est pas du vrai temps réel à la milliseconde près, c'est du tour par tour donc ils peuvent se permettre du temps de calcul serveur pour faire evoluer le monde. Reste à voir si cela sera intéressant ou pas et si l'évolution sera viable (foret dévastées car trop coupée, extinctions d'espèces et j'en passe).

Bilan : le système d'agent n'est qu'une technique parmi tant d'autre pour arriver à donner vie aux pnj. A savoir si cela sera implémenté dans les mmo je dirais peut être mas pas dans l'immédiat, à cause de la puissance des serveurs, de la connaissance sûrement encore faible des développeur concernant ces techniques et de la rentabilité (qui devient le point le plus important d'un jeu malheureusement).
Citation :
Publié par Symfreddy

Le système d'agent permet une certaine souplesse de codage (je suis moi même développeur) dès lors que le système devient complexe. Mais au début d'un programme on débute petit donc avec un comportement minimal que l'on enrichi selon les besoins et analyses.
Mon avis est que l'on ne peut pas partir dans un développement sans connaître déjà tous les rouages. L'analyse doit être pertinente et complète. Qu'on reste suffisamment générique pour rajouter du contenu ou des nouvelles fonctionnalités c'est nécessaire, mais devoir modifier l'architecture en cours de développement c'est qu'il y a eu un problème.

Il s'agit là de la théorie, effectivement on a besoin de tester et de coder rapidement pour "se rendre compte". C'est là à mon avis que les SMA prennent tout leur sens (pour la partie IA/interaction/pnj/...) puisque même un game-designer non développeur pourra rajouter les comportements sans avoir à mettre les mains dans le code. Il rempli le tableau d'interaction avec celles disponibles et c'est parti pour voir ce que ca donne.
Pas besoin de demander à l'équipe de développeur : Hmmm tu pourrais implémenter le comportement X sur l'entité Y ? Ah nan c'est nul désolé pour la semaine de travail pour rien

Citation :
Publié par Symfreddy
Developper un système d'agent d'entrée de jeu a deux inconvenant : le temps de dev initial et la charge serveur.
Le temps de développement initial oui et non. Certes il faut créer le système qui va faire tourner tout cela mais une fois que tu l'as c'est tout bon. Plus besoin de remettre les mains dans le cambouis ou du moins un minimum. Tout ce qu'il faut rajouter c'est du contenu (i.e. des interactions possibles).

La charge serveur je ne l'ai pas développé mais lors de la conférence le LIFL affiche de très bonne performance grâce à un système de "calques".

Si tous les agents sont sur le même calque le calcul des interactions possible à chaque pas de la simulation est énorme. En revanche si on met sur un calque que les agents qui sont susceptibles d'entrer en interaction le calcul devient beaucoup plus léger. Un agent peut ainsi appartenir à plusieurs calques. Je n'ai pas de sources à avancer mais de mémoire il fallait 3 minutes pour faire 500 itérations pour 100 000 agents.

Et puis la fameuse loi de Moore nous donne des espoirs au niveau de la capacité des serveurs d'ici que cette technologie soit pleinement employée ^^
Citation :
Publié par Bloodh
D'où une réflexion : et si les agents ça n'était pas mobs, ressources, pnj, ou joueurs, mais plutôt les objectifs de jeu eux-mêmes. Les objectifs de jeu sont des objets comme les autres, et on a donc un jeu d'opportunité plutôt que linéaire, sans avoir à coder un environnement de folie.

[...]

Imaginez maintenant qu'il puisse y avoir des interactions entre ces objectifs. Par exemple, l'objectif "devenir plus fort" décide tout à coup que "vaincre X" n'est plus nécessaire ni suffisant mais "accéder" ça le branche plus. Parallèlement, l'objectif "accéder à X" décide que finalement l'objectif "avoir la potion rouge" est franchement un objectif sympa.

Et là paf, on a "trucider X pour pexer" qui devient "apporter la potion rouge à X pour pexer", tout simplement parce que dans l'espace abstrait des objectifs "avoir la potion rouge" a fait du charme à "accéder à X" et que "vaincre X" a eu une embrouille avec "XP"

Le réalisme en terme de développement informatique n'étant pas mon truc, je faisais juste part d'une utopie ludique qui m'a traversé l'esprit
C'est vraiment loufoque ça. Avec l'exemple que tu donnes, j'imagine aisément la frustration des joueurs, particulièrement ceux qui sont moins au courant (les casuals, par exemple), quand ils verront que tout le travail qu'ils ont effectué, pour réaliser l'objectif X est vain, simplement parce que le système a "décidé" que maintenant c'est Y qu'il faut faire pour obtenir Z (de l'xp, par exemple).

C'est sûr que varier les objectifs dans un mmo est quelque chose de très sympa, ceci dit, une variation arbitraire/aléatoire comme celle que tu décris me parait vraiment farfelue. Comment justifier que ça fonctionne de telle manière ?...

Citation :
Publié par Idrakis
Oui, le problème vient en partie de là à mon avis.
Les joueurs, ne jouent plus pour jouer ( comme leur nom l'indique ), mais pour gagner, je trouve que ça créé parfois quelque chose de malsain. Cette chose est appelés "GrosBill", et pour moi, c'est le péché suprême dans lequel un joueur peut tomber, quel que soit le jeu auquel il joue.
Quand je vois certaines personnes jouer à leur MMO favori, je me dis que la nouvelle génération de joueur ne savent plus jouer
C'est davantage la faute des développeurs que celle des joueurs. Les joueurs savent tout à fait jouer, ils le font très bien.
En revanche, les développeurs semblent avoir du mal à proposer un mmorpg qui sorte de ce contexte de "j'ai gagné".

Les mmos, tu as du PvE et du PvP.

Le PvP c'est simple, qui dit pvp dit compétition et qui dit compétition dit "je me compare aux autres joueurs, le gagnant c'est le meilleur/le plus fort/etc". Alors c'est pas forcément évident de dire qui est le meilleur quand la feuille bat le rocher que le rocher bat les ciseaux et que les ciseaux bat la feuille, par contre ça devient limpide quand les joueurs sont classés sur une échelle : "t'as pas 2200+ rating/points, t'es nul, t'as pas le droit de débattre et/ou ton avis nous intéresse pas"... reste à savoir comment ces points ont été gagnés et s'ils sont vraiment qualitatifs d'une "meilleure façon" de jouer.

Le PvE, tu as des défis, on pourrait les apparenter à des puzzles, et terminer ces puzzles te donne doit à des récompenses que tu peux afficher aux autres joueurs, de manière à montrer que tu es "meilleur" qu'eux. Reste encore à savoir comment ces récompenses ont été gagnées et si elles sont vraiment qualitatives d'un "bon jeu".

Tout tourne autour de ce "bon jeu"/"meilleure façon de jouer". Mais on peut se poser la question : y a-t-il vraiment une "meilleure façon de participer" à un jeu de construction ?

Les mmo, tu montres que tu es le meilleur, mais en définitive, le moyen pour montrer que tu es le meilleur passe par la construction :
- construction de ton personnage (leveling, récupération d'équipement, gold, pvp rating...)
- construction d'un empire (eve online, mankind...)
- construction du plus beau marteau (atitd, désolé pour la boutade ...)
- etc...

Ce qui est peut-être dommage finalement, c'est que les mmorpgs actuels ne nous permettent pas de construire ce qu'on veut, ou tout du moins ne permettent que de construire des choses que dans un ou deux axes prédéterminés.

En clair, si les développeurs ne donnent pas aux joueurs les outils pour participer aux gameplay, développer/construire les choses qu'ils aimeraient (le roleplay, par exemple), c'est pas étonnant que les joueurs délaissent ces choses en question.

En gros : pourquoi vouloir à toute fin jouer aux échecs sur un plateau de morpion ?

Citation :
Ma réponse : jamais. Un MMO est clairement un nouveau type de jeu, avec donc clairement de nouveaux objectifs.
Et comme je l'ai dis, ce qui me semble être le meilleur objectif est de jouer et de profiter du jeu auquel on joue.
Mais ce n'est que mon point de vue, et c'est l'objectif que j'ai quand je joue à n'importe quel type de jeu.
Jouer n'est pas un objectif. Je lance un jeu, n'importe lequel, ça y est, j'y joue, j'ai donc rempli mon objectif, j'ai fini le jeu, je peux le désinstaller.
J'avais tenté une petite expérience il y a quelques années, j'avais créé un forum, pour ainsi dire vide, avec 2-3 sections. J'ai appelé le tout "la ferme folle" (c'était avant la ferme célébrité, hein ), et j'ai invité des rôlistes puristes sur ce forum.
J'ai ensuite créé un petit message dans la section "hall d'entrée" ou une connerie de ce style, disant que ceci était un terrain de jeu roleplay, que le but était de s'amuser, point final.
J'avais une bonne vingtaine de participants dès le 1er jour. 3 jours après, j'avais 3 messages s'essayant au roleplay, et puis plus rien.

"Jouer" n'est pas un objectif.

Citation :
Publié par Ayesh
Ce que tu décris(au niveau du football, un exemple de multi-agent sur le football est d'ailleurs disponible ^^)je le vois plus comme de l'évolution des connaissances des agents(par exemple réseau de neurone). Dans un SMA, à priori, le code et donc le comportement de l'agent est figé. Après on peut combiner différentes techniques ensemble, mais là ca va trop loin pour moi
Il n'y a pas d'histoire "d'évolution" d'un SMA au même titre qu'un réseau de neurones. Ce que j'ai décris avec le football est le fonctionnement typique d'un SMA, brut de pomme, sans sucre ajouté. Un SMA s'apparente plus à une machine à état qu'à autre chose.

Citation :
Alors que si il était en "mode" SMA, il verrait que le joueur est à sa portée (interaction possible). A t'il la volonté de l'attaquer (problème de factions, faims, ...) et peut-il l'attaquer(15 niveau au dessus ... hm hm).
C'est déjà le cas.
Quand un joueur est à portée du mob, quand il entre dans sa zone d'aggro, il y a un échange d'informations entre le mob et le joueur qui fait que le mob attaque le joueur.
C'est parce que c'est extrêmement basique que cela ne semble pas être apparenté à un SMA.

Citation :
En ce qui concerne mon exemple précédent, j'ose pas trop m'avancer mais par exemple on va retrouver des attributs sur chaque agent. Ces attributs diront si tels ou tels actions sont possible sur eux.
Par exemple tous les objets qui sont rigides et immobiles(exemples vite fait) peuvent être coupes ( trou dans la pièces de puzzle)
Ok, mais comment tes "agents" découvrent les propriétés des autres "agents" ?
Citation :
Publié par Eva / Celivianna

Il n'y a pas d'histoire "d'évolution" d'un SMA au même titre qu'un réseau de neurones. Ce que j'ai décris avec le football est le fonctionnement typique d'un SMA, brut de pomme, sans sucre ajouté. Un SMA s'apparente plus à une machine à état qu'à autre chose.


C'est déjà le cas.
Quand un joueur est à portée du mob, quand il entre dans sa zone d'aggro, il y a un échange d'informations entre le mob et le joueur qui fait que le mob attaque le joueur.
C'est parce que c'est extrêmement basique que cela ne semble pas être apparenté à un SMA.


Ok, mais comment tes "agents" découvrent les propriétés des autres "agents" ?
Pour reprendre ces trois points.

Exactement les SMA sont des machines à état. Du moins les agents dans un SMA sont des machines à états. Maintenant, comme je le précise dans le post initial, si on s'intéresse non pas spécifiquement aux agents mais aux interactions on arrive à quelque chose (d'un peu) nouveau.

Comme tu le dis c'est le cas actuellement. Mais c'est trop simple. Le joueur arrive le mob détecte => bing. Le fait de se focaliser sur l'interaction amène une plus grande subtilité de décision sans pour autant compliquer drastiquement le développement. Je me suis peut-être mal exprimé en décrivant les interactions et je vous invite à aller sur cette page qui explique plus en détail la philosophie du laboratoire de Lille.


http://www2.lifl.fr/SMAC/projects/ioda/generalites/interaction.png

On peut voir que avant de déclencher l'action des propriétés doivent être vérifiées. Et c'est celles-ci qui amènent le petit plus d'un comportement variable. En fonction de(s) état(s) du joueur et de celui du mob il y aura des réactions différentes de ceux-ci(du moins pour le côté mob).

Pour le dernier point je me suis peut-être un peu enflammé dans l'exemple. Si, comme à l'heure actuelle, les actions entre composants du jeu existe dès le départ, couper du bois(je l'aime bien celui là :/), construire un truc X, on peut imaginer que les personnages connaissent(tout ou partie) des actions qu'ils peuvent effectuer et qu'ils les testent sur leur environnement.

Ces exemples je les lance en l'air pour essayer d'illustrer au mieux mon propos. Ce serait utopique de croire qu'en quelques idées un système viable puisse être imaginé donc je vous pris de faire part d'indulgence en vers mes exemples ^^
En fait, je te pose ces questions parce que j'aimerais t'amener à réaliser que les mobs n'ont pas nécessairement besoin d'être super-intelligents.

Les joueurs faisant partie du système, ils peuvent tout à fait faire office d'agents intelligents dans ton système.

Ce qui limite les possibilités de jeu, la profondeur du jeu, ce n'est pas l'intelligence des mobs, mais plutôt le manque de variété dans les axes de construction du jeu (construction tel que je l'ai expliqué plus haut, hein, je ne parle pas simplement du crafting).

En résumé, on pourrait se contenter de se poser la question "pourquoi ?" à chaque activité du jeu, généralement ça permet de se rendre assez rapidement compte de la pauvreté des gameplay proposés actuellement.

Sur DDO, il me semble même qu'il y avait un PNJ au tout début du jeu qui répondait à la question "pourquoi gagner de l'expérience ?" par "mais pour devenir plus fort bien sûr !".

Et pourquoi devenir plus fort ? Si vous arrivez à répondre à cette question de manière satisfaisante, vous êtes bien partis pour un mmo next-gen.
D'accord je n'avais pas compris ton point de vue

Je suis bien conscient qu'ils n'ont pas nécessairement besoin d'être intelligent. D'ailleurs les divers IA utilisés pour simuler des adversaires dans les jeux(particulièrement solo) sont souvent bridés pour éviter de mettre une claque au joueur à chaque partie.

Je ne pars pas du tout dans une application spécifique des SMA aux MMOs quelqu'ils soient. Toutes les implications que tu cites relèves pour moi du travail de game-designer et je me tiens bien loin de cette espèce étrange

Les SMA ne sont certes qu'un outil mais, comme je l'ai précisé, peuvent permettre un nouveau style de jeu(solo, multijoueur, online, offline, whatever).

Je suis entièrement d'accord avec toi en ce qui concerne la pauvreté actuelle des MMOs qui s'apparentent , pour moi, à une phase d'industrialisation du jeu(regroupement sous la bannière de quelques éditeurs => bridage de la créativité).

Maintenant en tant que passionné de programmation et de jeux je ne peux m'empêcher de penser que les SMA vont apporter quelque chose de plus au jeu, un renouveau. Utopie ? peut-être ^^

Pour rajouter une pierre à l'édifice l'application au cinéma, et tout ce qui est visuel en général, peut-être extraordinaire. Par exemple pour un genre qui est délaissé et sous représenté : le space opera. Les séries impliquant des combats dépensent souvent des sommes astronomiques en effets spéciaux. Mais si l'on reprend le principe appliqué au Seigneur des Anneaux on peut imaginer des scènes dantesques à moindre frais.
Que celui-qui n'a jamais regardé plusieurs fois les vidéos d'introduction des jeux Blizzard / Cavedog et consort me jette la première pierre ! (sic)
Citation :
Et puis la fameuse loi de Moore nous donne des espoirs au niveau de la capacité des serveurs d'ici que cette technologie soit pleinement employée ^^
Justement c'est la Loi de Moore qui est le 1er frein a un plein developpement d'une technologie de ce type.

Pour simplifier la Loi de Moore c'est un doublement de la capacité de calcul tout les 18 mois.

Par contre la charge de calcul d'un systeme multi-agents augmente classiquement suivant le carré du nombre d'agent (a nombre de variable constante sur chaque agent).

Donc a chaque fois que tu vas rajouter 1 agent ou une variable pour un type d'agent, ca "explose" (facon de parler mais ca fait tres mal).


Citation :
Si tous les agents sont sur le même calque le calcul des interactions possible à chaque pas de la simulation est énorme. En revanche si on met sur un calque que les agents qui sont susceptibles d'entrer en interaction le calcul devient beaucoup plus léger. Un agent peut ainsi appartenir à plusieurs calques. Je n'ai pas de sources à avancer mais de mémoire il fallait 3 minutes pour faire 500 itérations pour 100 000 agents.
L'utilisation du systeme des calques est rendu possible parce que dans 99,99 % des cas de SAM (systeme multi-agents) le calcul est asynchrone.

Tout en sachant que ca ne modifie presque en rien la charge totale de calcul, cela permet juste de la lisser dans le temps ou sur des systemes deportés.

La 2ieme limitation a l'application d'un SAM dans un univers de MMO c'est la partie "humaine" de l'univers.

Las facteurs humains sont en effet tres difficilement quantifiables ou calibrables et on se retrouve souvent face a des comportements imprevisibles, irrationnels (par rapport a l'univers) et/ou subjectifs.

Du coup, plus on veut affiner le SAM (pour rendre l'univers le plus coherent/logique possible), plus les hypotheses initiales vont etre sujettes a variablilité et moins le resultat final pourra etre pertinent.

En gros, meme en reussissant a créer un univers correctement geré par un SAM (ce qui constitue deja un boulot enorme), des qu'on va y introduire des joueurs on prend un risque monumental de derive incontrolée du systeme (et ce risque sera directement trinutaire du nombre de joueurs evoluant simultanement).
Citation :
Publié par Dufin
...
Je suis globalement d'accord avec toi, ce n'est pas demain que nous verrons sortir de tels jeux. Cela pose des problèmes techniques auxquels nous ne pouvons pas répondre aujourd'hui.

Le calcul est effectivement asynchrone. Dans l'état actuel des connaissances, le système est obligé de traiter les agents un par un et de leur faire exécuter leurs actions . Cela amène un biais dans la simulation c'est certain. Que se passe t'il si on traite l'agent X avant l'agent Y et que le premier détruit le dernier ? Se serait-il passer la même chose si l'agent Y avait eu la main le premier ?

Ce système de traitement par "pas" n'est clairement pas adapté à un utilisateur qui vient effectuer des actions en temps réel.

Les problèmes sont loin d'être résolus mais au moins ils sont posés.
Citation :
Ce système de traitement par "pas" n'est clairement pas adapté à un utilisateur qui vient effectuer des actions en temps réel.
En fait le systeme est relativement bien adapté a un utilisateur unique, peut potentiellement "coincer" a partir de 2 utilisateurs et part quasi systematiquement "en sucette" au dela de 10 (le tout etant de savoir si la sucette reste ou pas dans le bon sens).

L'evolution previsible de l'application des SAM (en considerant a la fois la partie ressources a consacrer et stabilité/performance) aux jeux videos ca serait donc:

-une presence/interet qui grandira pour les jeux dits "solo"

-un interet probale pour les jeux "multis" si on reste "simple"

-une course quasi perdue d'avance (en tout cas a une echeance de 10/20 ans) pour les MMOs.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés