[Tutoriel] Cachet de la cite

Vous êtes ici

1 post / 0 new
#1 26 avril 2017 - 1:50pm
Portrait de Dicotout
Offline
Envoyer un message
Connecté : Il y a 1 année 8 mois
Nombre de messages : 83
Inscris depuis : 12/22/2016 - 14:25

Tuto rédigé par Albapringe et migré de l'ancien forum

 

Je fais cette fois-ci un topic dédié intégralement au cachet et à tout ce qui y est lié (ce sera aussi l’occasion d’apporter un rectificatif au tutoriel sur les finances de la cité). J’y intègrerai cette fois des images, qui sont parfois plus parlantes que de longs discours (surtout quand il faudra discuter des couleurs) ^^.
Pour réaliser ces images, j’ai souvent effectué de nombreuses modifications sur les fichiers Model que je mentionne plus loin afin de rendre les choses plus claires. Si vous vous avisez de faire de même, une copie préalable et non modifiée de ces fichiers est vivement recommandée.

Généralités

Le plus basique pour commencer : le jeu utilise des représentations qualitatives et quantitatives pour le cachet, soit respectivement des couleurs et des nombres, pour chaque case (ou tuile) de la carte. Il y a 10 couleurs (présentées en dégradé sur l’image qui suit), et les valeurs numériques que peut prendre le cachet sont tous les entiers relatifs de l’intervalle [-99 ; 100]. Au départ, le cachet est égal à 0 sur toute la carte.

Image

Les deux représentations sont bien sûr liées, et le tableau suivant donne les valeurs pour lesquelles sont attribuées les couleurs :

Image

Remarque : le marron foncé n’est obtenu que pour une seule valeur, -10 !

Il y a néanmoins une exception : il n’y a pas de couleur affectée aux cases ayant une valeur de cachet égale à 0 (On le voit clairement au départ d’un scénario : la carte reste inchangée lorsqu’on fait « Voir cachet » dans l’onglet Esthétique). Ceci peut néanmoins amener des petites imperfections sur la trame du cachet, on le verra plus loin.

Il faut noter que pour les bâtiments occupant plus d’une case, toutes les cases du bâtiment ont leur propre valeur numérique de cachet, en revanche, la couleur du bâtiment sera unie, et ce sera celle de sa case située le plus à gauche.

Exple : le collège (3x3)

Image Image Image

Pour l’attribution de ces couleurs, il existe quelques bâtiments particuliers : le stade et le palais, par exemple sur l’image ci-dessous, mais il y en a quelques autres. Ces bâtiments sont en général rectangulaires et ils sont en fait décomposables en carrés. (Ainsi, chaque échoppe de l’agora aura sa propre couleur). Les maisons luxueuses, bien que carrées de 4x4, sont quand même décomposées en 4 carrés de 2x2 pour l’attribution des couleurs.

Image

Les différentes évolutions des routes sont liées au cachet, selon les tableaux ci-dessous :

Image

Dernière chose, quand on navigue sur la carte en mode « Voir cachet », un message s’affiche selon la case que l’on pointe, du type « Un peu de cachet ». Ces messages s’affichent pour chaque case, et sont liés à la valeur numérique de celle-ci, comme indiqué sur le tableau qui suit :

Image

Quantification du cachet

Paramétrage du cachet

Ce qui va suivre est loin d’être indispensable à connaître pour jouer, l’expérience étant beaucoup, beaucoup plus efficace et rapide pour estimer si le cachet d’un quartier est suffisant (autrement dit, même après avoir lu ce qui suit, il y a fort à parier que lorsqu’une maison manquera de cachet, vous continuerez à rajouter ce qu’il faut à vue de nez, plutôt que d’essayer de le calculer). Néanmoins, je fais quand même part de mes observations et on va donc voir comment sont calculées les valeurs numériques du cachet sur chaque case. Pour ça, il faut considérer les 4 paramètres de cachet pour chaque bâtiment qui sont donnés dans les fichiers Model\Zeus_Model_[niveau].txt (colonnes 'b' à 'e' dans les données de catégorie « Buildings »). Voici les détails de ces paramètres, qui ont déjà été expliqués en partie sur ce topic par Kaho, mais que je reprends ici avec des exemples illustratifs :

