Symulator EU07 (i nie tylko) > Na warsztacie
Sterowanie ruchem przez zewnętrzną aplikację
Krzysiek626:
Na Nvidi, odpalilem 1070304, bez zadnych problemow.
Paul:
W eu07++170304b komunikacja działa prawidłowo (nie licząc sypania się przy niektórych eventach, o czym napisałem w wątku exe). Jeżeli nadal pojawiają się problemy z ustawianiem przebiegów, podaj więcej szczegółów (które przebiegi, log).
firleju:
Trzeba delikatnie podsumować:
- W wizji Pawła każda instancja SCS steruje tylko jednym obiektem
- obiekt może być całą scenerią lub pojedynczymi stacjami, tak?
- w jaki sposób instancje SCS przekazują sobie informacje o kolejnych pociągach?
- czy jest sens uruchamiać więcej niż jedną instancję jeśli nie mamy multiplayera?
- może osobne scenerie dla muli i osobne dla single, wtedy wiele rzeczy by się upraszczało
- należy posiadać warstwę nadrzędną zlecającą SCS poszczególne kroki (tj obecnie połączenie dyspozytora z dyżurnym jak mniemam)
- aby to działało potrzebny jest opis senariusza (co jak sądzę jest w opracowaniu)
- aby móc zrobić docelowo miltiplayer potrzeby jest hub wymieniający dane, więc można to wykonać od razu
- w każdej opcji dobrze jest przenieść komunikację na TCP. Co do big/little indian może to robić hub, i tak będzie musiał być osobnym procesem / programem
Paul:
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- W wizji Pawła każda instancja SCS steruje tylko jednym obiektem
- obiekt może być całą scenerią lub pojedynczymi stacjami, tak?
--- Koniec cytatu ---
Tak, instancja SCS steruje "tylko" pojedynczymi stacjami lub całą scenerią. Czym więcej miałby sterować?
Przewiduję ponadto możliwość zmiany zasięgu sterowania, np. wprowadzone są dane całej scenerii, a obejmowane jest sterowanie połową stacji. Druga połowa stacji może być sterowana czymś innym, albo może jej nie być (przy modułowej budowie scenerii z wybranych odcinków, czy tam komórek scenerii).
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- w jaki sposób instancje SCS przekazują sobie informacje o kolejnych pociągach?
--- Koniec cytatu ---
Tym zająłby się serwer trzymający topografię sieci, stan blokad i pip (numery pociągów), do którego logowały by się instancje SCS (albo inne aplikacje sterujące, np. pulpit kostkowy). Ale na razie to tylko koncepcja.
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- czy jest sens uruchamiać więcej niż jedną instancję jeśli nie mamy multiplayera?
--- Koniec cytatu ---
Niezbyt. Chyba że multiplayer typu kilku dyżurnych steruje jednym maszynistą...
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- może osobne scenerie dla muli i osobne dla single, wtedy wiele rzeczy by się upraszczało
--- Koniec cytatu ---
Raczej wspólne, a przynajmniej ze wspólnym opisem infrastruktury i otoczenia, różniące się ewentualnie jakimiś incami ze szczegółami sterowania. Nie powinno być ograniczeń zastosowania scenerii tylko offline, lub tylko w multiplayerze.
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- należy posiadać warstwę nadrzędną zlecającą SCS poszczególne kroki (tj obecnie połączenie dyspozytora z dyżurnym jak mniemam)
- aby to działało potrzebny jest opis senariusza (co jak sądzę jest w opracowaniu)
--- Koniec cytatu ---
Multiplayer z dyżurnymi nie wymaga warstwy nadrzędnej - dyżurni sami będą sterować. Gdy sterowanie ma być automatyczne, SCS potrzebuje planu przebiegów, będącego czymś w rodzaju opisu scenariusza (co, skąd, dokąd, kiedy ma pojechać), i to już działa. W razie potrzeby można dodać warstwę nadrzędną która będzie dynamicznie modyfikować plan przebiegów, czyli zarządzać ruchem.
--- Cytat: firleju w 06 Marca 2017, 18:41:39 ---- aby móc zrobić docelowo miltiplayer potrzeby jest hub wymieniający dane, więc można to wykonać od razu
- w każdej opcji dobrze jest przenieść komunikację na TCP. Co do big/little indian może to robić hub, i tak będzie musiał być osobnym procesem / programem
--- Koniec cytatu ---
Z pewnością jakiś hub musi być, jeżeli w symulacji ma brać udział coś więcej niż jedna instancja EU07 i jedna SCS. Na potrzeby sterowania hub będzie przekazywał polecenia i meldunki stanów między EU07 i instancjami SCS/innych aplikacji sterujących. Na poziomie huba lub za hubem z mojej strony potrzebny będzie jeszcze jakiś serwer zajmujący się działaniem blokad i przekazywaniem informacji pomiędzy SCS/aplikacjami sterującymi, oraz być może dodatkowo zarządzający uprawnieniami do sterowania poszczególnych stacji przez poszczególne aplikacje nastawni, trzymający stany sterowania na wypadek wyłączenia się klienta nastawni. Otwarta pozostaje kwestia roli i zasad działania huba przy wielu instancjach EU07.
tmj:
Jesli pojawi sie serwer tcp w exe, to mozna by pomyslec o czyms w stylu, mozliwosc uruchomienia exe w trybie 'master', do ktorego moga nastepnie podlaczac sie inne exe (niekoniecznie symulator, rowniez SCS itd) i rejestrowac sie jako a) kontroler okreslonego pojazdu b) zrodlo komunikatow/eventow dla obiektow (jak rowniez liste obiektow ktorych stanem jest zainteresowany, zeby nie pchac stanu calej trasy do kazdej stacji) I w takim ustawieniu 'master' przekazuje otrzymane sygnaly od zarejestrowanych klientow do pozostalych, a kazdy klient juz sobie we wlasnym zakresie liczy/wizualizuje symulacje. Idealnie synchronizowane to nie bedzie, bo wejda opoznienia sieci itp, wiec komunikacje trzeba bedzie troche poszerzyc, ale w praktyce bylby to calkiem funkcjonalny multiplayer.
Nawigacja
[#] Następna strona
Idź do wersji pełnej