Le constat de ce thread était que les environnement actuels sont completements statiques. On peut trouver des solutions sans tomber dans l'extreme inverse.
Un environnement qui est dynamique juste dans la dispositions des Mobs ou structures c'est l'equivalent d'un sim XXX.
Ce qui va etre important pour les joueurs c'est comment ils vont pouvoir interagir avec ce meme environnement et les autres entités mobiles et si possible dans des situations en temps réel.
Décidement, tu aime t'enfoncer encore plus. C'est impossible car il faudrait que les temps de latence dans la communication client/serveur soit inferieurs a la milliseconde. Dans le système SETI, il n'y a pas de contrainte de communication en temps réel.
Aujourd'hui tu as deja des temps de latence rien que pour l'envoi et la reception des informations qui sont de l'ordre du dixieme de seconde dans le cadre des MMOs. Inclure un calcul a reception d'une info pour renvoyer l'info au serveur ne serait qu'une majoration marginale de ces temps de latence existants (bien sur tout va dependre de ce que tu demandes mais on peut faire leger et rapide).
Pour etre plus clair, ce qui augmente avec le nombre de joueurs, c'est surtout la quantité de données qui doivent être transférées
L'augmentation de la quantité d'information a transferer est lineaire par rapport au nombre d'entités presentes (sauf dans le cas ou tu geres par "paquet" tes entités), rien a voir avec l'augmentation exponentielle des interactions qu'un serveur/cluster devra se taper.
Encore aujourd'hui tu peux parfaitement jouer a un MMO avec une connection RTC en 56k sauf dans le cas d'un code reseau pondu avec les pieds (ce qui arrive de plus en plus et c'est dommage).
Si ca ce n'est pas un environnement dynamique, donne moi ta définition parce que je comprends pas bien ce que tu recherche.
Un environnement evolutif est un environnement dynamique mais cela ne le rend pas "intelligent" pour le joueur "lambda" (il me semble que le titre du thread c'est justement de parler d'intelligence au niveau environnemental).
Bien sur un developpeur pourra se palucher devant un pseudo ecosysteme plus ou moins coherent, mais ca fera bien rire le 1er joueur qui deboulera au milieu et prendra un malin plaisir a decortiquer le comportement des mobs pour constater qu'il est toujours aussi basique.
On appelera ca le syndrome "Ryzom" ou franchement si le comportement social des mobs entre eux etait sympa a voir, le comportement vis a vis des joueurs n'etait pas plus evolué que les autres MMOs.
La charge de calcul sur le serveur est un problème de qualité du génie logiciel mais on est loin actuellement d'être vraiment limité par ce problème.
Une charge de calcul peut etre allegée ou modifiée par la qualité logiciel (dans une fourchette mini/maxi definie par les concepts/algorythmes utilisables) mais la progression de cette meme charge sous la demande c'est de l'algorythmique pure et dure.
Et ca tu ne peux pas y couper, ce qui est possible a gerer a l'echelle de l'unité ou du petit nombre devient totalement impossible a des echelles superieures sans une augmentation consequente de la puissance de calcul instantanée ou son etalage dans le temps.
Rajouter 1 action possible pour 1 entité, c'est voir la charge totale "diagnostic/reflexion" de ton script multiplier d'un facteur X ou X est le nombre d'unité que tu voudras faire interagir en meme temps et au meme endroit.
Ou alors tu te contrefous de rajouter une action a titre unitaire et cela revient a gerer par paquet tes entités, ce qui risque de faire desordre dans le cadre classique d'un MMO (tu vois 10 orcs reagir de la meme facon quoiqu'il arrive parce que tu as fait l'economie d'appliquer ton action supplementaire a chaque unité ?).
Je ne crois pas que ce soit vraiment le sujet du débat. Mais c'est une utopie de croire que l'on arrivera dans un futur proche a une IA d'un meilleur niveau dans les jeux video puisque comme souligné précedamment, l'IA actuellement n'est en fait qu'une liste d'actions/récations prédéfinies. La seule chose qui pourra évoluer , c'est le nombre d'actions/reactions.
Une IA commence pas un systeme tres simple de: Collecte de données=>Diagnostic/Reflexion=>Action.
Ce qui prend le plus de "charge", c'est tout le process de Diagnostic/Reflexion.
Quand tu travailles sur l'evolution d'un environnement, le principe d'IA est tres peu limité par la puissance brut instantanée de calcul puisque tu as le "temps" et/ou tu peux differer certains calculs.
Par contre quand tu travailles sur de l'action/reaction en temps réel, les choses se gatent.
Arriver a modeliser les deplacements d'un troupeau de 200 ou 300 bisons (ou tout autre animal gregaire) dans un univers c'est tres bien (et ca fera probablement halluciner la 1iere fois que tu le vois), maintenant ce qui peut faire réellement "triper" le joueur c'est de lui proposer une veritable chasse au bison, si possible a plusieurs dizaines de chasseurs.
Seulement la, ton bel ecosysteme evolutif/dynamique, ne sert a rien, ce qu'il faut c'est de l'action/reaction (ressenti comme de l'intelligence) a l'echelle d'un troupeau vis a vis d'un groupe de chasseurs en temps réel (ou semi temps réel).
Ce qui est problèmatique, c'est que plus l'environnement est dynamique, plus les informations doivent etre stockées coté serveur et transferées au client, ce qui augmente la masse de données que le client doit télécharger et donc les problèmes de lag.
Tout va dependre de comment sont gerées les données concernant l'environnement et specialement pour les "decors". La ou ca va poser un réel probleme c'est pour les modifications majeures de la topographie, mais on peut supposer que ces modifications majeures prennent du temps et sont parfaitement compatibles avec des patchs reguliers de tres courtes durée ne necessitant pas forcement d'eteindre les serveurs (ca ce fait d'ailleurs sur certains MMOs).
Reste la partie de decor qui peut evoluer plus rapidement au yeux des joueurs (constructions/vegetations) et la si la conception du jeu le prevoit ca ne genere pas plus de traffic reseau que la normal (ville de joueur ou champ d'extraction sur SWG par exemple).
Pour les Mobs, ca ne change rien, que cela soit un orc ou un vulgaire lapin, la quantité d'infos a transmettre pour les visualiser reste la meme.
Tu n'as jamais assisté a un depop/repop de 100 % des mobs d'une zone/donjon effectué par un GM ou un Dev ? Ca ne genere aucun lag supplementaire et c'est normal vu le peu d'infos a transmettre a ce moment la (une loc et un type par mob concerné, ca pese pas lourd au final).
Mais bon, je pense que tu te crois suffisament calé sur la question pour ne pas prendre en compte ce que je t'explique. Libre a toi.
J'ai fait suffisamment de Recherche Operationnelle et d'algorythmique dans ma vie professionnelle pour connaitre les contraintes inherentes a un systeme d'action/reaction et a la charge que cela genere en fonction du nombre d'entités impliquées dans le process.
Bref, aujourd'hui on peut parfaitement envisager la conception et la mise en place d'un environnement evolutif/dynamique (niveau conceptuel et technique) sans solliciter plus de puissance de calcul ou de taux de transfert de données.
Par contre, demander de plus en plus d'interaction en temps réel avec cet environnement (au sens large, c'est a dire en considerant aussi les Mobs et les autres joueurs) en y incluant des actions/reactions coherentes (a defaut d'etre intelligentes) se heurte de plein fouet a une inadequation avec la puissance de calcul disponible.
Et si le 1er aspect est tres aguicheur pour faire venir un joueur, c'est le 2ieme qui le retiendra.