Ankieta

Czy uwazasz, ze wprowadzenie pytona (jezyk programowania), ulatwi Tobie pisanie sceneriuszy?

Tak
13 (41.9%)
Nie
3 (9.7%)
Nie wiem
11 (35.5%)
Utrudni
4 (12.9%)

Głosów w sumie: 31

Autor Wątek:  Pisanie scenariuszy i Pyton  (Przeczytany 6096 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Pisanie scenariuszy i Pyton
« dnia: 05 Października 2016, 09:40:11 »
Tak z ciekawosci zalozylem ankiete, aby przekonac sie, czy moja intuicja jest prawdziwa czy moze bledna. Dokladnie nie wiem jak by to mialo wygladac, ale mysle, ze aby napisac scenariusz, musisz nauczyc sie tego jezyka w jakims tam stopniu.
« Ostatnia zmiana: 05 Października 2016, 10:13:58 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #1 dnia: 05 Października 2016, 10:01:43 »
Trzeba nauczyć się języka oraz stworzyc api do niego. W zależności od tego jak zrobić to api to będzie ro łatwiejsze lub nie od tego co mamy teraz.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #2 dnia: 05 Października 2016, 10:18:46 »
Ja dodam, ze mozna tutaj pisac, co byloby dla Was najlepsze (takie fantazje, koncert zyczen). Jak sobie wyobrazacie skryptowanie scenerii, aby to bylo dla Was latwe, przyjemne itp :)

Offline HTD

  • Wiadomości: 697
  • "Twoja stara mieszka w Boldach" xD
    • Zobacz profil
    • I like trains
  • Otrzymane polubienia: 30
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #3 dnia: 05 Października 2016, 10:51:08 »
To tak dla zobrazowania, co jest dla Was bardziej czytelne:

node 800 0 drawinowo_mem1 memcell 0 0 0.5 pr 0 0 none endmemcell
node 800 0 drawinowo_mem2 memcell 2 0 0.3 pr 0 0 none endmemcell
node 800 0 grabowek_mem1 memcell 3 0 0.0 pr 0 0 none endmemcell
node 800 0 grabowek_mem2 memcell 4 0 0.2 pr 0 0 none endmemcell
node 800 0 grabowek_mem3 memcell 14 2 0.2 pr 0 0 none endmemcell
node 800 0 grabowek_pzs_mem1 memcell 4 0 0.8 pr 0 0 none endmemcell
node 800 0 grabowek_lachy_mem1 memcell 3 1 6 pr 0 0 none endmemcell
node 800 0 grabowek_lachy_mem2 memcell 3 2 6 pr 0 0 none endmemcell
node 800 0 wlodowice_mem1 memcell 4 2 0.2 pr 0 0 none endmemcell //wjazd od strony WDZ
node 800 0 wlodowice_mem2 memcell 4 5 0.1 pr 0 0 none endmemcell //wjazd od strony Lachów po towarowych
node 800 0 wlodowice_mem3 memcell 8 15 0.1 pr 0 0 none endmemcell //wjazd od strony Lachów po ekspresowych
node 800 0 wlodowice_zach_mem1 memcell 4 6 0.2 pr 0 0 none endmemcell
node 800 0 wlodowice_zach_mem2 memcell 2 6 0.5 pr 0 0 none endmemcell
node 800 0 grodzisk_zach_mem1 memcell 14 6 0.4 pr 0 0 none endmemcell
node 800 0 grodzisk_zach_mem2 memcell 24 6 0.8 pr 0 0 none endmemcell
node 800 0 stawiska_mem1 memcell 14 26 0.3 pr 0 0 none endmemcell
node 800 0 stawiska_mem2 memcell 12 28 0.3 pr 0 0 none endmemcell
node 800 0 mizerow_mem1 memcell 24 36 0.3 pr 0 0 none endmemcell
node 800 0 mizerow_mem2 memcell 15 46 0.3 pr 0 0 none endmemcell
czy
drawinowo1 = 'pr'
drawinowo2 = 'pr'
grabowek1 = 'pr'
grabowek2 = 'pr'
grabowek3 = 'pr'
grabowek_pzs1 = 'pr'
grabowek_lachy1 = 'pr'
grabowek_lachy2 = 'pr'
wlodowice1 = 'pr'
wlodowice2 = 'pr'
wlodowice3 = 'pr'
wlodowice_zach1 = 'pr'
wlodowice_zach2 = 'pr'
grodzisk_zach1 = 'pr'
grodzisk_zach2 = 'pr'
stawiska1 = 'pr'
stawiska2 = 'pr'
mizerow1 = 'pr'
mizerow2 = 'pr'
?

