Stellaris, carnet des développeurs n°372 : Modding : Emplois et Groupe de Pop


Salut tout le monde !

Cette semaine, @Gruntsatwork discutera des détails techniques de la scénarisation d’un groupe de pop. Ce sujet est susceptible d’intéresser le plus la communauté des moddeurs

Les systèmes que nous mettons en œuvre actuellement ne font qu’effleurer la surface de l’endroit où nous voulons aller avec eux - nous attendons avec impatience certaines des choses que nous pourrons faire avec ces outils au cours des prochaines années, ainsi que de voir ce que vous en ferez.

Comme pour tous ces journaux de développement, une partie de cela est encore sujette à changement lors de la mise en œuvre et de la bêta.

Emplois et Groupes de Pop

Bonjour à tous, @Gruntsatwork ici ! Parlons de certains des changements de script qui arrivent avec la version 4.0 en ce qui concerne les pops et les jobs...

Comme Eladrin l’a déjà mentionné dans le Dev Diary 370, nous changeons notre façon de voir les Pops en les regroupant en Groupes de Pop. Ces groupes sont définis par leur espèce, leurs traits, leur éthique et leurs factions, mais PAS par leur travail. Il est tout à fait possible et probable pour un groupe de pop d’avoir des pops occupant différents emplois.

Le but est que, pour la plupart des utilisations du jeu, vous fassiez référence à des groupes de pop au lieu de pops, ce qui, espérons-le, devrait nous éviter d’itérer à travers chaque pop de notre empire chaque fois qu’un modificateur doit être recalculé.

Cela nous permet d’atténuer ou de supprimer certaines des actions les plus gourmandes en performances que nous utilisions auparavant et de les remplacer par des variantes beaucoup plus respectueuses des performances.

Par exemple, cela signifie que « random_owned_pop » ou « any_owned_pop » ont été relégués aux coins sombres de l’histoire et remplacés par « random_owned_pop_group » et « any_owned_pop_group ».

Il en va de même pour de nombreux effets utilisés sur ces pops, comme le create_pop ou le kill_pop, ou move_pop. À l’avenir, nous allons maintenant créer, déplacer et tuer des groupes pop, soit dans leur intégralité, soit en pourcentage. Et pour les plus aguerris d’entre vous, OUI, cela signifie que vous n’avez plus besoin de passer par des pops singuliers pour leur faire des choses indicibles, vous pouvez bien cibler leur groupe pop et le laisser faire le calcul pour vous.

Grâce aux efforts inlassables de nos programmeurs, qui nous ont donné de nouvelles fonctionnalités pour les déclencheurs scriptés comme les comparateurs, d’autres anciens outils, comme num_pops, verront une résurgence en tant que déclencheur scripté. Nous nous attendons à ce que les moddeurs y trouvent beaucoup d’utilité, même si nous redoutons un peu ce que vous allez proposer.

Comme l’a également mentionné Eladrin, cela signifie que nous n’avons plus de contact constant entre les pops et leur travail.

Au lieu de cela, il n’y a qu’un seul moment d’affectation où le groupe de pop sait brièvement quel emploi il fournit et avec combien de main-d’œuvre. Dès lors, le travail sait seulement qu’il a été approvisionné en main-d’œuvre et doit donc produire la ressource associée. Tant que la mission est maintenue, nous n’avons pas besoin de vérifier à nouveau le pop.

Cela nous amène à l’un de nos plus grands changements : la suppression de tous les modificateurs de production sur les traits d’espèce et leur remplacement par une main-d’œuvre bonus. En termes simples, comme la main-d’œuvre affectée à un job ne sait pas de quelle espèce il provient lors de la plupart des tests, les bonus de production des espèces (modificateurs comme +10 % de recherche des jobs du trait Psionique) ne peuvent pas être appliqués. À la place, les traits d’espèce fournissent désormais des modificateurs tels que « +10 % de main-d’œuvre bonus pour les emplois de chercheur », ce qui signifie que 100 Pops Psioniques travaillant 100 emplois de Physicien auront l’entretien et la production de 110 emplois de Physicien. En d’autres termes, nous ne payons l’entretien que sur 100 Pops, mais nous obtenons le rendement de 110 chercheurs ! Cela a également l’effet secondaire que les modificateurs pour la sortie de travail des traits d’espèce sont maintenant multiplicatifs avec d’autres modificateurs.

