JeuWeb - Crée ton jeu par navigateur
Dracca & "écosystème" - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Gameplay, gamedesign (https://jeuweb.org/forumdisplay.php?fid=48)
+--- Sujet : Dracca & "écosystème" (/showthread.php?tid=8248)



Dracca & "écosystème" - Xenos - 17-09-2020

Hey hey,

je fais suite au topic des jeux ( https://jeuweb.org/showthread.php?tid=8187&pid=106099#pid106099 d'ailleurs, Arnaud, t'as mal écrit le nom du jeu Equilinox x) )

Je compte utiliser le même genre de concept, mais sans en faire un élément de gameplay du joueur, sur Dracca. En fait, ce que j'aimerai éviter, c'est un monde trop statique, qui serait typiquement découpé en "zones" et dans chaque zone, on a telle ou telle bestiole qu'on peut croiser.

J'aime moyennement le concept car cela fige trop le gameplay, et passé quelques heures de jeu, on risque vite d'être "lassé" je pense. De plus, cela impliquerait des "déséquilibres" dans le gameplay je pense. Par exemple, supposons une zone forestière, avec que des bestioles types "plante/bois" (on va dire que ça existe, pour les besoins de l'exemple simple). Alors un dragon de feu, qui aurait un bonus contre les bestioles plante/bois (parce que "vous savez, le bois, c'est bien, mais... ça brûle" comme dit Arthur) prendrait direct la tête du classement... Alors même que cet environnement n'est peut-être pas vraiment le sien (on s'attendrait plutôt à le voir en zone aride probablement? ou dit autrement, pourquoi les bestioles "bois" restent ici?!)

Du coup, j'avais envisagé une solution: concevoir les zones du jeu comme des écosystèmes. Le principe serait alors le suivant:

Dans chaque zone, on pourrait rencontrer tous les types de toutes les bestioles (je ne compte ici que les "bestioles génériques", pas trop les PNJ... quoique ce serait applicable, causons-en après). A chaque bestiole, pour chaque zone, j'attribue alors un "score" qui indiquerai si la bestiole est adaptée ou non à cette zone. Un score de 0 signifiera que la bestiole a définitivement disparu de cette zone. Ensuite, au gré des déplacements du joueur, je peux faire apparaitre les bestioles en fonction de leur score: plus le score est élevé plus la bestiole a de chances d'être là. Plus les scores en général sont élevés, plus on risque de rencontrer de bestioles dans cette zone (en fait, dit autrement, ce n'est pas un "score", mais le nombre de bestioles de ce type dans la zone [ouais, c'est mieux de voir ça comme ça])

Quand un joueur affronte une bestiole, deux solutions sont possibles: ou bien le joueur est tué, et les bestioles ne bougent pas de score, ou bien la bestiole est tuée et on décrémente le nombre d'individus de cette bestiole de 1.

Quand le joueur est tué, l'idée est qu'il laisse derrière lui des trucs: non seulement son inventaire, qui peut contenir de la bouffe, mais aussi... de la bouffe (genre ben, cadavre :/)

Ensuite, en cron (horaire? journalier? on verra), je simule l'évolution de la zone: les bestioles se bouffent entre elles, bouffent ce qu'il y a dans la zone, etc et le nombre d'individus change alors en fonction de ce qu'il y a a bouffer et de prédateurs.

Enfin, je "brasse" un poil ces zones, en rajoutant d'éventuelles migrations d'une zone à l'autre (j'hésite entre deux solutions là: ou bien déplacer des bestioles d'une zone à une zone adjacente, au pif, en fonction de la longueur de la frontière entre les zones, ou bien faire plus fûté en faisant en sorte que la bestiole tende à se rendre dans une zone où elle aurait de "meilleures probabilité de survie", mais là, c'est chaud à coder, et je pense que cela découlerait idéalement naturellement de l'équation prédateur/proie + brassage aléatoire.

Une extension possible du concept serait de faire de même avec les PNJ: dans l'idée, un PNJ qui serait, par exemple, commerçant dans une ville, mais que personne ne lui vend rien du tout, alors le commerçant est dans la dèche... l'idée serait alors qu'il ferme boutique, et tente de la réouvrir dans une autre ville, et si dans cette autre ville, il trouve des clients, alors il restera.

Ca semble très complexe à développer, mais je pense en fait qu'il faut juste se baser sur des algorithmes simples, et laisser "émerger" les comportements voulus. L'intérêt énorme que j'y vois, c'est que l'univers de Dracca serait capable d'évoluer de lui-même, et ça, c'est top: j'en ai un peu marre des jeux que je (qu'on) crée, et qu'on maîtrise tellement que finalement, être créateur fait qu'on ne peut pas être joueur. Là, grâce à l'émergence, j'espère qu'en tant que créateur je serai moi-même surpris de ce qu'il se passera dans le jeu.

Des réactions, des idées?


RE: Dracca & "écosystème" - Trapez - 17-09-2020

Peut-être que les bestioles bois restent ici car elles ont un bonus si elles sont dans leur zone. Et donc le dragon de feu aurai un bonus si il est dans un désert aride. On pourrait penser à un bonus de vie ou de défense pour les espèces de bois si elles sont dans un bois, et un bonus d'attaque pour les dragons de feu qui attaquent des espèces de type bois. Ce serait donc surtout les espèces air ou eau qui serait pénalisées dans un bois car n'ayant pas de bonus.

Plutôt qu'un score, on peut appeler ça un % de présence. Mais ça ne règle en rien les bonus. Et ça atténue que partiellement l'effet : un environnement = un type d'espèce. Mais c'est déjà mieux oui.

Je n'ai pas compris l'impact de la mort d'un joueur. Si il transportai du steak il y a plus de chance que les carnivores survivent dans la zone ? Alors que si il transportait de la salade plus de survie des herbivores ?

Pourquoi brasser les zones ? Le joueur ne s'en rendra pas vraiment compte. Tu as trop une approche écologue je pense (surtout pour un jeu qui de base ne se veut pas tourné vers ça).

Pour les PNJ, l'idée qu'ils bougent est je trouve très bonne. Rien que pour qu'ils se réapprovisionne de baie en forêt et qu'il vende des roses des vents, puis qu'il ailles dans le désert dès qu'il n'a plus de rose des vents et à ce moment il vendra des baies et achètera des roses des vents, jusqu'à ce qu'il n'ai plus de baies, etc...

"finalement être créateur fait qu'on ne peut pas être joueur" > > Ah bon ? Pourquoi tu dis ça ? La surprise tu la trouves dans l’aléatoire que tu mets dans ton code. Oui tu connais tous les évènements, mais tu ne sais jamais comment ils vont se dérouler. D'autant plus si tu as des joueurs à tes côtés qui augment l'imprévu. Si ce n'est que la surprise qui te bloque.


RE: Dracca & "écosystème" - Xenos - 17-09-2020

Citation : Je n'ai pas compris l'impact de la mort d'un joueur. Si il transportai du steak il y a plus de chance que les carnivores survivent dans la zone ? Alors que si il transportait de la salade plus de survie des herbivores ?

C'est le concept. Surtout, dans l'idée, c'est une question d'apparition (espérons!) d'équilibre: une zone avec un bonus pour les bestioles "plantes" attirerait les bestioles plantes. Mais comme on a beaucoup de bestioles plantes, alors cela va attirer les dragons de feu... Et comme on a beaucoup de dragons de feu, cela va attirer des bestioles d'eau... Etc.

Ne pas brasser les zones pose un gros soucis: les espèces vont totalement disparaitre?! Si les bestioles d'une espèce se trouvent dans une zone donnée, qu'elles se font bouffer plus vite qu'elles ne croissent, alors elles ne pourront jamais survivre, même si (peut-etre) elles auraient pu rester en vie juste à côté. Disons, par exemple, qu'on a des bestioles plante dans une foret, et que tous les joueurs en veulent (parce qu'elles donnent des bonus de PV sympa). Le nombre de bestioles s'effondre, jusqu'à ce qu'il n'y en ait juste plus... Avec la possibilité de passer d'une zone à l'autre, les bestioles auraient peut-être une chance de se retrouver dans un endroit plus "caché" (moins exposé aux joueurs) et d'y survivre. C'est le genre de comportement que j'adorerai voir apparaitre : )

Dans le dernier cas, juste jouer sur "mt_rand", ca m'intéresse pas: c'est juste du jeu de dé, et franchement, bof bof... Là, l'intérêt majeur serait de voir l'impact qu'on a sur l'écosystème du jeu (allez, hop, je peux même en faire un argument commercial écologique tout ça) et se laisser surprendre par l'issue d'un système "multi-agent" en quelque sorte (bon, après, sur ECLERD v0, ca avait bien merdé et débouché sur des enlèvements de millions de gens par des aliens, mais c'est un soucis d'implémentation là x) )

Cette notion "d'écosystème" n'est peut-etre pas "le" truc central de Dracca, mais cela reste quand même un point crucial du jeu: la découverte de l'environnement et de l'univers, le fait d'interagir avec, d'avoir un monde clairement "ouvert" (même, et surtout au final, au sens scénaristique du terme, voulant éviter les quêtes "préconçues" au profit de quêtes dynamiquement générées dans un environnement changeant)... ce sont des points-clefs que j'aimerai mettre dans le jeu.


RE: Dracca & "écosystème" - Thêta Tau Tau - 17-09-2020

Les simulations d'écosystèmes ont tendance à être assez chaotiques, surtout si on y ajoute des joueurs qui tuent n'importe quoi. Je ne suis pas sur que ça vaille le coup si ce n'est pas central dans le jeu. Après oui, vu que tu semble vouloir qu'il y ai des trucs "émergents" dans Dracca, ça peut être bien quand même.

Mais du coup il faudra que tu réfléchisse bien à tes créatures, parce qu'un défaut d'équilibrage entrainera la disparition d'espèces. Notamment si deux espèces sont en compétition pour la même niche écologique, la moins efficace des deux finira par disparaitre. Par exemple si t'as deux espèces qui mangent uniquement de l'herbe, celle qui se reproduit le moins vite et/ou qui a le moins de prédateurs va survivre, et l'autre va disparaitre.

Ensuite il faut voir comment les joueurs vont interagir avec ça. Est ce que les rencontres sont aléatoires? Est ce qu'au contraire on peut chasser une espèce précise? Est ce qu'il y a un mécanisme pour dissuader les joueurs de tuer les espèces en voie de disparition? (comme les lois dans Wakfu).