[discussion d'insomniaque] Refonte de la CB
Publié : mer. janv. 23, 2008 2:59 am
Attention je préviens y'a des math ^^
Donc voilà, j'ai un peu réfléchi pour revoir la CB, car j'estime que ce n'est pas du tout au point, et afin d'aider Dieux j'ai une petite formule qui devrait être juste (je fais appel aux matheux pour vérifier cela..).
edit : le but premier est bien sûr de se débarrasser de ces cb à stock nul !
Par contre il faut être d'accord avec les contraintes de la cb que je me suis fixé au départ, et je sais que sur certains trucs ça va coincé... Les voici donc :
[1] Aucune spéculation brupte et méchante possible (c'est-à-dire revente et rachat du même truc avec bénéfice) autant commencer par ce qui va faire le plus râler, je veux bien m'expliquer sur ce point.
[2] On se fixe un "stock idéal" pour lequel correspondra un "prix idéal" qui sera plus ou moins celui de la construction.
edit : le "stock idéal" pourrait varier en cours de partie, par exemple, dire que c'est un certain pourcentage de la production de l'ensemble des commandants d'un secteur (ce qui aura pour second avantage de "territorialiser" le calcul du prix en fonction des cb de chaque secteur)
[3] Le prix sera une fonction décroissante de la quantité disponible en cb avec très forte augmentation lorsqu'on approche d'un stock nul (fixé par un paramètre) et un prix quasi-nul lorsque les stocks sont très importants. Ainsi le comportement espéré des joueurs avec cette formule soit que la loi de l'offre et de la demande fasse intersection avec cette formule pour présenter un point d'équilibre (je suis pas clair là, tant pis... si certains voient ce que je veux dire, tant mieux ^^).
En conséquence :
[4] Compte tenu du point [1] et [3] il se trouve qu'on ne peut réellement fixé un prix unitaire réel des marchandises, car le prix des marchandises sera fixé suivant la quantité que le guildéen achetera/vendra. Un exemple pour expliquer : un stock de 1000 diamants en cb, le guildéen achète un diamant : il paie 200 leems, s'il veut rafler tous les diamants : il paie non pas 200x1000 leems, mais beaucoup plus car il est évident que s'il vide le stock le dernier diamant vaut bien plus cher que le premier (du fait de sa "rareté").
Enfin, de façon tout à fait indépendante, des points que je profite pour aborder ici et qui peuvent être discutés sans remettre en cause la formule que je vais introduire. Je fais ceci car à l'heure actuelle un guildéen peut vider une cb sans avoir réellement l'argent, ce qui serait très problématique avec ma formule à cause du fait du prix très élevé des marchandises à stock quasi nul. Pour remédier à celà :
[5] Résolution du prix de la transaction suivant les stocks disponible lorsque les vmes sont sur la cb.
[6] Le guildéen passera commande d'une quantité XY de choses à la cb, indépendament de ce qui s'y trouve, la quantité de vmes correspondante sera mobilisée. Lorsque les vmes arrivent à la cb le marché est conclu s'il peut l'être... on peut même imaginer que le guildéen, lorsqu'il passe son ordre aux vmes puisse choisir leur comportement au cas où les stocks de la cb changent durant le déplacement des vmes car une variation de stocks pendant que les vmes se déplacent entraîneront une variation du prix de la transaction, forcément.
[7] Le stock de la cb, je ne sais pas à l'heure actuelle comment il est alimenté mais voici ce que je pense être le mieux : la criminalité, un pourcentage des pertes de bataille me semble correct (plus les pillages, piratages, ou autres...).
Voici donc la formule tatatata, roulement de tambour et tout le tralala :
Argent reçu = a * log ( (quantité en cb après la transaction + b) / (quantité en cb avant la transaction + b) )
Les plus matheux d'entre vous auront remarqué que la formule s'applique autant pour une vente qu'un achat, si "Argent reçu" est négatif, c'est tout simplement que le guildéen paie...
Je laisse aux courageux le soin de vérifier que la formule vérifie bien les contraintes proposées (et je le referai moi-même vu l'heure qu'il est...).
Reste à fixer les paramètres a et b :
a = "prix idéal" / log (1+1/("stock idéal"+b))
b = "stock idéal" / X (c'est pas une véritable égalité d'ailleurs, mais un calcul approché)
où X est le "coefficient multiplicateur du prix à stock nul" (je suis preneur pour un terme plus adapté...) c'est-à-dire que le prix du dernier diamant de mon exemple précédent (lorsque le stock de la cb passera de 1 diam à 0) sera (environ) X fois le prix du diamant si le stock de la cb passse de "stock idéal" à "stock idéal"-1 c'est à dire X fois le "prix idéal".
Voili voilou, à prendre avec des pincettes cette formule, il faut que je refasse au propre d'une part les calculs (j'arrivais pas à dormir, alors je me suis lancé dans ce truc ^^ mais bon c'est pas trop l'heure où mes calculs se trouvent être très fiable et que je fasse peut-être quelques exemples numériques... mais je suis convaincu qu'un truc avec des logarithmes de ce genre fera ce que j'attends... ça fait un moment que je tourne ça dans ma tête et je me suis enfin décidé à faire rapidement les calculs complets.
Donc voilà, j'ai un peu réfléchi pour revoir la CB, car j'estime que ce n'est pas du tout au point, et afin d'aider Dieux j'ai une petite formule qui devrait être juste (je fais appel aux matheux pour vérifier cela..).
edit : le but premier est bien sûr de se débarrasser de ces cb à stock nul !
Par contre il faut être d'accord avec les contraintes de la cb que je me suis fixé au départ, et je sais que sur certains trucs ça va coincé... Les voici donc :
[1] Aucune spéculation brupte et méchante possible (c'est-à-dire revente et rachat du même truc avec bénéfice) autant commencer par ce qui va faire le plus râler, je veux bien m'expliquer sur ce point.
[2] On se fixe un "stock idéal" pour lequel correspondra un "prix idéal" qui sera plus ou moins celui de la construction.
edit : le "stock idéal" pourrait varier en cours de partie, par exemple, dire que c'est un certain pourcentage de la production de l'ensemble des commandants d'un secteur (ce qui aura pour second avantage de "territorialiser" le calcul du prix en fonction des cb de chaque secteur)
[3] Le prix sera une fonction décroissante de la quantité disponible en cb avec très forte augmentation lorsqu'on approche d'un stock nul (fixé par un paramètre) et un prix quasi-nul lorsque les stocks sont très importants. Ainsi le comportement espéré des joueurs avec cette formule soit que la loi de l'offre et de la demande fasse intersection avec cette formule pour présenter un point d'équilibre (je suis pas clair là, tant pis... si certains voient ce que je veux dire, tant mieux ^^).
En conséquence :
[4] Compte tenu du point [1] et [3] il se trouve qu'on ne peut réellement fixé un prix unitaire réel des marchandises, car le prix des marchandises sera fixé suivant la quantité que le guildéen achetera/vendra. Un exemple pour expliquer : un stock de 1000 diamants en cb, le guildéen achète un diamant : il paie 200 leems, s'il veut rafler tous les diamants : il paie non pas 200x1000 leems, mais beaucoup plus car il est évident que s'il vide le stock le dernier diamant vaut bien plus cher que le premier (du fait de sa "rareté").
Enfin, de façon tout à fait indépendante, des points que je profite pour aborder ici et qui peuvent être discutés sans remettre en cause la formule que je vais introduire. Je fais ceci car à l'heure actuelle un guildéen peut vider une cb sans avoir réellement l'argent, ce qui serait très problématique avec ma formule à cause du fait du prix très élevé des marchandises à stock quasi nul. Pour remédier à celà :
[5] Résolution du prix de la transaction suivant les stocks disponible lorsque les vmes sont sur la cb.
[6] Le guildéen passera commande d'une quantité XY de choses à la cb, indépendament de ce qui s'y trouve, la quantité de vmes correspondante sera mobilisée. Lorsque les vmes arrivent à la cb le marché est conclu s'il peut l'être... on peut même imaginer que le guildéen, lorsqu'il passe son ordre aux vmes puisse choisir leur comportement au cas où les stocks de la cb changent durant le déplacement des vmes car une variation de stocks pendant que les vmes se déplacent entraîneront une variation du prix de la transaction, forcément.
[7] Le stock de la cb, je ne sais pas à l'heure actuelle comment il est alimenté mais voici ce que je pense être le mieux : la criminalité, un pourcentage des pertes de bataille me semble correct (plus les pillages, piratages, ou autres...).
Voici donc la formule tatatata, roulement de tambour et tout le tralala :
Argent reçu = a * log ( (quantité en cb après la transaction + b) / (quantité en cb avant la transaction + b) )
Les plus matheux d'entre vous auront remarqué que la formule s'applique autant pour une vente qu'un achat, si "Argent reçu" est négatif, c'est tout simplement que le guildéen paie...
Je laisse aux courageux le soin de vérifier que la formule vérifie bien les contraintes proposées (et je le referai moi-même vu l'heure qu'il est...).
Reste à fixer les paramètres a et b :
a = "prix idéal" / log (1+1/("stock idéal"+b))
b = "stock idéal" / X (c'est pas une véritable égalité d'ailleurs, mais un calcul approché)
où X est le "coefficient multiplicateur du prix à stock nul" (je suis preneur pour un terme plus adapté...) c'est-à-dire que le prix du dernier diamant de mon exemple précédent (lorsque le stock de la cb passera de 1 diam à 0) sera (environ) X fois le prix du diamant si le stock de la cb passse de "stock idéal" à "stock idéal"-1 c'est à dire X fois le "prix idéal".
Voili voilou, à prendre avec des pincettes cette formule, il faut que je refasse au propre d'une part les calculs (j'arrivais pas à dormir, alors je me suis lancé dans ce truc ^^ mais bon c'est pas trop l'heure où mes calculs se trouvent être très fiable et que je fasse peut-être quelques exemples numériques... mais je suis convaincu qu'un truc avec des logarithmes de ce genre fera ce que j'attends... ça fait un moment que je tourne ça dans ma tête et je me suis enfin décidé à faire rapidement les calculs complets.