Ocena wątku:
  • 0 głosów - średnia: 0
Pojazdy blokują się na rondach
#1
Cześć.

Już od dłuższego czasu mam problem z blokowaniem się pojazdów na skrzyżowaniach, a najbardziej na rondach, przez co potrafią się tragicznie zablokować i zatrzymać ruch w połowie miasta.

Chcę uzyskać efekt podobny do realnego, czyli wjeżdżając na rondo trzeba ustąpić pierwszeństwa, ale coś mi to nie wychodzi.



Normalną zasadą dla mnie jest ustawienie znaków, czyli pierwszeństwo dla tych co są na rondzie oraz ustąp dla wjeżdżających i dodatkowo możliwość wjazdu na skrzyżowanie kiedy jest zablokowane. Wtedy dzieje się to, że pierwsi jadą ci, którzy chcą wjechać na rondo, a nie ci którzy są na tym rondzie. Sens włączenia możliwości wjazdu na zablokowane skrzyżowanie ma taki sens, bo nie tworzą się mega korki przed rondem, na samym rondzie jest płynny ruch, ale może dojść do całkowitego zablokowania się ronda, a wtedy wszystko dookoła stoi. O ile jest to lokalne rondo, gdzie nie ma wielkiego ruchu, to jeszcze jakoś ujdzie, ale tak jak tutaj, gdzie u góry jest spora strefa przemysłowa, na dole wyjazd na autostradę, a na prawo wyjazd na miasto to dochodzi czasami do dantejskich scen.

Jak wyłączę możliwość wjazdu na skrzyżowanie kiedy jest zablokowane, to jako tako pierwszeństwo jest zachowane, ale samochody i tak zatrzymują się przed rondem, bo czekają aż pojazd przed nimi zwolni pas. Domyślam się, że chodzi o to, że korzystam z Node Cotroller'a do uzyskiwania gładszych zakrętów, za cenę krótszego pasa (na którym mieście się samochód lub dwa), ale jak pas będzie dłuższy, a skręt bardziej ciasny to i tak będą zwalniać, bo muszą ciaśniej wziąć skręt, więc tak źle i tak nie dobrze.

Jest jakaś możliwość aby miało to większy sens? Może robię coś źle? Źle myślę?

PS. Mam wrażenie, że coś jednak jest zepsute... Zmieniłem to konkretne skrzyżowanie z ronda, na zwykłe ze światłami sterowanymi osobno dla każdego pasa, oto co się na nim działo:



Część pasów to respektowała, część nie, chociaż wszystkie ustawiłem równo. 3 pasmowa droga, lewy pas na lewo, środkowy na wprost, prawy w prawo... Nawet włączając ręczną sygnalizację i czerwone dla ogólne dla każdego pasa, ten z dołu robił co chciał...
  Odpowiedz
#2
Jeżeli chodzi o rondo, to inaczej niż wyłączając możliwość wjazdu na zablokowane skrzyżowanie nie osiągniesz efektu prawdziwego ronda. Ta opcja po prostu musi być wyłączona, bo inaczej samochody w zasadzie ignorują postawione znaki. Tutaj dodatkowo na niekorzyść działa stosowanie jako wjazdu jednego, bardzo poszerzonego węzła. Lepszy efekt osiągnąłbyś albo tak jak sam zauważyłeś, zmniejszając w Node Controllerze szerokość poszczególnych stron węzła, albo tworząc podwójne połączenie z dróg jednokierunkowych - tj. czteropasmowa, dwukierunkowa aleja rozdziela się na dwie dwupasmowe drogi jednokierunkowe (w przeciwnych kierunkach). Wtedy otrzymujesz dwa węzły, ale za to krótsze, a przy dobrym wyprofilowaniu równie łagodne. Wtedy przepustowość powinna wzrosnąć (głównie chodzi tutaj o ten odcinek od początku węzła na drodze dojazdowej do połączenia z rondem - on jest zdecydowanie zbyt długi, przez co auta poruszają się wręcz pojedynczo).