event grabowek_lachy_przelot1 multiple 1.0 none grabowek_lachy_zwr09+ grabowek_lachy_zwr07- grabowek_lachy_zwr06- grabowek_lachy_zwr04- grabowek_lachy_zwr03- grabowek_lachy_j12_s6 grabowek_lachy_utwierdz_przebieg1 endevent
czy
def grabowek_lachy_przelot1:
    delay(1)
    grabowek_lachy_zwr09('+')
    grabowek_lachy_zwr07('-')
    grabowek_lachy_zwr06('-')
    grabowek_lachy_zwr04('-')
    grabowek_lachy_zwr03('-')
    grabowek_lachy_j12('s6')
    grabowek_lachy_utwierdz_przebieg1()
?

event grabowek_lachy_przelot2 multiple 1.0 grabowek_lachy_mem1 grabowek_lachy_zwr04+ grabowek_lachy_zwr03+ grabowek_lachy_zwr07+ grabowek_lachy_zwr06+ grabowek_lachy_g_s2 grabowek_lachy_utwierdz_przebieg1 condition memcompare pr * * endevent
czy
def grabowek_lachy_przelot2:
    if grabowek_lachy1 == 'pr':
        grabowek_lachy_zwr04('+')
        grabowek_lachy_zwr03('+')
        grabowek_lachy_zwr07('+')
        grabowek_lachy_zwr06('+')
        grabowek_lachy_g('s2')
        grabowek_lachy_utwierdz_przebieg1()

W jaki sposób to ma utrudnić cokolwiek? Teraz jak się pomylisz w edycji skryptu - symulator się wysypie po 3 minutach ładowania scenerii. Jak się pomylisz w skrypcie Pythona, to przy sporej części pomyłek czy literówek dostaniesz od razu komunikat błędu ze wskazaniem w której linii a nawet w której kolumnie masz pomyłkę. Oczywiście przy założeniu, że te skrypty będą się kompilować przed załadowaniem scenerii. Przy okazji nie da się nieczytelnie sformatować skryptu Pythona, bo stałby się niepoprawny i spowodowałoby to błąd składni.

Składnię skryptu w Pythonie wymyśliłem "na kolanie" przed chwilą na potrzeby przykładu, wklejony fragment to początek sterowania dla Drawinowa.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #4 dnia: 05 Października 2016, 11:00:18 »
Dla mnie obydwa jednakowo trudne. Uzytkownik, chcacy napisac scenariusz, nie powinien klepac if, if, if.... I w tych ifach czarna magia. powiem wiecej, dla mnie moze byc nawet tak:
ddhdhd ttototi ggjgj
gjgjgj hutru hex56
fdhfhff gggg quryy
Byleby to co powyzej tworzylo sie automatycznie i mialo swoj logiczny sens i maszyna by to rozumiala. Innymoi slowy, prosty w obsludze skrypter, ktory skryptuje scenerie, a czy to bedzie kod hex, maszynowy, bin, pyton, eventy, nie ma znaczenia. Znaczenie ma tylko latwosc obslugi skryptera.
Ja sobie taki skryper napisalem. Ja klikam, on mio automatycznie tworzy eventy, komorki pamieci jesli trzeba, eventy warunkowe. Nawet nie wnikam w nazwy. Stworzyl jakas dziwna nazwe, niech sobie bedzie. Nazwa mi do niczego nie jest potrzebna. Nie wnikam, co skrypter tam wypisuje, nie interesuje mnie zawartosc memcompare, nad tym czuwa skrypter. Klikam i ma sie samo tworzyc, czuwac itp.
« Ostatnia zmiana: 05 Października 2016, 11:28:55 wysłana przez Mariusz1970 »

