Factorio 0.13: Amélioration des chemins de fer

L'amélioration des trains étaient l'une des priorités pour la prochaine version 0.13 de Factorio. J'en ai déjà parlé ici avec l'agrandissement des wagons (ainsi que l'introduction des wagons citernes... mais cette seconde idée a depuis été repoussé pour une version ultérieure), ici avec le problème de la longueur des trains, ici avec l'ajout de l'assistance à la signalisation ferroviaire, et ici avec l'assistance pour la création des gares.


Assistant à la création des voies de chemin de fer
Cette fois c'est la création des voies de chemin de fer elles mêmes qui a été grandement simplifié, grâce à l'intégration d'une intelligence artificielle pour nous aider.

Autrefois pour créer une voie de chemin de fer il fallait s'armer de patience, prendre quelques stacks de rails droit et de rails courbes, puis tourner encore et encore les rails courbes jusqu'à trouver la bonne orientation, et recommencer pour chaque demi-courbe. Dans factorio 0.13 le système de placement des rails va être révolutionné: il suffira d'indiqué le début de votre trajet, ainsi que sa fin, l'IA se chargera de trouver le plus cours chemin pour vous:

Ceci est le système d'assistant le plus complet, mais il y aura également un système plus simple d'assistance à la construction manuelle qui aidera simplement au placement manuel des rails.

Le fonctionnement de l'IA:
Comment cela fonctionne-t-il ? Si vous vous intéressez à la technique, ce paragraphe devrait vous plaire:
Il s'agit d'un algorithme de Path Finding (recherche du plus cours) chemin, avec quelques règles spécifiques:
  • Chaque position du trajet est définit par son emplacement sur la carte et une direction du rail
  • 2 point du trajet avec le même emplacement mais avec une direction différente sont considéré comme non lié (c'est comme un croisement des rails, les rails qui se croisent ne sont pas identique)
  • La suite de la trajectoire de chaque position n'a que 3 valeurs possibles: continuer tout droit, aller à gauche ou aller à droite.
La recherche se fait simultanément en partant du départ et de l'arrivé, le but de l'algorithme étant de rejoindre les 2 trajectoires.

La recherche se termine lorsque 2 positions partant respectivement du point de départ et de celui d'arrivé se rejoigne sur le même emplacement, avec 2 directions opposées. Mais même dans ce cas la l'algorithme continue sa recherche, afin de tenter de trouver un chemin plus cours. Sur l'exemple suivant le premier trajet trouvé n'est pas le plus cours:

L'algorithme continuera sa recherche pendant quelques cycles pour trouver la ligne droite qui relit les 2 courbes.

Performance:
Cela ne va-t-il pas ralentir le jeu ? C'est le risque, et c'est probablement ce qui serait arrivé si kovarex n'avait pas adapté l'algorithme pour le jeu. La recherche des collisions entre les positions est très coûteuses en temps de calculs (parfois plusieurs centaines de test sont à faire). Mais pendant que le joueur déplace son curseur, le trajet du train évolue, mais en général le début du tracer déjà recherché précédement est déjà optimal, il n'est donc pas néccessaire de relancer les calculs de trajectoire. En répétant cette logique, kovarex à simplement fragmenter la recherche sur plusieurs image: l'état de progression de la recherche est gardé en mémoire, et à chaque nouvelle image le jeu continue ses calculs, dans la limite de 200 nouvelles positions par cycle (à 60 images par seconde cela représente 12 000 positions par seconde !)

Suppression des rails courbes
Avec cette amélioration du jeu le joueur n'a plus besoin de jongler avec les rails (droits et courbes), ainsi les rails courbes n'ont même plus de raisons d'être, ils seront donc purement et simplement supprimé du jeu, remplacé par un unique item "rail". Lorsqu'une courbe sera placé par l'assistant, 4 rails simples seront posé pour former cette courbe. Voici un aperçu de l'assistant en mode manuel, sans intervention des robots de construction:


Voici un dernier exemple de ce que l'assistant sera capable de faire: trouver un chemin pour traverser une forêt:

Avouons que faire ça manuellement sera particulièrement complexe.



Des conditions d'arrêt en gare beaucoup plus configurable
2ème point entièrement revu, c'est l'interface de gestion des trains et des arrêts de trains. Honnêtement ces interfaces sont tout sauf intuitive, les manipulations sont hasardeuse, et les icônes ne représentent pas vraiment ceux à quoi elles sont destinés. Afin de revoir ces interfaces en profondeur l'équipe de développement de Factorio à voulu recruter un expert Ergonome, mais ce type de personne est difficile a trouvé, ils ont donc finalement essayer d'être eux même les critiques pour trouver de meilleures solutions.


Une interface peu claire
Commençons avec l'interface pour renommer un arrêt de train, voici son interface actuel:

Si vous ne connaissiez pas les trains, sauriez vous comment changer le nom de la station ? Voila comment il faut faire:
  • C'est quoi ce bouton refresh ? Il faut cliquer dessus pour comprendre, et encore pour qu'il fonctionne il faut au préalable choisir une station.
  • C'est quoi le bouton de lecture ? Ce n'est pas intuitif qu'il sert a valider le changement
  • La liste est ridiculement petite, et il faut en général scroller longtemps pour trouver le nom de la station
Cette fenêtre à donc était entièrement refaite, voici la nouvelle interface pour Factorio 0.13:
  • Un simple click dans la liste permet de copier le nom, sans besoin de valider avec un bouton
  • Un seul bouton de validation pour la fenêtre, qui valide l'unique manière de renommer la station (le champ de texte)
  • Une liste plus longue et donc plus lisible

Voici maintenant l'interface de la gestion des arrêts des trains:

Qu'est ce qui ne va pas ici ?

Mettons nous à la place d'une personne n'ayant jamais créer de trains:
  • À quoi sert le bouton refresh en haut de l'écran ?? Ce n'est pas du tout un rafraîchissement, ça switch entre l'interface d'arrêt du train et de la gestion de la locomotive
  • C'est quoi ce bouton pause ? Il permet de switcher entre le mode automatique et le mode manuel du train
  • Est-ce que le train est en mode manuel quand l'icone est sur pause ou faut-il cliquer sur pause pour le mettre en manuel ?
  • Le bouton pause/lecture est en haut à droit de la liste des stations, pourtant il n'a aucun rapport avec cette liste !
  • Au contraire, les boutons en liens avec cette liste sont placé dessous, bien moins en valeur
  • Ou est le train ? Aucune indication ne vous permet de le savoir

Une interface plus simple et plus complète
Afin de solutionner ces problèmes, voici la nouvelle interface de gestion du train:
  • Le bouton refresh a été remplacé par un système d'onglet beaucoup plus compréhensif
  • Le bouton lecture/pause a été remplacé par un curseur avec 2 positions: manuel ou automatique, le fonction est donc beaucoup plus intuitive, et un simple coup d'oeil permet de connaitre le mode actuel du train.
  • La liste des stations n'est plus affiché en permanence, elle est affiché sous forme de popup uniquement lorsque vous ajoutez une nouvelle station d'arrêt
  • Les icones de gestion des arrêts sont beaucoup plus compréhensible: un "+" pour ajouter une station, une poubelle pour la supprimer, une flèche pour s'y rendre.
  • Un curseur s'affiche devant le nom de la station à laquelle se trouve le train (ou la prochaine où le train va s'arrêter)
La 2ème moitié de la fenêtre permet d'ajouter de nouvelle condition d'arrêt pour les trains ! Plusieurs types de conditions seront disponible:
  • Le temps passé en station (la seule condition actuellement disponible dans la version 0.12)
  • Si l'inventaire est plein
  • Si l'inventaire est vide
  • Sans activité: si aucun item n'a été ni chargé ni déchargé pendant un certain laps de temps
  • Nombre d'items: Définit une condition en fonction du contenu du train (si le train contient plus de 30 plaques de fer par exemple)
  • Circuit logistique: Définit une condition en rapport avec le réseau logistique auquel la station est connecté.
Chaque de ces conditions peut ensuite être liée via un opérateur "ET" (toutes les conditions doivent être réunit) ou "OU" (Une seule des conditions doit être vrai pour que le train quitte la station).

L'image ci-dessus n'était que la première version de cette amélioration, une autre nouveauté a été intégré dans cette interface: l'affichage de la position du train:

Une carte est affiché, indiquant en temps réel la position du train. Il est également possible de switcher cette vue pour avoir la vision directement sur le train lui même:

Il est même possible de zommer sur chacun de ces vues via la molette de la souris


Croisement d'information
Actuellement aucune information globale ne permet de se rendre compte réellement de l'état de son réseau ferroviaire: combien de trains sont planifiés à une station ? Où se trouvent chacun des trains du réseau ferré ? Tout ceci va enfin changer dans Factorio 0.13.

Dans Factorio 0.13, en ouvrant simplement un arrêt de train vous verrez d'un seul coup d'oeil la liste de tous les trains qui y ont un arrêt de planifié:

Les trains sont nommés par le nom de la station ou il se trouve, et vous avez même la possibilité de prendre le contrôle du train à distance en cliquant directement dessus depuis cette liste !

Un autre écran permet également d'avoir une vision encore plus généraliste de votre train, c'est l'affichage de l'ensemble des trains de votre réseau, avec pour chacun une mini-map et la liste de leur arrêt:



Un nouveau menu global
Comment afficher cet écran résumant l'activité de l'ensemble de vos trains vous demandez-vous peut être ?
Via un nouveau menu général qui sera afficher sur l'écran, un menu qui permettra d'accéder à la plupart des informations général de votre base auparavant cacher dans d'obscur raccourcit clavier connu seulement des joueurs les plus chevronnés.

Ce menu permettra ainsi d'accéder à:
  • La liste de vos trains (évidement, je viens de vous le dire :P )
  • Le menu du jeu
  • Les statistiques de productions (Touche P actuellement)
  • Un écran bonus récapitulant les bonus que vous avez obtenus via les recherches:


Et peut être d'autres nouveaux écrans.
Posté par Tronics, le 31/05/2016 à 5:30.Source
Dernière modification par Tronics le 31/05/2016 à 6:25.
Commentaires de la news Factorio
Factorio 0.13: Amélioration des chemins de fer :
anonymous (anonyme)
le 03/06/2016 à 10:33
Le path finding me rappele celui de RCT3 ou le jeu cherchait le moyen de finir le parcour .
Ce jeu devient vraiment comme Tranport Tycoon Deluxe.
Strange
le 03/06/2016 à 14:43
Cool d'avoir un condensé de tous ce qu'il nous attend.

Je remarque par contre qu'ils restent sur le fameux bouton "Refresh" pour faire du switch d'interface.

Il faudrait qu'ils trouvent un autre visuel pour la partie switch des vues, le système d'onglet pour le train étant pas mal, mais pas forcément utile comme dans le cas de l'affichage de tous les trains.

En tous cas, merci encore pour ces infos, et j'ai super hâte de tester la suite.
Tuc0
le 04/06/2016 à 12:03
Merci pour les infos

Vous devez être connecté pour laisser un commentaire.