JeuWeb - Crée ton jeu par navigateur
Résultats selon caractéristiques - 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 : Résultats selon caractéristiques (/showthread.php?tid=6445)

Pages : 1 2


Résultats selon caractéristiques - Snowstar - 17-10-2012

J'ai décidé de demander des conseils pour cette partie parce que je n'ai jamais vraiment réalisé d'algo/codes de ce genre.

J'ai pour le moment décidé du fonctionnement de mon jeu, j'ai un beau document Word avec toutes les informations et donc je suis maintenant au tour du cahier des charges.

Et il y ça qui me bloque complètement. Je suppose que certains d'entre-vous on déjà fait ça ici, comment avez-vous procédez? En fait quel est le moyen le plus simple car je ne veux pas me casser la tête pour rien.

Ce que je veux faire; mon site est un élevage virtuel d'animaux où il y aura des courses.
Je veux déterminer les résultats selon plusieurs caractéristiques (exemple: la santé de l'animal, la distance qu'il préfère, son niveau d'entrainement, etc)

Quelle est le meilleur moyen de procéder? Faire une sorte de système de pointage(non visible par les membres) ou autre chose?


RE: Résultats selon caractéristiques - SorenS - 17-10-2012

Il faut trouver une formule qui va bien selon l'importance que tu veux donner à chaque carac.
Par exemple (santé*2 + distance_prefere*3 + entrainement*4)/ 9 et classement de la course selon ça. De plus, je pense qu'une dose de "chance" peut être pas mal du genre ((santé*2 + distance_prefere*3 + entrainement*4 + random*1)/ 10)

Bref, c'est un truc très gros, mais c'est le principe de base pour un truc simple.

Après tu peux partir sur un algo bien plus compliqué si tu veux faire un résumé de la course ou quelque chose du genre.


RE: Résultats selon caractéristiques - Snowstar - 17-10-2012

Ah oui j'avais pensé à la chance aussi Smile

Non non, pas de résumé. Juste afficher les résultats selon des caractéristiques ^^

Merci de ta réponse rapide. Smile


RE: Résultats selon caractéristiques - Damocorp - 18-10-2012

Personnellement, je fais un retour en arrière concernant la chance.
Ou du moins j'en atténue sérieusement les effets.

Car quoi de plus perturbant que de voir un mec deux fois moins fort, qui avais 2% de chance de réussite, pulvériser ma monté si souvent étudier et préparé. C'est rageant, et pas forcement dans le bon sens Big Grin
Contre un plus fort, ok. J'ai envie de me venger. Contre un plus faible ca me saoul énormement.

((santé*2 + distance_prefere*3 + entrainement*4 + (random*1/différence_classement))/ 10)

Différence_classement étant un ratio basé sur la puissance total de chaque participants.
Contre un plus fort, elle est inférieur à 1 pour réduire mes chances de victoire et contre un moins fort elle augmente pour augmenter mes chances de victoires.
Je sais que ca fait élitiste, mais j'apprécie de plus en plus un tel système.


RE: Résultats selon caractéristiques - Racktor - 18-10-2012

Pour faire ce genre de formule mathématique, je me pose la question "qu'est ce que je veux faire" et "les variables que je mets dans ma formule sont-elles pertinentes".

Pour finir il faut les tester, excel est bien pour ça.


RE: Résultats selon caractéristiques - niahoo - 18-10-2012

(18-10-2012, 06:44 AM)Damocorp a écrit : Personnellement, je fais un retour en arrière concernant la chance.
Ou du moins j'en atténue sérieusement les effets.

Car quoi de plus perturbant que de voir un mec deux fois moins fort, qui avais 2% de chance de réussite, pulvériser ma monté si souvent étudier et préparé. C'est rageant, et pas forcement dans le bon sens Big Grin
Contre un plus fort, ok. J'ai envie de me venger. Contre un plus faible ca me saoul énormement.

((santé*2 + distance_prefere*3 + entrainement*4 + (random*1/différence_classement))/ 10)

Différence_classement étant un ratio basé sur la puissance total de chaque participants.
Contre un plus fort, elle est inférieur à 1 pour réduire mes chances de victoire et contre un moins fort elle augmente pour augmenter mes chances de victoires.
Je sais que ca fait élitiste, mais j'apprécie de plus en plus un tel système.

C'est pas mal comme idée, mais est-ce bien nécessaire ? Si tu doses la part de chance avec parcimonie, la tortue ne devrait pas battre le lièvre à la course.

C'est sur que si tu fais (entrainement + random() * 100000000) / 10000000 forcément …


RE: Résultats selon caractéristiques - Ter Rowan - 18-10-2012

hey ! France - Japon, Espagne - France hey !

j'imagine plutôt la chance comme une gaussienne
dans 80 % des cas elle n'impacte pas le résultat final (mais plus les actions, nombre de réussites, etc...)
dans 20% des cas elle change le résultat final (victoire défaite)


donc si je développais un système ou seul le résultat compte (pas de rapport détaillé) je ferais
:
une liste d'événements aléatoires (genre pour une course de vélo : flaque d'huile, pneu crevé, sortie de route, ...) éventuellement avec un poids pour chacun