Offline HTD

  • Wiadomości: 697
  • "Twoja stara mieszka w Boldach" xD
    • Zobacz profil
    • I like trains
  • Otrzymane polubienia: 30
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #5 dnia: 05 Października 2016, 13:58:48 »
Pewnie, że będzie lepiej, jak się będzie samo tworzyć. No ale chyba wiesz ile z tym roboty jest. Znajdź sponsora (PKP? ;)), zatrudnij mnie do tego i z miłą chęcią to zrobię, z resztą, kto powiedział, że sam, ludzi na forum chętnych do zrobienia tego jest sporo, problem w tym, że każdy gdzieś pracuje i nie ma czasu. A i tak robią od groma dobrej roboty poprawiając MaSzynę od nastu lat już. Ale małymi kroczkami, tak ambitne rzeczy jak przyjazny edytor to za duże na tworzenie w czasie wolnym po godzinach. To już by trzeba na full-time robić. Dla mnie byłaby to praca marzeń, nie wyobrażam sobie lepszej roboty. No ale chyba chętnych do sponsorowania brak jak na razie. Widzę, że @Ra próbował zbierać fundusze, ale opornie to idzie. Nie mówiąc już o tym, że i tak chyba robią to za pół darmo, a @Ra i tak musi pracować u siebie w robocie bo z samego robienia dodatków do MaSzyny nikt by się dziś nie utrzymał. Kurcze, spółki PKP mają dość kasy na coś takiego - robią jakieś wystawy, muzea kolejowe utrzymują, mogliby w ramach promocji zasponsorować symulator dla mikoli. Remont jednej lokomotywy to koszt liczony w milionach zł, u mnie w Gdyni widziałem za to jak nowe wagony zostały zdewastowane, bo kwitły na bocznicy i nie były wystarczająco pilnowane. A stały przez jakiś idiotyczny błąd biurokracji. Strata rzędu już chyba nastu milionów zł. Kurde, szkoda, że nie znam nikogo w tych firmach, bo bym ich męczył o wsparcie. Mają tyle kasy, tylko trzeba by ich jakoś przekonać, żeby wykaszleli tą kasę. Na crowd-funding bym nie liczył za bardzo, zbyt niszowy temat.

Teraz co do TD2. Ściągnąłem ostatnią wersję, pojeździłem, przyjrzałem się jak tam rzeczy niektóre banglają i wiesz co Ci powiem? Tyłka nie urywa. W porównaniu z MaSzyną jeszcze bardzo niedojrzałe, sprawia wrażenie ogromnego uproszczenia wszystkiego. No w końcu to jeszcze beta, ale jakoś nie widzę, żeby rozwój szedł pełną parą i dużo się działo w temacie dodatków, scenerii itd. Z tego co wiem tam też są skrypty do tego. Milion razy prostsze niż te w MaSzynie, ale nie mają jakiegoś narzędzia jak w jakiś Trainzach. Do tego dużo się w tych skryptach osiągnąć nie da. Niby zrobisz scenerię w 1 dzień, problem w tym, że wszystkie wyglądają prawie tak samo, bo za bardzo się nie da inaczej (jeszcze). Niby silnik graficzny porządniejszy, ale tylko na pierwszy rzut oka. Niesamowicie podekscytowałem się cieniami, których w MaSzynie nie ma, ale jak przyjrzałem się chociażby wygładzaniu krawędzi to jest tragedia. Jakość detali taboru czy budynków - no daleko jej do tych z MaSzyny. Do tego przy tej niezbyt dopracowanej grafice to jeszcze tak koszmarnie przycina, że MaSzyna jest demonem prędkości w porównaniu.

Nie ma niekomercyjnego symulatora pociągu, który mógłby podskoczyć do MaSzyny. Jest MaSzyna i długo, długo nic. I dalej nieśmiałe próby, bo TD2 jak dla mnie jest dopiero eksperymentem. Bardzo udanym, jak na eksperyment, wspaniale wyglądającym i działającym, jak na wersję beta. Byłoby kiedyś super, gdyby te projekty się znów połączyły. Nie wiem czy to możliwe, to już wymagałoby dobrej woli developerów z obu stron. A z tego co wiem nie wszyscy mają taką dobrą wolę i już było tak, że ludzie zostali odstraszeni od publikowania swoich dodatków na tym forum. Już nie chcę pokazywać palcem, ale nie podoba mi się to. Dlatego mi się nie podoba, bo można by naprawdę dużo więcej zdziałać, gdyby grać bardziej zespołowo, a nie każdy sobie, w konflikcie z innymi. Żeby nie było, że jałowo krytykuję: jestem pod niesamowitym wrażeniem jak w tych średnio sprzyjających okolicznościach MaSzyna wygląda i działa tak dobrze. Jestem pod wrażeniem geniuszu i ogromu pracy, które w zasadzie codziennie ludzie w to ładują. Chapeau bas.

Wydaje mi się, że myślisz o czymś bardziej w stylu Trainza. Marzenie każdego fana MaSzyny, problem w tym, że tego się niekomercyjnie albo nie da zrobić, albo się da, ale to jeszcze parę lat potrwa.

