36 posts :: Page 2 of 4
Par: (pas connecté)    
   
Forum Admin
Admin

Fran-ssnouf



Depuis:: 20/10/17
Messages: 2150

J'ai fait le test d'arrêter pendant 1 seconde celui qui part à gauche histoire de laisser l'autre passer légèrement avant lui, résultat le second reste sur sa file de gauche, tandis que le premier reste bien dans sa file de droite au lieu de bifurquer.


Bien sûr, je te renvois à la partie "2.2/ Le train voit loin" du tuto de Gorgorbey ici : http://www.ttycoonfr.net/forum/index.php/topic,1230.0.html
Le train ira toujours sur une voie désengagé, comme il n'y a aucun train à droite, il prendra cette voie  Smile

Je ne sais honnêtement pas pourquoi il fait cela et je doute que les présignaux corrigent le problème.


Les présignaux corrigent dans le fait qu'ils permettent l'option de choix de la voie. Un train va aller tout droit vers le premier feu de sortie qui s'offre à lui le plus souvent.

Par contre, pour optimiser tu peux les trains qui sortent par la sortie droite de la gare, les obligés en donnant un point de contrôle, à passer à droite et ceux des voies de gauche, de passer à gauche. Je viens de tester et ça fonctionne mais tes ordres sont comment dire un peu bizarre je trouve.


Oui, excellente idée, voila pourquoi je parlais de bricolage. C'est un bon moyen de diviser les trains. Mais il y a quelques risques de se trouver avec des trains du même ordre à cet endroit. Mais disons que ça divise les chances par deux.


De plus, passer aux présignaux, même si cela règle un peu le problème, ce sera moins fluide car avec les signaux de chemins, si tu en as un qui reste sur sa file, l'autre restera aussi dessus donc ils passeront tout deux en même temps.


Exacte, d'où les deux écoles : certains preferent les signaux de chemin pour permettre de faire rouler deux trains en parallèle sur un croisement, et avec les présignaux on peut faire des choses un peu différentes comme des priorités ou encore résoudre des problèmes de choix de voie.

Dans ce dernier cas, tu peux dans ce cas là faire une voie prioritaire, mais c'est difficile à gérer car il faut empêcher les autres trains d'y passer et utiliser un point de contrôle pour que les trains qui sont prioritaire y passent systématiquement.
Faut demander à Franssnouf comment on peut faire une telle voie ce qui je pense serait intéressant de savoir comment faire.


Tout à fait, c'est une possibilité. Il suffit de placer une voie secondaire plus rapide (vers l'intérieur des virages) et y placer des point de contrôle que l'on retrouvera dans les ordres de certains véhicules (ceux qui doivent passer rapidement). Mais ça revient à peu près au même de ce que tu viens de dire.

une loco plus 9 wagons occupent exactement 5 cases


En fait un rail droit vaut deux wagons et un rail en diagonale en vaut 1... y'a plus qu'à calculer ^^
Cette idée permet surtout de créer des embranchements avec une distance de sortie suffisante pour un train... si un train est engagé dans l'embranchement, le suivant peut attendre sans gêner les autres  ggg Y'a plus qu'à tester Gomez

Un autre exemple du respect des distances :

J'ai une voie principale avec de nombreux trains, je veux donc diviser en deux l'arrivé des trains depuis la voie secondaire : hop des présignaux, et une longueur d'accès de bonne taille pour gérer le présignal d'entrée.  ggg

Et aussi, suite au mini-topo de Franssnouf sur les voies de sortie, je me dis que placer la voie de sortie SUR le croisement, comme on peut le voir sur l'image de mon post précédent, c'est très mauvais non?


En fait pour respecter les distances qui empêche un dead-lock, il faut veiller à respecter des distances supérieures à la longueur des trains entre les croisements (en gare par exemple) et les embranchements.

distance à respecter :


Si les distances sont proches, tu peux créer l'embranchement sur le croisement, au risque de créer un embranchement simple (c'est à dire avec des croisement de rails), les trains qui s'engagent bloquent la circulation des deux côtés.

embranchement simple :


dons ton cas, l'embrenchement serait pile sur le croisement d'entrée de gare, mais c'est possible.

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 531

Ce que j'adore chez toi Franssnouf, c'est que tes réponses sont très claire, très simple à comprendre et même quand on répond à quelqu'un, tu trouves toujours des conseils à donner sur cette réponses. Franchement, je suis content que tu sois passé sur le topic, tu nous donnes un tas d'informations très utile, je comprend pourquoi toi et Mevani êtes si fort lol.


Gomez,

C'est en effet un jeu assez complexe, des tas de paramètres sont à prendre en compte pour faire des réseaux fluides, très fonctionnels donc et qui rapportent beaucoup. Je crois que ton cerveau aura beaucoup de choses à retenir lol

Par: (pas connecté)    
   