puis

Code :
boucle sur les opposants

    faire
         faire un jet sur 5 : si résultat = 5. tirer aléatoirement un événement, puis impacter (temporairement) les "compétences" de l'opposant

    tant que le jet vaut 5 et que l'opposant est disponible //(si le coureur cycliste se fracasse le crane dans un descente, il risque pas de lui arriver autre chose)

fin boucle opposant

calcul du résultat par confrontation des "compétences" de chaque opposant, avec les modifs éventuelles ci dessous



RE: Résultats selon caractéristiques - Snowstar - 18-10-2012

Intéressant tout ça. Merci de vos réponses.

Pour la chance, c'est vrai qu'il ne faut pas trop en mettre... Mais c'est la réalité. Il y a toujours une petite part de chance dans le sport, les courses. Enfin, de mon point de vue oui.

En fait ce que je voulais faire c'est donner plus de points plus les caractéristiques de l'animal se rapprochent de celle de la course à laquelle il participe.

Bon par exemple:
La forme... Entre 90% et 100%... +50 points. Entre 80 et 89% + 40 points.
La distance de la course est de 1000m. Si la distance préféré(un paramètre caché que personne ne peut voir) de l'animal est de 1000m bah il gagne 100 points exemple, mais si c'est 1200m il gagne 80 points exemple, et ainsi de suite...

Donc on détermine le gagnant par un classement de celui qui a le plus de point selon les caractéristiques de l'animal par rapport à celles de la course.

Quelqu'un a déjà fonctionner de la sorte ou c'est une mauvaise idée?


RE: Résultats selon caractéristiques - Xenos - 18-10-2012

Pour ma part, la chance est un bon paramètre dans le cas d'un jeu simple: elle permet aux faibles d'avoir une eptite chance de gagner sur les forts.
Pour éviter un poids trop important, la chance peut être relative et non absolue:
au lieu de A + rand(0..n) je préfère A*(rand(1 .. 1,1)), ce permet de ne pas avoir une "chance" trop importante dans le cas des trops faibles (par exemple, pour A=10 dans un cas et A=1 dans l'autre, si n=10, alors on peut avoir 10+0 dans le premier cas et 1+10 dans le second, et le faible écrase le fort...)
Pour les jeux complexes, je préfère éviter l'aléatoire: sur ECLERD, l'aléatoire a tendance à foutre le bazar plutôt qu'à aider.

Une autre solution est un système probabiliste:
- Le joueur A possède N "points de force", calculés selon une équation sans aléatoire (exemple: N=vie+endurance)
- Le joueur B possède M points de force
La probabilité que A gagne est N/(N+M) et la probabilité que B gagne est M/(N+M). Ainsi, l'idée n'est pas de dire "celui qui a le plus de points gagne", mais "celui qui a le plus de points a proportionnellement le plus de chances de gagner".

Cette méthode est, par ailleurs, mathématiquement aisée à étudier, puisqu'on n'a plus d'aléatoire dans le résultat du point de force.


RE: Résultats selon caractéristiques - Damocorp - 19-10-2012

Citation :C'est pas mal comme idée, mais est-ce bien nécessaire ? Si tu doses la part de chance avec parcimonie, la tortue ne devrait pas battre le lièvre à la course.

C'est sur que si tu fais (entrainement + random() * 100000000) / 10000000 forcément …
C'est qu'un idée en cours de travailler sur une puissance estimé entre les joueurs.
Par contre j'aime l'idée de Ter Rowan.

Un mélange des deux pourrait être sympa. Disons qu'un petit qui attaque un gros aurai 20% de chance de faire des extrats dommages sans pour autant gagner !
Ca lui montre qu'il est possible de gagner, sans non plus déséquilibrer le jeu.

Parce qu'après un mois de jeu, se faire dégommer par un nouveau juste pour une histoire de 0.5% de "chance". Y'a de quoi rager même si c'est super rare.