- 1er paramètre (noté « A » par la suite) : valeur numérique du cachet que le bâtiment fournira au premier niveau.
- 2ème paramètre (« B » ensuite) : taille de chaque niveau.
- 3ème paramètre (« C » ensuite) : incrément désignant la quantité de cachet gagnée ou perdue à chaque niveau par rapport au précédent (selon que C est positif ou négatif).
- 4ème paramètre (« D » ensuite) : zone d’effet ou portée du bâtiment.

Par la suite, je noterais ces paramètres comme suit : « nom du bâtiment » (A,B,C,D).

Remarques : 

- Ces paramètres sont inchangés selon le niveau de difficulté.
- Tous les paramètres A,B,C,D pour la plupart des bâtiments ont été compilés sur le guide de Thevenet, que vous trouverez ici : je ne veux même pas imaginer combien ça a dû être pénible à faire. Même si quelques petites erreurs s’y sont glissées, ça reste une façon plus agréable d’obtenir ces chiffres que de les extraire des fichiers Model.
- Comme indiqué sur les fichiers Model, on ne peut pas avoir D > 6, (même si vous attribuez une valeur plus grande à D, celle-ci est ramenée à 6 de toute façon). C’est mieux ainsi (de mon point de vue, en tout cas,^^), sinon, on pourrait avoir un cachet maximal sur toute la carte avec un seul bâtiment (pour peu qu’on bidouille les fichiers).
- Il en découle qu’on ne peut pas avoir non plus B > 6 car, obligatoirement, B < D ou B = D.
- A doit appartenir à [-99 ; 100], sinon, A est ramené à la borne la plus proche.
- Comme l’effet du cachet s’attenue lorsqu’on s’éloigne du bâtiment pour retourner vers 0 (que ce soit de moins en moins beau, ou de moins en moins moche, selon que A est positif ou négatif), on a A et C de signes opposés (sauf exception).

Plusieurs exemples qui aideront à comprendre ce que je viens de dire :

Image Image Image Image Image Image

Par la suite, je considérerai que tous les bâtiments fournissent du cachet sur 6 niveaux de taille 1 (même si les derniers valent 0), comme je l’ai écrit sur certaines images : ainsi, j’écrirai : 

« nom du bâtiment »(A,B,C,D) = niv1,niv2,niv3,niv4,niv5,niv6.

Exples :

Bassin(18,1,-3,6) = 18,15,12,9,6,3
Source(10,2,-1,5) = 10,10,9,9,8,0
Grand obélisque(8,1,0,2) = 8,8,0,0,0,0
Armurerie(-8,1,1,4) = -8,-7,-6,-5,0,0
Bergerie(-5,1,2,3) = -5,-3,-1,0,0,0

On voit bien ici que le cachet tend à revenir vers 0 lorsque les niveaux augmentent, trois exceptions toutefois :

Pavillon de chasse(-6,2,-2,4) = -6,-6,-8,-8,0,0
Collège(-5,1,-3,2) = -5,-8,0,0,0,0
Université(-5,1,-3,3) = -5,-8,-11,0,0,0

Aussi, méfiez-vous lors du placement de ces bâtiments : en essayant de les placer à distance des habitations afin d’atténuer leur effets négatifs, vous aggraverez peut-être la situation.

Autre remarque explicitée par les fichiers Model : certains éléments, qui peuvent former un assemblage particulier (routes, murs,…) ne fournissent aucun cachet, quand bien même vous modifieriez les valeurs de ces éléments.