Forum Admin
Admin

Fran-ssnouf



Depuis:: 20/10/17
Messages: 2150

quel flatteur  Smile

Tout ça m'a donné envie de clarifier un peu de choses dans la page réseau  siflote surtout pour la règle de distance

Par: (pas connecté)    
   
Forum Admin
Admin

christophedlr



Depuis:: 23/10/17
Messages: 531

Surtout sur le site, pas mal de pages sont en construction mon grand Wink

Par:     

Anonymous


Oula j'ai loupé pas mal de choses ...

Alors  pour le load-balancer, j'ai jamais trop compris pourquoi les trains bifurquent sur l'autre voie sans raison apparente (c'est pourquoi je n'en fait plus ou très rarement).

Je vais répéter ce qui a été dit plus haut car c'est vachement important, toujours vérifier que les dtance gare/voie ===> jonction sont supérieure à au moins fois la longueur du train, sinon deadlock (et on jette la sauvegarde à la corbeille).

Concernant jonctions, échangeurs et autres noueux importants d'un réseau, évite que les voies traversent le réseau ; ça suffit quand tu commence ton réseau et qu'il n'y a pas beaucoup de trafic, mais il faudra les modifier plus tard (et garde près de toi un paquet d’aspirine dans ce cas)

Il vaudrait mieux que tu commence comme ceci :



Ou comme ça :