À titre d’exemple, dans la version 3.14, si nous avions 1 Psionique (+10 % de Recherche sur les Jobs) Pop travaillant un travail de Chercheur dans un empire avec la Méritocratie civique (+10 % de Production de Jobs Spécialiste) sur un monde Relique avec une Flèche Centrale (+15 % Recherche de Jobs), la production totale serait de 3 × (1 + 0,1 + 0,1 + 0,15) = 3 × 1,35 = 4,05 de chaque type de recherche.

Dans la version 4.0, si nous avons 100 Psioniques (+10 % de main-d’œuvre bonus pour les emplois de chercheur) qui occupent 100 emplois de physique dans un empire avec la citoyenneté méritocratique (+10 % de production de jobs de spécialiste) sur un monde relique avec une flèche centrale (+15 % de recherche de jobs), la production totale serait de 3 × (1 + 0,1) × (1 + 0,1 + 0,15) = 3 × 1,1 × 1,25 = 4,125 de recherche en physique.

Cela nous apporte de belles nouvelles entrées de script comme celle-ci du trait Psionique :



En passant, certaines vérifications peuvent toujours interroger le travail d’un pop, mais seulement indirectement, en s’étendant à un job et en déterminant quel groupe pop le remplit. Cela signifie que nous pouvons toujours assurer la fonctionnalité des cultes de la mort et des effets de kill_pop ciblés similaires.

En revanche, les bonus de production sur la planète ou l’empire sont toujours disponibles puisqu’ils affectent tout le monde.

Donc, pour les traits d’espèce, nous encourageons l’utilisation de ces nouveaux modificateurs

pop_job_bonus_workforce_mult
Pour augmenter la main-d’œuvre bonus qu’un pop génère pour un job donné.

pop_job_workforce_mult
Pour augmenter la main-d’œuvre qu’une population génère pour un emploi donné, il ne s’agit pas d’une main-d’œuvre supplémentaire.

job_max_workforce_mult
Pour augmenter l’effectif maximum qu’un Job peut accepter

Pour rappel, l’effectif d’un Job sera rempli jusqu’à son maximum autorisé, mais pas au-delà. Si un pop génère plus de main-d’œuvre que d’habitude, moins de pops seront nécessaires pour remplir le travail au maximum, mais il ne produira pas plus que son maximum. Si un pop génère une main-d’œuvre supplémentaire, il peut aller au-delà du maximum du travail et augmenter sa production.

De plus, nous avons également scindé un certain nombre de nos catégories économiques qui dépendaient de vérifications déclenchées des traits des espèces. Cela inclut également l’utilisation de déclencheurs pour simuler un héritage de classes économiques, que nous avons supprimés dans de nombreux cas et laissés uniquement dans celles que nous avons jugées les plus dépendantes d’elles.

Pour l’hérédité, nous recommandons la structure parent-enfant normale des catégories économiques OU, d’utiliser static_modifiers pour accorder les modificateurs de n’importe quelle combinaison de economic_categories.

La plupart, sinon la totalité, de ces changements ont été apportés pour améliorer les performances : réduire les appels, les boucles et les cascades de modificateurs qui déclencheraient autrement des recalculs sur chaque planète et éclat dans votre empire, juste au cas où une vérification de déficit serait nécessaire à ce moment-là.

Pour l’avenir, nous voyons un grand potentiel dans la mécanique de la main-d’œuvre, à la fois pour nous et pour la communauté des moddeurs. Nous avons fait allusion à l’automatisation – la main-d’œuvre découplée des pops – et certains d’entre vous ont peut-être déjà envisagé de nouvelles applications pour la virtualité. Qui sait quelles autres variations plus extrêmes dans le type et le nombre de populations dont les empires ont besoin pourraient maintenant être possibles ?

En termes simples, nous avons maintenant la main-d’œuvre nécessaire pour alimenter Stellaris pour les années à venir. Jeu de mots très intentionnel.

Quelle est la prochaine étape ?

Notre diffusion en direct prévue va être un peu retardée et finira probablement par se faire en même temps que la bêta ouverte. À l’heure actuelle, notre objectif principal est la mise en œuvre.

La semaine prochaine, nous aurons d’autres mises à jour sur la façon dont les choses se passent.

Pour plus d'informations sur cette grande mise à jour 4.0 "Phoenix" n'hésitez pas à en discuter sur le forum