Il est souvent plus avantageux de varier au maximum les structures d'embellissement lorsque vous cherchez à améliorer votre cachet, en effet, globalement, deux catégories de structures se distinguent : les structures à fort cachet initial mais à forte décroissance et les structures à cachet initial moyen mais à faible décroissance. Pour la première catégorie, on peut citer le cas du bassin(18,1,-3,6), qui commence avec un cachet de 18, mais qui finit seulement à 3. Alors que pour la seconde catégorie, la source(10,2,-1,5) est un bon exemple, puisque le cachet commence seulement à 10, mais finit quand même à 8. Comme vous le saviez déjà, les monuments commémoratifs(30,2,-5,6) = 30,30,25,25,20,20 sont les plus efficaces pour augmenter le cachet d'une zone, mais ils font figure d'exception.

Calculs

Une formule définie en fonction des 4 paramètres permet de calculer pour un niveau N fixé entre 1 et D, le cachet qui sera apporté par un bâtiment à ce niveau N. Elle fait d’abord intervenir une variable intermédiaire, notée T :

Si(frac(N / B) = 0, Alors T = tronque(N / B) – 1, Sinon T = tronque(N / B))

(« frac » est le contraire de « tronque », c’est la partie décimale du résultat. On a la relation x = tronque(x) + frac(x))

De là, on a :

Cachet au niveau N = A + T x C

[Edit] Une formule plus simple sans valeur intermédiaire permet d'aboutir au même résultat :

Cachet au niveau N = A + (plafond(N / B) - 1) x C où la formule "plafond" vérifie plafond(x) = x si x est entier et plafond(x) = tronque(x) + 1 si x n'est pas entier.[Fin Edit]

(Remarque pour ceux ayant les bases en informatique : une procédure incluant une boucle « for » / « while » peut permettre d’obtenir directement les valeurs du cachet sur tous les niveaux, mais je ne mettrai pas cette horreur ici,^^)

Exple : Jardin d’agrément(15,2,-4,5). Cachet au niveau 5 ?
=> On a frac(5 / 2) = 0,5 donc T = tronque(5 / 2) = 2.
=> Cachet au niveau 5 = 15 + 2 x (-4) = 15 – 8 = 7.
(On a en effet : Jardin d’agrément(15,2,-4,5) = 15,15,11,11,7,0)
[Edit] Avec la formule simplifiée, on a : 
=> Cachet au niveau 5 = 15 + (plafond(5 / 2) - 1) x (-4) = 15 + (3 - 1) x (-4) = 7.[Fin Edit]

Avec cela, on peut alors calculer le cachet en n’importe quel point de la carte, sachant que celui-ci est la somme des contributions apportées par les éléments environnants.

Cachet d’une case = Somme(contributions des éléments environnants)

On va faire quelques exemples avec deux cas assez simples représentés sur les images suivantes :

1er cas : 3 bâtiments avec apport « positif »

Image

Exple 1 : les 3 bâtiments apportent leur contribution au point 1 : le labyrinthe avec son niveau 4, le bassin et le jardin de coquillages avec leur niveau 5.
=> Labyrinthe niveau 4 : frac(4 / 1) = 0 donc T = tronque(4 / 1) – 1 = 3.
=> Cachet au niveau 4 = 12 + 3 x (-1) = 9.
Plus rapidement :
=> Bassin niveau 5 : Cachet = 18 + 4 x (-3) = 6.
=> Jardin de coquillages niveau 5 : Cachet = 5 + 4 x 0 = 5.
=> Cachet total au point 1 = 9 + 6 + 5 = 20.

Exple 2 : Seuls le bassin et le jardin de coquillages apportent leur contribution au point 2, tous deux avec leur niveau 5.
=> Les calculs ont été faits dans l’exemple 1 pour les 2 bâtiments.
=> Cachet total au point 2 = 6 + 5 = 11.

Exple 3 : 2 contributions au point 3 : le bassin avec son niveau 6 et le labyrinthe avec son niveau 2.
=> Bassin niveau 6 : Cachet = 18 + 5 x (-3) = 3.
=> Labyrinthe niveau 2 : Cachet = 12 + 1 x (-1) = 11.
=> Cachet total au point 3 = 3 + 11 = 14.

2ème cas : 3 bâtiments avec apport « positif » ou « négatif »

Image

