Stellaris, carnet des développeurs n°149 : Améliorations Techniques.

NdT : L'article qui suit est une synthèse du carnet du 23/05 et n'est donc pas une traduction complète des propos de Moah. Pour plus d'informations les sources sont disponibles en fin d'article.

Dans ce carnet, Moah, le chef de projet technique sur Stellaris, nous parle des changements techniques et technologiques opérés dans le patch 2.3 "Wolfe".

Tout d'abord et comme les autres jeux de Paradox, Stellaris migre vers une version en 64 bit. Malgré ce qu'on a pu lire comme quoi cette migration serait "le Graal" et la réponse à tous nos problèmes de performances, Moah tempère la chose. Dans les fait cette migration amène moins de crash en fin de jeu lorsque celui ci veut utiliser plus de 4 gb de mémoire. C'est surtout utile sur des galaxies moddées avec 3k de planètes. Les développeurs ont par ailleurs mesurés en détail si le jeu allait plus ou moins vite et il n'en ressort aucune amélioration ou dégradation des performances.


En parlant de performances, ces derniers ont amélioré certains algorithmes du jeu afin de rendre celui ci moins consommateur des ressources processeur. Les populations et la gestions des activités ont été optimisées en réduisant le nombre d'activités qu'une population va vérifier à chaque itération. Mais d'autres axes de progressions ont été identifiés et corrigés comme la suppression des routines de régénération des vaisseaux lorsque ces derniers n'étaient pas endommagés, de mise à jour d'icônes hors écran et de vérifications de population sur des planètes non habitées ont été supprimées. Ces routines que l'on peut considérer comme absurdes font suite à un empilement de contenu nouveau sur les bases du jeu.

Un autre aspect qui a été amélioré, les modificateurs. Stellaris regorge de ces derniers et les devs ont changé leur logique de fonctionnement afin d'accélérer les calculs. Les modificateurs modifiant d'autres modificateurs qui enfin modifient la valeur d'une statistique sont légions, en particulier sur les activités des populations (encore elles).
Auparavant calculés manuellement (ce qui oblige à recalculer toutes la chaîne dès que l'un d'entre eux change ou apparait) les modificateurs suivent maintenant une logique de flux tel qu'on peut la voir sur l'image ci-dessous.


Cette image est déjà périmée mais le principe reste le même. Ainsi ce système de nœuds permet d'isoler le modificateurs changeant et de ne pas recalculer toute la chaîne. Il permet d'accélérer de façon notable le jeu et en particulier lors des ralentissements les plus important suite à un chargement par exemple.

En résumé, le jeu irait entre 10 et 30% plus vite lors de la prochaine mise à jour. Évidemment, ça ne se verra pas forcément au début d'une partie mais plutôt vers la fin. Toutes les optimisations en court ne sont cependant pas confirmer car toujours en phase de test pour voir si elles n'entraînent pas des bugs supplémentaires.

Sabrenity un des devs à mesurer les consommations suivant les différents algorithmes sur la version test.


Côté IA, les devs ont demandé à Glavius (l'auteur de Glavius IA) l'autorisation de réutiliser ses travaux dans l'optimisation de la distribution des activités. La classique amélioration continue est aussi passée par là.

Enfin un nouveau système de rapport de crash a été créé afin d'envoyer le rapport immédiatement suite au crash et non une fois le jeu redémarré. Certains problèmes de connectivité hors steam ont aussi été revus.


C'est tout pour aujourd'hui, je vous rappel que vous pouvez aller voir les sources (en anglais) pour plus de détails et sinon comme à l'habitude je vous invite à passer sur le forum pour être au courant des dernières informations (image des nouvelles reliques, succès steam, etc) et y laissé vos commentaires.