Autor Wątek: Taki sobie prosty pomysł na implementację MP.  (Przeczytany 2033 razy)

Offline macieksoft

  • Użytkownik
  • Wiadomości: 17
    • Zobacz profil
  • Skąd: Tychy
Taki sobie prosty pomysł na implementację MP.
« dnia: 02 Listopad 2016, 22:41:57 »
Na taki sobie pomysł wczoraj wpadłem. Nie wiem czy na coś się przyda ale zawsze mogę napisać.

Wszystko było by zrobione bez jakiegokolwiek serwera.
Połączenia między dyżurnymi były by peer 2 peer. To znaczy bezpośrednio. Każdy dyżurny łączył by się z przyległymi dyżurnymi (graczami).
Wysyłane dane to stan blokady liniowej oraz składy które były by przekazywane między graczami. Trzeba by było tylko ogarnąć czas symulacji, tak aby każdy miał ten sam. Czyli raczej odpadają pauzy i przyspieszenia czasu i pozostaje czas rzeczywisty. Trzeba by także było zadbać o stan początkowy symulacji podstawiając sobie odpowiednie składy na stację.

Jeśli jakiś skład byłby wysyłany z jednego posterunku na drugi to po minięciu "granicy" znikał by z jednego komputera kompletnie (czyli brak składu na podglądzie sytuacji w terenie i brak komunikacji z nim) i pojawiał się na drugim komputerze. Oczywiście były by przesyłane dane o całym składzie, czyli typ loka, wagony itp. oraz oczywiście prędkość i opis/numer składu.

I tak można by zrobić taki prosty i prymitywny MP. Potem pozostaje technologia VOIP dla symulacji telefonu.

Rozwiązanie bardzo prymitywne, ale przynajmniej względnie łatwe do wprowadzenia.

W zasadzie kilka niezależnie działających symulacji, tylko że z przesyłaniem loków między komputerami i oczywiście współdzieloną blokadą liniową.

« Ostatnia zmiana: 02 Listopad 2016, 22:44:42 wysłana przez macieksoft »

Offline Paweł

  • Administrator
  • Użytkownik
  • Wiadomości: 725
    • Zobacz profil
    • Beskidzka Strona Kolejowa
  • GG: 5965963
  • Skąd: Kęty
Odp: Taki sobie prosty pomysł na implementację MP.
« Odpowiedź #1 dnia: 03 Listopad 2016, 13:48:10 »
Temat MP był wstępnie przerabiany i po pierwszych doświadczeniach z prowizorycznie połączonymi posterunkami stwierdziłem, że koncepcja peer-to-peer sprawia pewne problemy i potrzebny jest serwer symulacji. Rozważam obecnie dwie wersje takiego rozwiązania.

W prostszej wersji, podobnie jak napisałeś, symulatory stacji wymieniają między sobą sygnały blokad liniowych i składy dojeżdżające do punktów styku między symulacjami, przy czym synchronizacja czasu, działanie całej symulacji i komunikacja między aplikacjami koordynowana jest przez serwer. Serwer może być obsługiwany przez kogoś kto nadzoruje całą symulację, wówczas ma możliwość np. zatrzymania symulacji czy skoordynowanego zapisu/odczytu stanu. Zmiana tempa też jest do zrobienia, choć nie wiem na ile ma to sens przy kilku użytkownikach.

Symulacja każdej stacji w innej aplikacji ma jednak taką wadę, że w razie rozłączenia się i wyłączenia jednej ze stacji ginie ta część symulacji. Bardziej skomplikowanym rozwiązaniem byłoby symulowanie stacji na serwerze i podłączanie się klientów obejmujących obsługę pulpitu czy innych urządzeń na zasadzie zdalnego sterowania. Powiązanie stacji na serwerze tak jak w rozwiązaniu pierwszym lub jako jeden okręg. W razie braku użytkownika stację bez większego problemu przejąć może ktoś inny, w miarę możliwości może też działać automatycznie (jazdy pociągowe według rozkładu jazdy). Łatwiejsze będzie również potencjalne powiązanie z sieciowym symulatorem jazdy.

Myślę że jeżeli powstanie coś w tym rodzaju do symulacji przez Internet, to raczej to będzie drugie rozwiązanie z uproszczoną obsługą (bez części funkcji dostępnych obecnie w ISDR). Przygotowane są już pod to nowe moduły urządzeń stacyjnych i pulpitu, jednak pozostaje nadal sporo do zrobienia przy innych częściach symulatora.

Offline Ra

  • Użytkownik
  • Wiadomości: 26
    • Zobacz profil
  • GG: 1895433
  • Skąd: Polska
Odp: Taki sobie prosty pomysł na implementację MP.
« Odpowiedź #2 dnia: 06 Listopad 2016, 17:27:03 »
Też uważam, że uruchomienie serwera ruchu (trzymającego stan urządzeń i ewentualnie potrafiącego prowadzić ruch automatycznie) ma więcej sensu niż uzależnianie się od użytkowników, którym może paść połączenie, zasilanie, albo którym nagle mogą pojawić się ważniejsze zajęcia. Ewentualnie może być kilka komunikujących się ze sobą serwerów, ale ich istnienie nie może być uzależnione od działań użytkowników. Jak działa multiplayer ze stacjami serwowanymi przez graczy można sobie poobserwować na Train Driver 2.