Factorio 0.14: Bilan des nouveautés à venir

La version 0.13 de Factorio est quasiment stable, toute l'équipe travaille donc désormais majoritairement sur la prochaine version 0.14 de Factorio. Kovarex profite donc de l'occasion pour faire un point sur les nouveautés attendues pour cette version 0.14.


Réécriture du multijoueur
Le jeu en multijoueur sera modifier en profondeur: adieu le mode p2p, le jeu fonctionnera uniquement en mode client/serveur, cela devrait résoudre bon nombre de bug actuellement présent dans le jeu. Dans Factorio 0.14 le serveur aura un rôle centrale, c'est lui qui fera autorité sur le jeu, il recevra les commandes de chaque joueur et interprétera la partie entière. Ce rôle centrale lui permettra également d'isoler un joueur qui aurait un ping trop faible sans ralentir les autres joueurs.

Bien que cette tache soit l'une des plus importantes pour cette version 0.14, kovarex affirme qu'il a déjà terminé son implémentation.


L'énergie nucléaire
Il existe actuellement 2 sources d'énergie dans le jeu: En début de partie nous avons les chaudières thermiques, et en fin de partie ce sont les panneaux solaires qui prennent la relève. Ce duo fonctionne plutôt bien, mais il faut avoué que le choix donné au joueur reste restreint. C'est pourquoi l'équipe réfléchit depuis un moment a une nouvelle source d'énergie dans le jeu: l'énergie nucléaire.
Longtemps l'équipe a repousser l'implémentation de cette nouveauté faute d'idée innovante d'implémentation. Mettre de l'uranium dans une chaudière ne serait pas assez réaliste, un nouveau mécanisme sera donc être créé spécialement pour la gestion des centrales nucléaires.


Stockage et transport des fluides
Dans Factorio 0.14 tous les fluides pourront être mis en baril, ce qui facilitera leur transport (y compris via les robots logistiques). Une autre alternative pour le transport des fluides sera les wagons: des wagons citernes seront ajoutés dans le jeu.


Pack de textures HD
Cela fait longtemps qu'on nous en parle, et le projet n'est pas oublié.

L'équipe souhaite absolument sortir le pack HD avant la version 1.0 de Factorio (sortie qui est prévu pour l'année prochaine), il est donc urgent de commencer à travailler dessus. Toutes les nouvelles entités créées ces derniers mois ont déjà un modèle 3D, mais certaines anciennes entités comme les tuyaux ou les tapis roulants doivent être recréer en HD. Actuellement c'est Vaclav qui est assigné à cette tache, nous devrions avoir quelques images de son travail dans les semaines à venir. Le mode HD devrait donc être disponible dans la version 0.14 de Factorio, mais toutes les textures ne seront pas encore en HD, il faudra attendre les versions suivantes pour que le pack soit complet. Gardez a l'esprit que les besoins en mémoire seront considérablement augmenté par rapport à la version standard des textures, il faudra donc une très bonne carte graphique pour en profiter.


Optimisation et multithreading
L'équipe continuera d'améliorer encore les performances du jeu pour la version 0.14. Les premiers éléments optimisés seront les tapis roulants et les tuyaux: afin de réduire encore la charge de travail pour géré ces éléments, les tuyaux et les tapis roulant seront regroupé en segment, chaque segment étant géré comme une entité unique:

Les tapis roulants étant incontestablement l'entité la plus utilisé dans le jeu, le gain en performance devrait être confortable.
Les prochains éléments qui seront optimisés devrait être la gestion des bras robotisés, le calcule des parcours des trains ou la gestions des trajectoires des robots.

Bien que Factorio soit déjà géré en multithread (plusieurs taches exécutées en parallèle), une autre piste d'optimisation envisagée est de mieux utiliser ces multiples threads.
Actuellement les threads sont utiliser pour la "préparation" de la map, c'est une étape qui consiste a faire la liste des éléments du jeu, liste qui est ensuite utiliser pour l'affichage de la map sur l'écran. L'équipe cherche maintenant a une solution pour parallélisé également la phase de mise à jour de la map, c'est a dire a calculer tous les changements d'une image à l'autre (tapis qui avance, usine qui produit, bitter qui attaque, etc). Cela sera cependant beaucoup plus difficile que pour le rendu, car pour que le multi-thread soit optimal chaque thread doit être indépendant, hors la plupart des éléments de la map interagissent avec beaucoup d'autres, ce qui rend la parallélisation difficile.

La solution envisager par Kovarex est d'utiliser un nouveau mécanisme: les "Deltas": les deltas sont les changements calculés lors de la mise à jour de la map (un objet en moins sur un tapis, un objet en plus dans un coffre, etc...). Ils sont calculés séparément par chaque thread, avant d'être appliqué tous en même temps à la fin de la mise à jour de la map. C'est Denis, un nouveau développeur dans l'équipe, qui est affecté à cette tache.


Amélioration des circuits logistiques
Les possibilités offertes par les circuits logistiques sont si nombreuses que les idées foisonnent pour son amélioration, malheureusement il faut faire des choix... j'y reviendrais prochainement.

Posté par Tronics, le 13/08/2016 à 5:37.Source
Validé par Tronics. Dernière modification par Tronics le 13/08/2016 à 21:03.
Commentaires de la news Factorio
Factorio 0.14: Bilan des nouveautés à venir :
Tronics (administrateur)
le 13/08/2016 à 21:03
Petit mise à jour de la news, j'avait oublié de vous parler des wagons citernes et de la mise en baril de tous les fluides.

Vous devez être connecté pour laisser un commentaire.