Symulator EU07 (i nie tylko) > Poszukuję, chcę zrobić
Pulpity kostkowe i przebiegi
matfre96:
--- Cytat: tomekilawa w 18 Sierpnia 2010, 12:47:22 ---Po co mamy się bawić w tworzenie planów i tracić czas skoro będzie generator który załatwi sprawę w dosłownie minutkę? Teraz są ważniejsze rzeczy do zrobienia takie jak lista przebiegów i rozkłady jazdy. Wy chcecie się na siłę bawić w jakieś kostki..., bo myślicie że jak coś takiego zrobicie to zabłyśniecie jako developerzy? ;] (kieruję to szczególnie do @epoka9.24).
--- Koniec cytatu ---
No tak, najlepiej za przeproszeniem, zje..ć kogoś kto chce coś zrobić dla symulatora, i nie chodzi mi o developowanie bo głupiej bitmapy nie można porównywać z np. nowym 4E. Nie znam się na pisaniu eventów dlatego chcę zrobić coś co potrafię, jeśli mnie nauczysz pisać eventy to z chęcią pomogę w innych rzeczach.
Uważaj na słowa! Pierwsze zdanie można przedstawić w bardziej łagodniejszy sposób.
/ Żuk
puma2091:
A więc rozumie się że sprawa AI jest już załatwiona. Okej więc EOT.
A tu udostępniam paczkę z opisem/spisem prawie wszystkich* urządzeń dla Krzyżowej i Chełminowa.
*Brakuje przejazdów.
Paul:
Witam
Jakiś czas temu zabrałem się za tworzenie programu, który mógłby służyć do sterowania ruchem w EU07. Program ma dosyć duże możliwości, jest prosty jeżeli chodzi o "programowanie scenerii" i uwzględnia podstawowe zasady prowadznia ruchu, ale z braku zainteresowania zarówno użytkowników jak i developerów, moich ograniczeń sprzętowych (które praktycznie wykluczają zabawę w EU07), poważnych ograniczeń możliwości sterowania w EU07 oraz pracy nad własnym symulatorem zawiesiłem prace nad nim. Tak więc wychodzi na to że powstał bardziej jako eksperyment i dla własnej satysfakcji, niż jako praktyczne zastosowanie. W razie czego mogę jednak do niego wrócić.
Idea jest taka, że mamy zewnętrzny program który wysyła nazwy eventów do odpalenia w EU07 (przestaw zwrotnicę, wyświetl sygnał), natomiast EU07 odsyła do programu meldunki o stanie urządzeń w scenerii (odpalono event przestawiania zwrotnicy, wyświetlono sygnał, wjechano na odcinek). Interfejs programu wygląda tak jak typowy komputerowy system SRK. Układ torów, urządzeń i ich parametry edytowane są graficznie i jednocześnie pełnią funkcję zależnościową - program sam wyszukuje i nastawia przebiegi według podanych punktów początkowych i końcowych. Jednocześnie program śledzi ruch poszczególnych pociągów, co pozwoliło by na pewną automatyzację prowadzenia ruchu (nastawianie przebiegów według informacji o położeniu pociągów i rozkładzie jazdy).
Program powstał raczej jako próba rozwiązania problemu sterowania ruchem w EU07, a nie robienia "multi" - jak wiadomo eventy są rozwiązaniem kłopotliwym i mają bardzo ograniczone możliwości, więc program miał by być uruchamiany "w tle" razem z symulatorem i przejąć funkcję eventów, zostawiając je jedynie w roli "warstwy wykonawczej". Nie mniej jednak myślę że dało by się go wykorzystać do tzw. "multi", łącząc się przez sieć z kilkoma symulatorami jednocześnie, wysyłając polecenia do wszystkich i odpowiednio analizując przysyłane zgłoszenia.
Poważnym problemem jest wykrywanie zajętości w EU07, a właściwie jej brak - rozwiązane to zostało poprzez rozmieszczenie w poszczególnych miejscach krótkich odcinków torów, które wysyłają zdarzenia zajęcia i zwolnienia, na podstawie czego program zaznacza zajętości między tymi odcinkami (np. tor stacyjny, tor szlakowy, tor między semaforem wjazdowym a głowicą rozjazdową, głowica rozjazdowa), ale jest to metoda zawodna i nieodporna na wjazd i cofnięcie z odcinka (łatwo można doprowadzić do sytuacji polegającej na stwierdzeniu zwolnienia niezajętości, mimo że tor faktycznie jest zajęty, bądź na odwrót) - żeby to w miarę działało, potrzebne było by dodanie nowych eventów dla toru (zajęcie w kierunku 1/2, zwolnienie w kierunku 1/2), a i tak będzie problem przy łączeniu i rozłączaniu (każda taka operacja będzie wymagała poprawienia informacji o zajętości toru, inaczej znowu może powstać fałszywa niezajętość). Problem może być jeszcze z właściwą interpretacją sygnałów przez AI - tu nie ma ustalonych misji i dokładnie przetestowanego ruchu pociągów kierowanych przez program, jeździmy dowolnie, tak jak pozwala układ torowy. Błąd AI rozwali całą zabawę.
Poniżej screen z programu - widoczne nastawione przebiegi a także wspomniane odcinki służące do śledzenia ruchu (małe trójkąty). Oczywiście program nie współpracuje z EU07 - zrobione jest jedynie "symulowanie" wykonywania eventów i odsyłania meldunków.
Ra:
Na chwilę obecną jestem w trakcie przerobienia sposobu wyświetlania grafiki w Symku i jeszcze mi na to zejdzie. Jak dojdę z tym do ładu, mogę coś zrobić w kierunku sprawdzania zajętości odcinków.
Zamierzam dodać eventy wyzwalane przy zajęciu i zwolnieniu toru. Nazwy tych eventów nie będą podawane wprost, jak to jest obecnie, ale tworzone niejawnie z nazwy toru. Przykładowo, jeśli tor ma nazwę t_11534, to eventy będą nazwane odpowiednio t_11534:busy oraz t_11534:free. Jeśli wpisy eventów o takich nazwach nie zostaną znalezione, to eventy się nie będą wykonywać. Również, jeśli tor będzie miał nazwę none. Trzeba będzie unikać nadawania tej samej nazwy różnym torom, gdyż spowoduje to zamieszanie. Rozwiązanie takie nie wymaga modyfikacji w istniejących sceneriach.
Osobną kwestią jest sprawdzanie zajętości toru złożonego z kilku odcinków. Najlepiej by było je jakoś zgrupować i zajętość sprawdzać na zamówienie (żeby nie robić tego niepotrzebnie). Tu można by pokombinować z nazwami torów - na użytek edytora opracowałem nazewnictwo z kropką, np. TG_t100.2, gdzie TG to kod stacji, t - litera pomocnicza, 100 - numer toru i 2 - numer odcinka (nazwy w tym formacie są kodowane jako liczby 32 bitowe). Tory z identyczną nazwą przed kropką znajdowałyby się automatycznie we wspólnej grupie. Zakładając, że ilość torów w grupie nie przekroczy 63, można by zrobić maskę bitową zajętości poszczególnych odcinków, a co za tym idzie generować eventy zajętości i zwolnienia takiej grupy.
W temacie AI do prześledzenia jest obsługa sprzęgów. AI nie może ich zrywać. Nie powinno być też możliwości ciągnięcia taboru, który pojechał po innym torze. Chcę również sprawdzić możliwość usuwania i wstawiania taboru podczas symulacji.
Nawigacja
Idź do wersji pełnej