Exple 1 : Une zone vide apparaît au milieu du quadrillage coloré. Vous l’avez deviné, c’est parce que le cachet total de ces cases est nul. On le vérifie tout de même. Au point 1, les contributions sont la source avec son niveau 3, la guilde avec son niveau 2 et l’atelier de maçonnerie avec son niveau 4.
=> Source niveau 3 : Cachet = 10 + 1 x (-1) = 9.
=> Guilde niveau 2 : Cachet = -6 + 0 x 1 = -6.
=> Atelier de maçonnerie niveau 4 = -6 + 3 x 1 = -3.
=> Cachet total au point 1 = 9 – 6 – 3 = 0.

Ainsi, vous saurez maintenant pourquoi des zones vides apparaissent au milieu de nulle part lorsque vous faites « Voir cachet ».

Exple 2 : Au point 2, les contributions sont la source au niveau 5, la guilde au niveau 3 et l’atelier au niveau 3.
=> Source niveau 5 : Cachet = 10 + 2 x (-1) = 8.
=> Guilde niveau 3 : Cachet = -6 + 1 x 1 = -5.
=> Atelier de maçonnerie niveau 3 = -6 + 2 x 1 = -4.
=> Cachet total au point 2 = 8 – 5 – 4 = -1.

J’aurais aimé vous donner une formule un peu plus « mathématique » pour calculer rapidement le cachet en chaque point, mais je ne pense pas qu’il en existe de simple. En fait, je suppose qu’elle doit faire intervenir un calcul matriciel bien compliqué, ce qui est un peu hors de ma portée. Tout ce que je peux dire, c’est que chaque case peut recevoir en théorie jusqu’à 168 contributions et je me doute que personne ne s’amusera à faire le calcul comme je le fais ici avec un tel cas,^^ (Bon, en pratique, on tourne plutôt vers 10-20 contributions, mais ça reste assez fastidieux). Si toutefois quelqu’un est tenté de trouver une formule générale, il est le très bienvenu.

Cachet et logements

On va voir comment le cachet affecte les logements et comment ceux-ci évoluent ou régressent selon le cachet. Le principe de base reste le même : chacune des 4 cases pour un logement modeste, ou des 16 cases pour un logement luxueux a sa propre valeur de cachet (que l’on calcule comme ci-dessus).
Mais, pour savoir quel cachet est attribué globalement au logement, on ne fait pas la moyenne de ces 4 (ou 16) valeurs. En fait, on prend la valeur maximale et l’on attribue au logement. Formalisé, on a :

Cachet du logement = max(valeurs du cachet pour chaque case du logement)

Exple 1 : logement modeste avec valeurs de cachet : 20,22,20,18. 
=> Cachet du logement = max(20,22,20,18) = 22. (Alors que moyenne = 20)

Exple 2 : logement luxueux avec valeurs de cachet : 80,82,85,79 / 78,80,82,76 / 81,72,70,72 / 79,76,69,71 (les « / » font la différenciation entre carrés différents, le logement luxueux étant un ensemble de 4 carrés de 2x2)
=> Cachet du logement = max(80,82,85,79,78,80,82,76,81,72,70,72,79,76,69,71) = 85. (Moyenne = 77)

Cela a des avantages et inconvénients : sur le plan du jeu, ça facilite clairement les choses car la moyenne sera toujours inférieure ou égale au max. Cependant, cela n’exclut pas certaines incohérences comme on le voit sur les images suivantes (valeurs très exagérées pour l’illustration) :

Image Image

Remarque : si vous ne bidouillez pas les valeurs, vous avez quand même peu de chances d’obtenir de tels contrastes, ^^.

Quelques remarques concernant les valeurs limites pour lesquelles une maison régresse ou évolue (ces nombres se trouvent respectivement dans les colonnes 'a' et 'b' de la catégorie « Houses » des fichiers Model\Zeus_Model_[niveau]). Je les appellerai limite inférieure « LI » et limite supérieure « LS » par la suite.

En supposant que tous les besoins sont satisfaits hormis le cachet, une maison se maintient dans le niveau d’évolution où elle se trouve si et seulement si on a :

