13-02-2013, 10:24 AM
(Modification du message : 13-02-2013, 10:26 AM par Thêta Tau Tau.)
Il y a plein de façon de représenter :
-Chaque individu a ses stats comme tu le proposait au départ, ça peut être très intéressant dans un jeu de micro-gestion, mais dès qu'on dépasse quelques dizaines d'individus ça deviens transparent du point de vue du joueur et ça pose des problèmes de performance.
-Avec des intervales pour chaque statistique, tu défini chaque catégorie comme un combinaison de statistiques possibles et tu lui assigne un nombre (par exemple il y a 112 "hommes de 20 à 30 ans, gagnant entre 1000 et 1500 euros par mois, mariés et avec 1 enfant"). Pour chaque modification possible, tu calcule la probabilité pour chaque catégories et tu tires le nombre d'individus avec une loi binomiale. Ça reviens au final à la même chose que la gestion individu par individu, sauf que tu es plus limité au niveau du nombre de stats et catégories (sinon le nombre de catégories deviens trop élevé et on perd à nouveau en performances).
-Pour chaque stat, tu enregistre sa distribution. Par exemple tu saura qu'il y a 800 personnes entre 20 et 30 ans, et 2000 entre 1000 et 1500 euros, mais contrairement à la méthode précédente, tu ne saura combien il y a de 20-30 ans qui gagnent entre 1000 et 1500 euros, tu pourras l'estimer par exemple, en multipliant les fréquences (20% de 20-30 ans et 35% de 1000-1500 = 0.2*0.35 = 7%), ou simplement en n'utilisant pas les stats dont tu n'as pas besoin (par exemple, pour le vieillissement de la population, tu n'as besoin que de l'âge). La c'est forcément plus bricolage, mais tu n'as plus de problèmes de performances.
-Tu ne garde que les moyennes, et le nombre d'individu faisant une action est déterminé arbitrairement (par exemple, si la moyenne d'âge est de 20 ans -> 0.5% de mort de viellesse, si la moyenne est de 75 ans -> 10% etc.). C'est forcément moins réaliste mais c'est aussi plus simple, à la fois à concevoir qu'à faire comprendre au joueur, et c'est pas forcément moins bien que des méthodes plus complexes.
Et bien sur on peux mixer le tout, avec par exemple une matrice "nombre d'enfant x superficie maison" (méthode 2), les distributions de salaire et d'âge (méthode 3), des moyennes (satisfactions, santé...). Et il reste possible d'avoir une partie des PNJ "uniques" avec un nom et des stats propres et gérés un par un, et le gros de la population "anonyme" géré par catégories. C'est un peu ce que je compte faire dans un projet actuellement en stand bye, avec des PNJ importants (officiers, maître artisans, scientifiques, bureaucrates, nobles...) gérés individuellement et le gros de la population (soldats, habitants), gérés globalement.
-Chaque individu a ses stats comme tu le proposait au départ, ça peut être très intéressant dans un jeu de micro-gestion, mais dès qu'on dépasse quelques dizaines d'individus ça deviens transparent du point de vue du joueur et ça pose des problèmes de performance.
-Avec des intervales pour chaque statistique, tu défini chaque catégorie comme un combinaison de statistiques possibles et tu lui assigne un nombre (par exemple il y a 112 "hommes de 20 à 30 ans, gagnant entre 1000 et 1500 euros par mois, mariés et avec 1 enfant"). Pour chaque modification possible, tu calcule la probabilité pour chaque catégories et tu tires le nombre d'individus avec une loi binomiale. Ça reviens au final à la même chose que la gestion individu par individu, sauf que tu es plus limité au niveau du nombre de stats et catégories (sinon le nombre de catégories deviens trop élevé et on perd à nouveau en performances).
-Pour chaque stat, tu enregistre sa distribution. Par exemple tu saura qu'il y a 800 personnes entre 20 et 30 ans, et 2000 entre 1000 et 1500 euros, mais contrairement à la méthode précédente, tu ne saura combien il y a de 20-30 ans qui gagnent entre 1000 et 1500 euros, tu pourras l'estimer par exemple, en multipliant les fréquences (20% de 20-30 ans et 35% de 1000-1500 = 0.2*0.35 = 7%), ou simplement en n'utilisant pas les stats dont tu n'as pas besoin (par exemple, pour le vieillissement de la population, tu n'as besoin que de l'âge). La c'est forcément plus bricolage, mais tu n'as plus de problèmes de performances.
-Tu ne garde que les moyennes, et le nombre d'individu faisant une action est déterminé arbitrairement (par exemple, si la moyenne d'âge est de 20 ans -> 0.5% de mort de viellesse, si la moyenne est de 75 ans -> 10% etc.). C'est forcément moins réaliste mais c'est aussi plus simple, à la fois à concevoir qu'à faire comprendre au joueur, et c'est pas forcément moins bien que des méthodes plus complexes.
Et bien sur on peux mixer le tout, avec par exemple une matrice "nombre d'enfant x superficie maison" (méthode 2), les distributions de salaire et d'âge (méthode 3), des moyennes (satisfactions, santé...). Et il reste possible d'avoir une partie des PNJ "uniques" avec un nom et des stats propres et gérés un par un, et le gros de la population "anonyme" géré par catégories. C'est un peu ce que je compte faire dans un projet actuellement en stand bye, avec des PNJ importants (officiers, maître artisans, scientifiques, bureaucrates, nobles...) gérés individuellement et le gros de la population (soldats, habitants), gérés globalement.