Offline Benek

  • Moderator
  • Wiadomości: 4504
  • fb.com/benek.maszyna
    • Zobacz profil
    • Moja strona o MaSzynie
  • Otrzymane polubienia: 17
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #6 dnia: 05 Października 2016, 14:19:12 »
Zmiana kodu na inny kod nie bardzo ma sens. Musiałby powstać jakiś interfejs graficzny. Najlepiej coś takiego jak podgląd scenerii w Rainsted z możliwością oznaczania dróg przebiegu na poszczególnych posterunkach. Takie coś jest oczywiście wykonać trudno, łatwiej zrobić prosty interfejs graficzny z przyciskami, gdzie zamiast klepania kodu można byłoby go sobie wygenerować za pomocą odpowiedniej kombinacji klikań. A to w Pythonie da się zrobić dość łatwo.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #7 dnia: 05 Października 2016, 14:20:56 »
HDT, mysle nad tym, co zaczalem robic-interface graficzny + generowanie eventow przebiegow, tylko teraz kwestia spiecia tego w calosc+ pomysl(y) na skryptowanie scenerii jako calosci. Nie trzeba zadnego sponsora. pare spotkan madrych glow i duza czesc teraz pisanych recznie, moze juz byc automatycznie, lacznie z interfacem grafficznym.. To co proponujesz, to kolejny polsrodek. Syrenke zamieniamy na Trabanta w tym kontekscie, ktory mam na mysli. No dobra, na Fiata125, niech Ci bedzie ;)
« Ostatnia zmiana: 05 Października 2016, 14:38:00 wysłana przez Mariusz1970 »

Offline dymus

  • Zasłużony dla Symulatora
  • Wiadomości: 1046
    • Zobacz profil
  • Otrzymane polubienia: 274
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #8 dnia: 05 Października 2016, 14:59:18 »
Sterowanie można by założyć o SCS autorstwa Pawła Okrzesika. Program umożliwia sterowanie przebiegami z pulpitu, układanie rzebiegów, blokowanie ich itp. Możliwa jest komunikacja w obie strony. Sterowanie pod katem sceneriuszy mogłoby obejmować proste komendy jakimi się steruje (semafor1 semafor2 poc - semafor1 i semafor2 punkt początkowy i końcowy oraz poc rodzaj przebiegu). Program sam ustawia zwrotnice oraz blokuje przebieg. Sama komunikacja program - maszyna wykonuje się przez istniejące eventy. Wymagałoby do dostosowania scenerii (odcinki izolowane), zrobienia takich pulpitów do każdej scenerii, oraz rozwiązanie przesyłania komend sterujących scneriuszami (oprócz semafor1 semafor2 poc   to przydałoby się sterowanie np. gdy jeden tor zajęty, to wysyłanie na inny, coś w stylu if(Iz_tor1)=1 to wtedy zestawienie na inny przebieg na inny tor. Jeśli dodatkowo przyjąc do tego że SCS potrafi przypisać numer pociągu - a potrafi - do przebiegu, można zastosować sterowanie inteligentne, obierające się na zależnosci w przebiegu, kolejnośći, zajętosci toru, a ustawienie przebiegu zostawić samemu programowi. Przykładowo tak to wygląda (wersję testową programu oraz scenerii otrzymałem od Pawła, za co bardzo dziękuję).

Screeny:
1. Pulpit i sceneria, widoczna zajętość toru.
2. Ustawienie przebiegu przez komendę (można też normalnie przez klikanie myszą na semafory), ale tutaj przykład komendy jaka mogłaby wyjść z MaSzyny.
3. Ustawianie się przebiegu.
4. Ustawiiony i zatwierdzony przebieg.

W skrócie wystarczyłoby dostować scenerie (wygaszanie semaforów, odcinki izolowane). Wymyślić sposób na przesył komend (sem1 sem1 poc,   tm10 tm11 man) oraz ich uzależnienie od stanu zajętosci toru, tak żeby w  przypadku zajętego toru, można było skierować poc na inny tor, albo inne tego typu rzeczy, oraz pewnie to żeby sam program pracował w tle, a nie trzeba było mieć do uruchomionego "na wierzchu" razem z maszyną, tylko gdzieś w tle niewidocznego oraz samo sterowanie przebiegów ze sceneriuszy, ale juz w sensie początek-koniec poc przebieg, a nie zwrotnica1, zwrotnica2..., semafor1 dodatkowo nie trzeba by zastanawiać się jaki sygnał na semafor wyświtlić, bo juz sam program zadecyduje przy danym przebiegu dany sygnał - także uwzględnienie skróconych dróg hamowania.
« Ostatnia zmiana: 05 Października 2016, 15:11:40 wysłana przez dymus »

Offline HTD

  • Wiadomości: 697
  • "Twoja stara mieszka w Boldach" xD
    • Zobacz profil
    • I like trains
  • Otrzymane polubienia: 30
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #9 dnia: 05 Października 2016, 15:14:39 »
Hm, ale co masz na myśli, wykorzystanie tego softu jak jest, czy autor mógłby dostosować go trochę na potrzeby MaSzyny? Pomysł jest super, już mi się podoba. Nie mam tylko pojęcia jak można by układ torowy z MaSzyny przenieść na taki schemat jak na screenach. Wydaje się dość trudne. Tzn trudne pod kątem automatu, bo ręcznie nie ma problemu, poza setkami godzin klikania.

Offline dymus

  • Zasłużony dla Symulatora
  • Wiadomości: 1046
    • Zobacz profil
  • Otrzymane polubienia: 274
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #10 dnia: 05 Października 2016, 16:08:01 »
Wykorzystanie go, oraz oczywiście pewne dostosowanie, bo i ile już teraz jest to bardzo przydatny program, to trzeba by to bardziej powiązać z maszyną i scneriuszami, min. z tego co mi Autora pisał, to w .inc'ach zwrotnic trzeba będzie dodać wpisy wykrywające ich rozprucie, tak zeby program rozpoznawał że taka sytuacja nastapiła. Schematy takie jak na sceenach niestety trzeba robić ręcznie, ale ogólnie mówiąc nie jest to aż tak dużo pracy, na poczatku faktynie jest to trudne, ale jak zrozumie się co i jak, mozna robić szybciej. Poza tym raz zrobione schematy do scenerii byłyby przydatne cały czas, bo opierałyby się na tym samym układzie, tych samych odcinkch izolowanych.

Offline Kacper9

  • Wiadomości: 94
    • Zobacz profil
  • Otrzymane polubienia: 11
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #11 dnia: 05 Października 2016, 21:39:05 »
Wykorzystując ANP można schować ten program.

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #12 dnia: 06 Października 2016, 17:13:06 »
No dobrze, widze, ze pyton raczej sie bedzie podobal. Nie, zeby byl szal, ale jednak. Mylilem sie. Nie wiedzialem, ze w przewadze beda ludzie z zacieciem progamistycznym, bo jakos tego na forum do tej pory nie zauwazylem. Musialem cos przeoczyc... Co prawda jeszcze zbyt malo ludzi wzielo udzial w ankiecie, aby wyciagac jednoznaczne wnioski, ale jakis obraz jest.



  Dodano: 06 Października 2016, 18:03:02
W sumie, pisanie reczne i wymyslanie swoich algorytmow sterujacych za kazdym razem, debugowanie, tez ma swoj urok ;)
« Ostatnia zmiana: 06 Października 2016, 18:03:02 wysłana przez Mariusz1970 »