LI < Cachet du logement = max(toutes les valeurs) < LS où les LI et LS à considérer sont celles du niveau d’évolution dont il est question.

(J’insiste sur les inégalités strictes, en effet, si cachet du logement = LI, la maison régresse sauf si vous avez atteint le stade minimum. Si cachet du logement = LS, la maison évolue sauf si vous avez atteint le stade maximum pour le logement).

Remarque : apporter des modifications sur les LI et LS peut créer des phénomènes bizarres, le plus remarquable étant une évolution-régression perpétuelle de vos logements. Par exemple, en fixant une LI de vos maisons de ville à 100, vous ne pourrez jamais maintenir vos maisons de ville. Ce qui se passe s’explique assez facilement : vous avez satisfait tous les besoins pour que vos immeubles évoluent en maisons de ville, donc ils évoluent, seulement, une fois devenus des maisons de ville, le cachet n’est pas suffisant pour se maintenir, donc les maisons régressent en immeubles, qui eux-mêmes évoluent, et ainsi de suite, sans fin. 

Un petit paragraphe concernant le cachet que vous devez apporter au temple de Thésée pour le satisfaire : le cachet du temple se calcule comme le cachet d'un logement luxueux (valeur max des 16 cases du temple). Pour pouvoir l'appeler, vous devez avoir un cachet parmi les valeurs en vert sur le tableau qui suit :

Image

Cachet et impôts

Grâce à tout ce qui précède, je vais faire ici le rectificatif concernant les finances où je disais qu’une relation entre cachet et impôts ne pouvait être trouvée (je ne le mets pas dans le tuto des finances de la cité que vous trouverez ici, car comme je l’ai dit dans celui-ci, tout ce qui suivra n’est finalement pas pris en compte dans le calcul des impôts).

Tout d’abord, comme si ce n’était déjà pas assez compliqué comme ça, le cachet qui doit être considéré pour les impôts n’est pas le même que tout ce qui précède. (En clair, oubliez le max(valeurs de toutes les cases du logements) pour cette partie). Il faut en fait retenir la valeur de la case qui se trouve le plus au nord du logement, qu’il soit modeste ou luxueux. Là encore, j’insiste sur « Nord » (et pas « en haut ») : ce n’est pas comme le cas de l’attribution de la couleur d’un bâtiment qui est celle de la case de gauche comme sur l'exemple du collège (et pas « Ouest »). La différence, c’est que l’une dépend de l’orientation et pas l’autre, comme l'indique les images suivantes :

Image Image

Une fois cela connu, on peut savoir quel est le montant des impôts payés par chaque logement à la fin de chaque mois. La formule est la suivante : 

Impôt mensuel du logement = ratio x Taux x Base x population du logement / 100

Au premier abord relativement simple, cette formule est en fait assez complexe car elle dépend de 5 choses : du type de logement, de sa population, du niveau de difficulté, du cachet et du niveau d’imposition !
Comme déjà discuté dans le topic des finances, le taux est de 1 pour les logements modestes de stade inférieur, 2 pour les logements modestes de stade supérieur, et dépend du niveau de difficulté pour les logements luxueux. La base dépend du niveau d’imposition, et le fameux ratio dépend du cachet et du niveau d’imposition. (De fait, la base et le ratio sont des variables corrélées, oh, joie !) Je mets les tableaux associés, même si vous pouvez les retrouver dans le tuto des finances pour certains.

. . Difficulté . . . . . Taux
_________________________
. . Débutant . . . . . . . 22
. . . Mortel . . . . . . . .18
. . . .Héros . . . . . . . ..16
. . . .Titan . . . . . . . . .14
. . Olympien . . . . . . . 12
_________________________ 

. . Taux d'imposition . . . . Base
_______________________________
. . . . . . Nul . . . . . . . . . . . .0
. . . . .Très bas . . . . . . . . . . 3
. . . . . .Faible . . . . . . . . . . .7
. . . . . Normal . . . . . . . . . . .9
. . . . . .Elevé . . . . . . . . . . .11
. . . . Très élevé . . . . . . . . .15
. . . . Exorbitant . . . . . . . . .20
_______________________________