Natomiast jeżeli chodzi o światła, odpowiedź jest bardzo prosta. Za krótkie odcinki dróg. Jeżeli na skrzyżowaniu fizycznie nie pojawi się sygnalizator (jak na dolnym wjeździe), to nie będzie on oddziaływał na ruch pojazdów. Musisz odsunąć to przejście z wąskiej drogi na aleję nieco "do tyłu" (w dół).
Oprócz tego w opcjach TM:PE jest coś takiego jak "lekkomyślność kierowców" czy coś w tym stylu. To również sprawia, że niektórzy mogą te czerwone światła ignorować.
  Odpowiedz
#3
Jako obecny opiekun TM:PE czuje się wywołany do tablicy więc...

Kilka tygodni temu znalazłem błąd w kodzie, bardzo stary, generalnie wygląda na to, że nawet pierwszy autor pierwszej wersji moda (prawie 7 lat temu) nie wiedział jak tak na prawdę ta gra symuluje pojazdy, a to, że większość funkcji działa przez 80% czasu to jest w dużej mierze zbieg okoliczności (bardzo proste przypadki, żadnych wyjątków od prostych reguł czy łączenia więcej niż jednej funkcji aby zadecydować co zrobić) i te pozostałe 20% czyli właściwie 99% związanych z realistycznymi przypadkami sprawia duże problemy.
Pewna część kodu, obliczająca co powinien zrobić pojazd dojeżdżając do skrzyżowania (czy pojazd może jechać czy nie) została zaprojektowana tak jak było wygodniej (z niewiedzy bądź premedytacji), niestety na tych obliczeniach opera się 60% innych funkcji moda. 
Eksperymentowałem z prostym fixem i tu już było widać ogromne zmiany w zachowaniu (problem z długością segmentów przestał istnieć, ustawienia priorytetów były respektowane aż za dobrze, pojazdy lepiej reagowały na widok pieszych na pasach itd.), niestety ta drobna zmiana, a właściwie dostosowanie tego małego kawałka kodu do tego jak faktycznie symulowany jest ruch może sprawiać nie lada problemy wydajnościowe w pewnych sytuacjach (w obszarach o dużej gęstości segmentów) i ciężko było przewidzieć gdzie się mogą pojawić się problemy (za mało czasu na testy) dlatego absolutnie żaden fix w związku z tym tematem nie pojawi się w 11.6 planowanym na premierę DLC(jutro, wtorek).


Obecnie w moich planach na 11.7 (czyli następny update) jest:

- kompletne przebudowanie i przyspieszenie AI parkowania: głównie wyeliminowanie efektu krążenia wśród pustych miejsc parkingowych celem znalezienia tego perfekcyjnego no i redukcja efektu dryfowania pojazdów przez pół mapy do miejsca parkingowego(tu można coś podziałać, choć dryfować zawsze będą, ale celem będzie max na długość pojazdu),

- zredukowanie efektu przetasowywania pojazdów jeśli przesuwamy jakieś skrzyżowanie, kawałek drogi czy budynek parkingu tak aby "rozrzucało" tylko i wyłącznie pojazdy które stoją zaparkowane na drodze bądź w konkretnym budynku który przesuwamy,

- adaptacja istniejącego kodu odpowiedzialnego za podejmowane decyzje na i przed skrzyżowaniami czyli de facto detekcja kolizji, pierwszeństwo przejazdu i eliminacja problemu ze zbyt krótkimi segmentami
 Podziękowali: SZyMeX , kabexxx , WooQash
  Odpowiedz

Witaj na Cities Skylines PL!
Aby dodać odpowiedź zaloguj się, lub zarejestruj nowe konto

Jedynie zalogowani użytkownicy mogą odpowiadać w wątkach

Szybka rejestracja

Możesz także skorzystać z opcji szybkiej rejestracji za pomocą facebooka.



Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości