Stellaris, carnet des développeurs n°191 : Et pourtant elles bougent.

Bonjour à tous !

Comme mentionné la semaine dernière, cette semaine nous vous parlerons des nouveautés au sujet de l’automatisation des colonies et de la migration des populations. Comme à l’habitude, tout ceci est toujours en cours de développement et pourrait subir des changements drastiques avant une sortie dans un lointain futur.

Les objectifs majeurs sont ici de réduire la charge de micro gestion qui apparait vers le milieu de partie afin de rendre des décisions individuelles moins oppressives et de décroître le besoin de bouger des populations de façon manuelle.

L’automatisation de la gestion coloniale :

Des améliorations sont déjà présentes dans la bêta 2.8.1 mais aujourd’hui nous nous concentrerons sur les désignations planétaires et l’automatisation individuelle des planètes.
Une refonte majeure a été effectuée sur cette partie du jeu pour en améliorer l’efficacité. Après avoir manuellement choisi une spécialisation pour votre planète et laisser l’IA la gérer, notre but est que la colonie se développe selon un schéma que vous auriez vous-même fait si vous vous en occupiez. À savoir la construction des quartiers, le déblayage des bloqueurs et l’amélioration des bâtiments lorsque vous en avez besoin.
L'automatisation planétaire améliorera aussi le bâtiment principal d’une planète dès que possible (pour ouvrir de nouveaux emplacements de bâtiments en particulier) et sinon s’occupera des autres bâtiments de sa liste si il y a moins de trois activités disponibles sur la planète. La prudence reste de mise et donc l’IA fera tout pour ne pas être en déficit. Quelques interventions manuelles resteront nécessaires si par exemple vos crédits énergétiques sont dans le rouge, mais nous préférons laisser les décisions économiques risquées entre les mains des joueurs.

Le script ci-dessous est celui utilisé pour une planète de type forge dans le cas d’une ruche. Si il y a moins de trois activités ouvertes sur la planète et qu’il n’y a pas de construction en cours alors le programme va regarder ce qu’il peut construire. L’automatisation planétaire a tendance à favoriser la construction de quartiers plutôt que de bâtiments si il y a moins de 1,5 quartier par bâtiment (ce ratio peut être changé dans le fichier define : COLONY_AUTOMATION_DISTRICT_PREFERENCE). Le premier bâtiment de la liste qui remplit les conditions (en prenant aussi en compte les dépenses d'entretien) est choisi et construit. La condition “_affordable” est là pour vérifier si les nouvelles activités sont soutenables.


Spoiler:
automate_foundry_hive_planet = {
available = {
has_designation = col_foundry
owner = { has_authority = auth_hive_mind }
free_jobs < 3
has_building_construction = no
}

prio_districts = {
district_industrial
}

buildings = {
1 = {
building = building_hive_capital
}

2 = {
building = building_spawning_pool
}

3 = {
building = building_clone_vats
}

4 = {
building = building_hive_node
available = {
owner = {
hive_node_upkeep_affordable = yes
}
num_buildings = { type = building_hive_node value = 0 }
}
}

5 = {
building = building_foundry_1
available = {
owner = {
foundry_1_upkeep_affordable = yes
}
}
}

6 = {
building = building_galactic_memorial_1
available = {
owner = {
has_valid_civic = civic_hive_memorialist
}
NOR = {
has_building = building_galactic_memorial_1
has_building = building_galactic_memorial_2
has_building = building_galactic_memorial_3
}
}
}

7 = {
building = building_betharian_power_plant
}

8 = {
building = building_mote_harvesters
}

9 = {
building = building_crystal_mines
}

10 = {
building = building_gas_extractors
}

11 = {
building = building_chemical_plant
available = {
num_buildings = { type = building_chemical_plant value = 0 }
}
}

12 = {
building = building_hive_node
available = {
owner = {
hive_node_upkeep_affordable = yes
}
num_buildings = { type = building_hive_node value < 2 }
}
}

}
}


Les bloqueurs ont une priorité assez basse et ne seront nettoyés qu’une fois qu’un quartier doit être construit à sa place ou s’il n’y a plus de quartier à construire. Une intervention du joueur est toujours possible afin de rénover les bidonvilles ou de réveiller des lithoïdes plus tôt que prévu.

Les bâtiments (autre que le principal) seront améliorés si et seulement si il n’y a rien d’autre à faire avant si les ressources nécessaires à leur entretien sont présentes (et si la population peut aller l’occuper).
Le script gérera aussi des situations variées telles que un déficit de service, une hausse de la criminalité ou la création de bâtiments uniques liés à des événements de créatures extra dimensionnelle qui vous aiment et qui veulent juste être aimées en retour. Ces derniers rentrent dans le document 00_crisis_exceptions.txt.


Spoiler:
automate_amenity_management = {
available = {
free_amenities <= -5
owner = {
NOR = {
has_authority = auth_machine_intelligence
has_authority = auth_hive_mind
}
}
OR = {
NOT = { uses_district_set = city_world }
free_district_slots = 0
has_resource = { type = exotic_gases amount < 75 }
}
}

crisis = yes

buildings = {
holo = {
building = building_holo_theatres
available = {
owner = {
is_spiritualist = no
is_megacorp = no
}
}
}

temple = {
building = building_temple
available = {
owner = {
is_spiritualist = yes
is_megacorp = no
}
}
}

commerce = {
building = building_commercial_zone
available = {
owner = {
is_megacorp = yes
}
}
}
}
}


Ces exceptions interviendront si les services passent en dessous des -5, tout en prenant en compte si la planète est une œcuménopole ou non, si elle est remplie et si votre production de gaz exotique est en déficit ou non. En fonction de vos éthiques et régime, l’IA choisira un des bâtiments dans la liste.

Certaines des activités, des bâtiments ou des spécialisations planétaires nous ont donné du fil à retordre. Quelques exemples notables parmi tant d'autres, les mondes urbains, qui ont maintenant des bonus sur la valeur commerciale et les colonies qui maintiennent dorénavant les besoins de vos populations plutôt que de fournir des bonus de croissance à celle-ci.


Les nouvelles désignations urbaine et coloniale.

L’ancien bonus de spécialisation colonial a été changé. En effet, le bonus de croissance était bien plus fort que la plupart des autres spécialisations. Nous préférions grandement que vous créiez une nouvelle colonie pour y mettre la spécialisation monde minier et dans le même temps activer l'automatisation, plutôt que vous cherchiez à piloter une planète jusqu’à ce qu’elle atteigne cinq de population et donc que la spécialisation colonie soit exclue.
À cause de l’interdiction des déficits, le script d’automatisation a tendance à être plus conservatif que les joueurs, mais je suis très heureux d’avoir réduit de façon dramatique le temps passé à m’occuper de mes planètes à partir du milieu de partie. Il est aussi intéressant de savoir que certaines spécialités (monde forge, usine, technologique et urbain) produisent des colonies capables de devenir des villes monde. Dans notre partie multijoueur de test, j’essaye d’utiliser le plus possible l’automatisation pour donner à tous une chance avoir un retour sur ce qu’il se passe (sauf ma capitale que je gère manuellement afin de prendre en charge les changements prioritaires).

Si vous utilisez l’automatisation planétaire mais qu’il vous semble qu’il ne se passe rien, les 3 questions suivantes doivent vous venir en tête :
- Ma colonie est-elle dans un secteur?
En effet, seule une colonies dans un secteur qui n’est pas frontalier permet l’automatisation.

- Suis-je quelque part en déficit?
La plupart des quartiers ont un entretien énergétique. Même s’il est possible qu’un nouveau bâtiment ou quartier produise suffisamment d’énergie pour régler le problème, le script est le plus léger possible et ne fait pas de telles analyses en ne pouvant assumer que le mouvement des populations vers cette nouvelle construction améliorera la situation. Une intervention manuelle est alors nécessaire.

- Ai-je assez de ressources dans le stockages du secteur pour qu’il puisse faire quelque chose?
Une notification apparaîtra dans ces cas là mais si les stocks sont bas, il sera impossible à l’IA de construire quoi que ce soit.


Gardez vous des cliques, utilisez Ctrl.

Les mouvements de populations :

Les mouvements manuels de population et la suppression du chômage sont une énorme charge arrivée en milieu de partie. Notre avis est qu’un déplacement forcé de la population doit être un événement exceptionnel, pas une tâche régulière faisant partie du cœur du jeu. Le processus doit être simple mais seulement lorsque nécessaire et le plus rarement possible.
Une première action de notre part a été de filtrer les populations inoccupées pour les mettre en haut de la pile lorsque vous souhaitez les bouger. Ensuite les populations sont triées de la strate la plus basse à la plus haute.


Il est peu probable que vous rencontriez ce scénario à moins que ce ne soit intentionnel en supprimant des activités disponibles à chaque strate.

Nous avons aussi réajusté le coût pour faire bouger une population. Ainsi il vous en coûtera un peu d’influence selon le type de population. En effet depuis les récents changements des édits, cette ressource est peu utilisée passé le début de partie. Ces coûts sont nominaux pour des travailleurs mais augmentent considérablement pour vos dirigeants. Les populations inemployées sont exclues car il serait trop facile de fermer des activités avant de bouger des populations.

Les nouveaux coûts suivant les classes de populations. Dans l'odre les drones/biotrophés/ouvriers puis lesspécialistes, les dirigeants et enfin les esclaves.

Les esclaves et robots non intelligents pourront cependant toujours être ballader sans coût supplémentaire en influence. Ce qui n'est pas le cas des bio-trophés qui ne profiteront pas non plus des bonus de civismes excusifs aux robots. En effet une partie d'entre eux ont été retravaillés.

Mais quand est-il de l'abandon d'une colonie?
Réimplanter manuellement la dernière population d’une planète a un coût supplémentaire en influence dans notre version en développement. Il devrait y avoir quelques exceptions comme lorsque la planète est sur le point d’exploser si vous avez pris l’origine “fin du monde” ou si le monde colonisé est un monde sacré pour l’empire déchu local. Une décision planétaire pour abandonner les planètes récemment conquises est aussi à l’étude même si la réimplentation s’apparentera à la purge par l’expulsion (avec les pénalités diplomatiques associées).


On venait juste de la terminée.

Avec l’extension Fédération, nous avons introduit une résolution dans la ligne "Intérêt Général” : “Bien supérieur à tous”, qui encourage les populations à aller là où on a besoin d’elles. Certains avaient d’ailleurs noté que cette résolution permettait à des empires égalitaires de résoudre leur problème de surpopulation pour envoyer leur citoyen ailleurs sur des planètes encore vierges de leurs empires. De nombreuses requêtes furent faites pour que cette décision ne soit plus liée à une résolution mais nous craignons de rendre les choses trop faciles sans quelques restrictions.
Nous sommes parvenus à une solution pour que chaque empire puisse avoir un accès facile à cette décision en créant un bâtiment pour les stations stellaires, le hub de transit, débloqué par la technologie “point de rupture des hyperlignes” (NdT : propulseur PRL niveau deux). L’enregistreur d’hyperlignes est quant-à lui déplacé vers “Économie Interstellaire” (NdT : Bâtiment de commerce de niveau deux).



Pour ceux qui aiment bouger!

Le Hub de transit operera de façon plus limitée que la décision “Bien supérieur à tous” en ne faisant déplacer que les populations inemployées des strates inférieures qu'entre les planètes de systèmes qui possèdent un Hub (les mouvements inter système seront eux aussi possible). Nous n’avons pas choisi la portée commerciale pour plusieurs raisons : les consciences collectives n’en n’ont pas, les performances du jeu auraient été impactées et il aurait été trop facile de faire un réseau autour des planètes émettrices de population et une seule station pour une planète réceptrice.
Nous étudions toujours la possibilité d’augmenter l’action de ses hubs à d’autres genres de populations ou d’en faire un bâtiment planétaire. La limitation aux ouvriers est en place parce qu’un ouvrier n’est pas limité en activité sur la planète d’arrivée contrairement à un esclave ou un spécialiste. D’autres variantes sont aussi en cours de test avec une action prioritaire des strates les plus hautes vers les plus basses, mais il nous faut vérifier si le script sera suffisamment rapide à faire fonctionner.
La construction d’un Hub de transit fonctionnera mieux si vous en avez sur la plupart des planètes de votre empire puisqu’il ne fera que bouger vos populations entres ces planètes.
Dans la même veine, nous avons aussi réduit de moitié le temps pour qu’une population passe vers une strate inférieure et nous avons différencié les différents régime avec un bonus associé.


Les empires avec le civisme "Partage du fardeau" verront leur population descendre une strate de façon quasi instantanée.

Nous avons d’autres modèles à l’étude qui ont des impacts significatifs sur les populations inemployées en fin de jeu mais nous ne sommes pas encore prêts à vous en parler.
Autre changement, lorsque les Terravores finissaient de dévorer une planète, il se pouvait que des populations soient créées à l’issue de ce processus. Dorénavant, ces dernières seront directement envoyées à la capitale (et puisque les consciences collectives profiteront aussi du Hub de transit, il serait indiqué d’en construire un sur leur capitale et leur différentes colonies pour les répartir).
Ah et nous avons aussi supprimé les marqueurs de colonisations des planètes que vous avez dévoré et qui ne sont plus colonisables.


Un bon repas mais j'ai encore faim!

Nous n’avons pas parlé des migrations automatiques entre les planètes ou du système de croissance de populations car de nombreuses solutions sont à l’étude de notre côté et nous ne pouvons pas encore vous en parler (car ces sujets sont très liés au reste des mécaniques du jeu).

N’oubliez pas que nous recueillons toujours vos commentaires sur la version 2.8.1.

La prochaine fois nous parlerons encore de changements économiques,bonne semaine !


Toujours dans le même thème (micro gestion et IA) depuis maintenant un certain temps, il ne reste plus qu'à voir ce que cela donne en jeu. N'hésitez pas à réagir sur le forum.