Offline firleju

  • Zasłużony dla Symulatora
  • Wiadomości: 1588
  • bawię się (w) exe...
    • Zobacz profil
  • Otrzymane polubienia: 121
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #13 dnia: 06 Października 2016, 20:55:04 »
Mariusz, w porównaniu do assemblera to każdy język poziomu pythona jest rewelacyjny.
Skrypty do Blendera dostępne tutaj
W miarę aktualne wiki EXE wiki.eu07.es

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #14 dnia: 06 Października 2016, 20:59:17 »
Fireju, wiem, ale moim zdaniem nie powinno byc to rozwiaznie docelowe i przede wszystkim tutaj jest nasz spor. Myslalem nad czyms przelomowym, a nie na jakims tam kroczku w przod. Chyba, ze to sie pozniej rozwinie :)
« Ostatnia zmiana: 06 Października 2016, 21:03:44 wysłana przez Mariusz1970 »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10133
    • Zobacz profil
  • Otrzymane polubienia: 2610
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #15 dnia: 06 Października 2016, 21:08:23 »
Pytanie jest postawione "czy python ułatwi pisanie scenariuszy" a nie "czy jest idealnym narzędziem do pisania scenariuszy. Tak. Nie. ;)
Mój kanał youtube

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3927
    • Zobacz profil
  • Otrzymane polubienia: 287
Odp: Pisanie scenariuszy i Pyton
« Odpowiedź #16 dnia: 06 Października 2016, 21:44:20 »
Kontekst pytania jest jasny dla srednio rozgarnietego ludzia. Nie bede przeciez w ankiecie robil gradacji dla kazdej z opcji.
Ale powiem tak, mnie to juz zaczyna byc wszystko jedno. Gubie sie co do ludzi, ich zdolnosci itp, jesli chodzi o to forum.
EOT
« Ostatnia zmiana: 06 Października 2016, 21:47:17 wysłana przez Mariusz1970 »