Elles sont plus chères à construire mais plus efficace à long terme _D_ (il faudra peut être plus tard décrire les étapes de constructions.

Frannsnouf, ton système de voies extérieures pour permettre aux trains de sortir, j'ai essayé, et ça m'a apporté que des problèmes (bouchons, trains perdus et j'en passes des meilleurs). je m'arrange à ce que toutes les voies du réseau -vous avez bien lu "toutes les voies du réseau" - mènent à toutes les destinations possibles et imaginables, et tout cela balisé en pré-signaux si possible (les PBS (signaux de chemins) me donnent trop de fils à retordre).

Par:     

Anonymous


Bonsoir Gomez, bienvenu dans la communauté !

Perso j'utilise presque exclusivement les signaux de chemin (PBS) pour tout mes réseaux.
Réguler des priorités avec ces feux est possible, il faut savoir que les feux pour l'IA des trains n'ont pas tous les mêmes priorités.

<img src="http://img266.imageshack.us/img266/594/naboroughbaytransport18.png" alt=""/>

Le premier exemple est composé de 2 voies A et B.
La voie A, PBS uni-directionnelle avant le croisement et PBS bi-directionnelle inversé après le croisement.
La voie B, PBS uni-directionnelle avant le croisement et feu simple après le croisement.
Pour l'IA des trains un feu simple est prioritaire à un PBS bi-directionnelle inversé, la voie B devient alors prioritaire pour tout train se trouvant sur la voie A ou B.

Le second exemple reprend la même explication sur les priorités.
Les voies C et E sont inversées mais ont le même schéma fonctionnel.
La voie centrale  est composée exclusivement de PBS bi-directionnelle positionné de sorte que la voie D ne soit pas prioritaire.
A quoi sert-elle ? à rediriger les trains sur cette voie en cas d'obstacle, cela dans les deux sens.

J'ai essayé de faire simple malgré l'heure tardive !

Par:     

Anonymous


[quote author=dkarn link=topic=1442.msg15549#msg15549 date=1322263755]
Il faut savoir que les feux pour l'IA des trains n'ont pas tous les mêmes priorités.
[/quote]
En effet, et cela peut être réglé dans le fichier de configuration : Voir la section [pf] (Path Finder - Trouveur de chemin)

PHP Formatted Code
<br />[pf]<br />wait_oneway_signal = 15<br />wait_twoway_signal = 41<br />wait_for_pbs_path = 30<br />reserve_paths = false<br />path_backoff_interval = 20<br />opf.pf_maxlength = 4096<br />opf.pf_maxdepth = 48<br />npf.npf_max_search_nodes = 10000<br />npf.npf_rail_firstred_penalty = 1000<br />npf.npf_rail_firstred_exit_penalty = 10000<br />npf.npf_rail_lastred_penalty = 1000<br />npf.npf_rail_station_penalty = 100<br />npf.npf_rail_slope_penalty = 100<br />npf.npf_rail_curve_penalty = 1<br />npf.npf_rail_depot_reverse_penalty = 5000<br />npf.npf_rail_pbs_cross_penalty = 300<br />npf.npf_rail_pbs_signal_back_penalty = 1500<br />npf.npf_buoy_penalty = 200<br />npf.npf_water_curve_penalty = 25<br />npf.npf_road_curve_penalty = 1<br />npf.npf_crossing_penalty = 300<br />npf.npf_road_drive_through_penalty = 800<br />yapf.disable_node_optimization = false<br />yapf.max_search_nodes = 10000<br />yapf.rail_firstred_twoway_eol = true<br />yapf.rail_firstred_penalty = 1000<br />yapf.rail_firstred_exit_penalty = 10000<br />yapf.rail_lastred_penalty = 1000<br />yapf.rail_lastred_exit_penalty = 10000<br />yapf.rail_station_penalty = 1000<br />yapf.rail_slope_penalty = 200<br />yapf.rail_curve45_penalty = 300<br />yapf.rail_curve90_penalty = 600<br />yapf.rail_depot_reverse_penalty = 5000<br />yapf.rail_crossing_penalty = 300<br />yapf.rail_look_ahead_max_signals = 10<br />yapf.rail_look_ahead_signal_p0 = 500<br />yapf.rail_look_ahead_signal_p1 = -100<br />yapf.rail_look_ahead_signal_p2 = 5<br />yapf.rail_pbs_cross_penalty = 300<br />yapf.rail_pbs_station_penalty = 800<br />yapf.rail_pbs_signal_back_penalty = 1500<br />yapf.rail_doubleslip_penalty = 100<br />yapf.rail_longer_platform_penalty = 800<br />yapf.rail_longer_platform_per_tile_penalty = 0<br />yapf.rail_shorter_platform_penalty = 4000<br />yapf.rail_shorter_platform_per_tile_penalty = 0<br />yapf.road_slope_penalty = 200<br />yapf.road_curve_penalty = 100<br />yapf.road_crossing_penalty = 300<br />yapf.road_stop_penalty = 800<br />npf.npf_road_dt_occupied_penalty = 800<br />npf.npf_road_bay_occupied_penalty = 1500<br />npf.maximum_go_to_depot_penalty = 2000<br />yapf.road_stop_occupied_penalty = 800<br />yapf.road_stop_bay_occupied_penalty = 1500<br />yapf.maximum_go_to_depot_penalty = 2000<br />reverse_at_signals = false<br />


Le fait aussi de mettre un bout de route sur une voie, permet d'éviter que la voie soit prise en premier, alors qu'elle présenterait un avantage en terme de longueur ! (road_crossing_penalty).

Par: (pas connecté)    
   
Forum Admin
Admin

Fran-ssnouf



Depuis:: 20/10/17
Messages: 2150

[quote author=syl59 link=topic=1442.msg15548#msg15548 date=1322246874]
Frannsnouf, ton système de voies extérieures pour permettre aux trains de sortir, j'ai essayé, et ça m'a apporté que des problèmes (bouchons, trains perdus et j'en passes des meilleurs). je m'arrange à ce que toutes les voies du réseau -vous avez bien lu "toutes les voies du réseau" - mènent à toutes les destinations possibles et imaginables, et tout cela balisé en pré-signaux si possible (les PBS (signaux de chemins) me donnent trop de fils à retordre).
[/quote]
Normalement si tu agrandis bien l'ensemble et que tu espace les croisements suffisamment, ce système fonctionne. Mais il peut-être vrai que ton idée est mieux car l'accès est plus simple, seulement si on veut faire de vraies sorties c'est plutôt avec des voies extérieures  Razz

[quote author=Benoit]Le fait aussi de mettre un bout de route sur une voie, permet d'éviter que la voie soit prise en premier, alors qu'elle présenterait un avantage en terme de longueur ! (road_crossing_penalty).[/quote]
Super intéressant ! J'ai des choses a tester grâce à cette idée, les priorités sans présignaux ça serait vraiment pratique  ggg

Par:     

Anonymous


Je me réjouis de vous voir échanger vos points de vue, qui me donnent tous matière à penser. J'ai un peu avancé mon réseau en suivant vos conseils, j'attends de lui donner plus d'envergure avant de vous le soumettre à nouveau.

En passant j'ai une question: Existe-t-il un moyen de forcer une industrie inopportune à fermer, de façon à pouvoir placer une jonction diabolique à la place?

Par:     

Anonymous


[quote author=Franssnouf link=topic=1442.msg15551#msg15551 date=1322330239]
Super intéressant ! J'ai des choses a tester grâce à cette idée, les priorités sans présignaux ça serait vraiment pratique  ggg
[/quote]

Ce serait juste un moyen en plus de faire des priorités !  siflote  siflote

Existe-t-il un moyen de forcer une industrie inopportune à fermer, de façon à pouvoir placer une jonction diabolique à la place?



A partir le buldozer magique (disponible le menu "triche" (faire Ctrl+Alt+C pour voir ledit menu)), je pense pas qu'il soit possible de forcer une industrie à fermer ... Est ce que le spécialiste du code C++ est toujours là ? fou1

Personnellement je cherche à voir si des choses comme ça sont possible ; je décale juste la jonction et/ou je la réaménage  :-X :-X

36 posts :: Page 2 of 4