Image

(Mention spéciale pour dicotout ^^: si par hasard tu te posais la question, les valeurs des ratios ont été obtenues par calcul, mais avec une bonne prise de tête pour les trouver cette fois :wink: )

Exple 1 : Immeuble de 48 habitants. Niveau Mortel. Cachet de 42. Niveau d’imposition faible.
=> Ratio = 18/14. Taux = 2. Base = 7.
=> Impôt mensuel du logement = 18 / 14 x 2 x 7 x 48 / 100 = 8,64 drachmes.

Exple 2 : Manoir de 16 habitants. Niveau Titan. Cachet de 74. Niveau d’imposition très élevé.
=> Ratio = 35/30. Taux = 14. Base = 15.
=> Impôt mensuel du logement = 35 / 30 x 14 x 15 x 16 / 100 = 39,2 drachmes.

Vous aurez remarqué que je garde les parties décimales, c’est en effet important pour la suite. Sur le logement s’affiche les impôts déjà payés au cours de l’année. Pour un moment donné de l’année, la formule suivante s’applique (c’est celle qui est directement utilisée par le jeu) : 

Impôts payés affiché par le logement = arrondi(Somme(Impôts mensuels du logement déjà payés))

Remarques : c’est bien « arrondi » et pas « tronque » pour cette formule, histoire de rendre les choses encore plus hétérogènes… Par ailleurs, je rappelle que, comme pour les troncatures, arrondi(x) + arrondi(y) n’est pas équivalent à arrondi(x + y), donc attention à vos arrondis, si vous faites des calculs. C’est ici aussi que réside toute l’importance de garder les parties décimales.

Ainsi, pour le mois de janvier, l’impôt payé qui s’affiche est 0, car le premier mois n’est pas achevé. Suivant le même principe, vous verrez s’afficher au mieux 11 mois payés (pendant le mois de décembre).

Allez, quelques exemples pour finir :

Exple 1 : Une masure de 24 habitants avait un cachet de 19 en janvier. En juin, la maison a évolué en appartement de 40 habitants, et dans le même temps, son cachet a été porté à 28. Niveau Héros. Niveau d’imposition normal. On est en août, quel impôt affiche la maison ?
=> Taux = 1 pour masure, 2 pour appartement. Base = 9. Ratio = 20/18 pour cachet de 19, 21/18 pour cachet de 28.
=> Impôt mensuel des mois de janvier à mai = 20 / 18 x 1 x 9 x 24 / 100 = 2,4 drachmes
=> Impôt mensuel des mois de juin et juillet = 21 / 18 x 2 x 9 x 40 / 100 = 8,4 drachmes
=> Impôts payés affiché = arrondi(2,4 x 5 + 8,4 x 2) = arrondi(28,8) = 29 drachmes.

Exple 2 : Une demeure de 10 habitants avait un cachet de 71 en janvier. En avril, la maison a évolué en manoir de 16 habitants, sans modification du cachet. Niveau Olympien. Niveau d’imposition exorbitant. On est en novembre.
=> Taux = 12. Base = 20. Ratio = 45/40.
=> Impôt mensuel des mois de janvier à mars = 45 / 40 x 12 x 20 x 10 / 100 = 27 drachmes
=> Impôt mensuel des mois d’avril à octobre = 45 / 40 x 12 x 20 x 16 / 100 = 43,2 drachmes
=> Impôts payés affiché = arrondi(27 x 3 + 43,2 x 7) = arrondi(383,4) = 383 drachmes.

Youpi, c’est enfin fini ! J’espère que ceux qui auront eu le courage de tout lire auront réussi à digérer tout cela. Sinon, n’hésitez pas à demander pour ce qui vous résiste ou à faire toute remarque qui vous paraît opportune^^.

Edit : Tout ou partie de ces informations se retrouvent sur le site de Pécunia : Citadel of Poseidon dont le lien figure ci-après : http://poseidon.pecunia.nerdcamp.net/index.html

Edit : simplification calcul avec formule plafond + exemple
Edit 2 : ajout lien du site de Pécunia