atarionline.pl JoySTick - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1:
         
        CommentAuthorKaz
      • CommentTime1 Aug 2019 16:08 zmieniony
       
      Kiedyś, jeszcze w latach 90-tych, z Zygą popełniliśmy program "JoySTick". Był to program dla Atari ST/STE, napisany przeze mnie w GFA Basic po stronie dużego Atari, a w asemblerze przez Zygę po stronie małego Atari, który po podłączeniu Atari ST/STE do małego Atari stawał się takim superjoystkiem dla 8-bitowego Atari. W założeniu można było korzystać z dowolnego urządzenia podpinanego do ST/STE (joystick, mysz, joypad), żeby sterować grami na małym Atari. Można było wysłać grę do małego Atari. A do tego próbkowaliśmy, o ile dobrze pamiętam, 50 razy na ramkę stan joysticka i fire. Te dane były zapisywane, więc potem można było je wczytać... W teorii pozwalało to nagrać rozgrywkę, jak gramy na małym Atari, a potem ją odtworzyć... :D Niestety, w praktyce gdziś gubiły się ramki. Jakby ktoś chciał napisać taki soft dla Atari, to zmotywuje mnie to do poszukania źródeł.

      Przypomniał mi o tym programie dzisiaj PeriNoid, który szukał programu do sprawdzenia joypada. Na razie znalazłem tylko wersję 1.2, która zdaje się miała przygotowane procedury dla joypada, ale wtedy nie mieliśmy samego urządzenia, więc nie było jak sprawdzić poprawności jego działania :D

      Jakby ktoś chciał - to w załączniku PRG i TXT.
      • 2:
         
        CommentAuthorCOR/ira4
      • CommentTime1 Aug 2019 21:08 zmieniony
       
      Kuźwa ,już myślałem że ten pradawny z TVP 1 program o grach to wasze dzieło ;-) .

      Super pomysł , szczególnie podoba mi się to odtwarzanie ruchów .
      Rwało bo pewno powstawał LAG .
      • 3: CommentAuthorurborg
      • CommentTime1 Aug 2019 23:08
       
      A może rozszerzyć funkcjonalność o generowanie solucji tekstowych z zapisanych stanów joyaticka ;)
      • 4:
         
        CommentAuthorKaz
      • CommentTime2 Aug 2019 11:08
       
      I to jest świetny pomysł! Wtedy byłaby to prawdziwa solucja :D
      • 5: CommentAuthorQTZ
      • CommentTime20 Aug 2019 20:08 zmieniony
       
      @Kaz Kiedyś w wątku "Gry szerzej nieznane" o tym wspomniałeś - wstawiłeś nawet linki, niestety obecnie niedostępne, a pisałeś w nawiązaniu do podobnego rozwiązania, które znalazłem (posty 29 i 30). Wtedy przegapiłem Twoją prośbę, ale ponieważ wróciłem do tamtego wątku i znalazłem ją teraz postanowiłem tego rozwiązania poszukać - i myślę że chodziło o to: Tari-Talk.

      (Wtedy wspomniałem też o rozwiązaniu dotyczącym Midi dla małego Atari i jeszcze inne ciekawe programy... na głównej jest wyszukiwarka jakby co ;))

      Generalnie ciekawy pomysł... użycie drugiego komputera jako JoyStick-a (z zapisem ruchów) - najoczywistsze pomysły czasami najbardziej zaskakują :) ST mogło robić również za turbo K.S.O. do Atari :) Hmm... a gdyby tak zapisywać sygnał turbo na cyfrowym nośniku w formie cyfrowej... :) Czyli tak jak tu, tylko z użyciem oprogramowania Turbo po stronie Małego Atari (jak przypuszczam niższa prędkość?).

      ...kilka lat temu myślałem o podobnym rozwiązaniu do połączenia PS2 i PC :) ale niestety nie posiadam wiedzy, żeby to zaprogramować... a pomysł był taki żeby PC emulował peryferia używane przez PS2 używając urządzeń podpiętych do PC. Np. Kamera (lub inne źródło obrazu) podpięta pod PC byłaby widziana przez PS2 jako EyE Toy, mikrofon czy inne źródło dźwięku jako mikrofony (prawy i lewy) SingStar-a lub mikrofon GetOnDaMic, czy mikrofon słuchawek do gry Socom (bo chyba też były łączone przez USB), czy manipulatory - jak kierownice podłączane przez USB, czy inne urządzenia USB rozpoznawane przez oprogramowanie PS2. To jednak wymagałoby napisania odpowiednich sterowników i masy innych rzeczy... na samym PC też coś takiego mogłoby być użyteczne, bo np. mam kilka identycznych kamerek USB (EyE Toy) i niestety są rozpoznawane pod identyczną nazwą, więc po wybraniu kolejnej i tak działa tylko pierwsza... (a niekiedy w przypadku identycznych urządzeń powstaje konflikt i nie działa żadne).

      Co do solucji to już dyskutowaliśmy w innym wątku, problemem jest czas i elementy losowe lub ruchome (niezależne od działań gracza), więc sama implementacja replay-a jest trudna, a opis byłoby zrobić jeszcze trudniej, ale da się :)

      Edit: dla replay-u mając dostęp tylko do ruchów joystick-a i czasu ich trwania i tak sporo nam brakuje - samo skoordynowanie odtwarzania ze startem gry będzie trudne, chyba, że startuje się naciskając fire... trzeba by przesyłać też naciskane klawisze, i co najmniej generator liczb losowych... a może i początkowy stan pamięci? To wymagałoby specjalnego oprogramowania również na komputerze na którym odtwarzana byłaby zapisana gra... a być może wymagana byłaby modyfikacja sprzętowa...

      Kiedyś była próba zrobienia gry po sieci dla dowolnej gry na emulatorze PSX-a, nie wiem czy zostało to rozwinięte, ale w takiej wersji jak ja to testowałem, to w szachy może można by było pograć (nie obrażając szachów) :) Niektóre elementy były zsynchronizowane, ale losowe elementy nie, do tego opóźnienia powodowały problem z samym sterowaniem.

      Coś takiego jest wbudowane w emulator Atari800WinPLus, ale z pewnością oprócz stanów joystick-a przesyłane są inne wewnętrzne parametry, a nad całością czuwa emulator w którym Atari jest zamknięte :).

      Solucję mogę generować w Magazynierze (nie liczy się czas i nic się samoczynnie nie porusza) - który w mojej wersji zapisuje każdy ruch. Można dodać jeszcze komentarze przy popychaniu paczek, większych odcinkach drogi - typu idź w lewo do końca, czy idź 20 pól w lewo ;), czy o dopychaniu paczki do ściany, czy np. "popchnij [ostatnią] paczkę na miejsce", "[kolejna/nr] paczka ustawiona", "jeszcze tylko X paczek i będzie porządek" (przy czym X chyba najlepiej byłoby obliczać procentowo z widełkami np. 10% & <=10 i warto wziąć pod uwagę ile ruchów zostało do końca, bo może się zdarzyć, że będą 3 paczki z których mamy ustawić jedną, a żeby to zrobić trzeba wykonać 3500 ruchów ;), są też plansze, gdzie część paczek jest od razu ustawiona...), informacje o rozpoczęciu i zakończeniu gry, o ilości poziomów do końca gry, czy numerze obecnego poziomu, czy ilości ruchów już wykonanych lub ilości ruchów, które gracz ma jeszcze do wykonania - np. komentarz - "i już teraz z górki".

      Wracając do tematu - takie rozwiązanie można też stosować do połączenia tych samych Atari czy Atari np. z C64, kwestia napisania odpowiedniego oprogramowania.

      Pewnie tego nie zrealizuję ale od lat myślę o tym żeby zrobić grę w Statki, która wykorzysta np. jedno z takich połączeń (w komentarzu 4 dokleiłem link do drugiego rozwiązania), a byłaby możliwa gra Atari-Atari, Atari-C64, C64-C64, ale można napisać tę samą grę na wiele różnych komputerów obsługujących ten sam rodzaj połączenia (Amiga, Duże Atari, Spectrum, Amstrad CPC) i umożliwić rozgrywkę w dowolnych połączeniach 1 na 1.
      • 6: CommentAuthorQTZ
      • CommentTime22 Aug 2019 00:08 zmieniony
       
      Jeszcze co do solucji, gdyby miałyby to być solucje uniwersalne to byłyby właśnie tego typu co RobboSolucja - "Joystick w prawo", "Joystick w lewo", "Joystick w dół + Fire", "Joystick na ukos góra-lewo + Fire"... - tego typu "solucja" mogłaby być wyświetlana na żywo i stosowana do każdej gry (sterowanej wyłącznie joystickiem). Solucja zawierająca komentarze - jak opisałem powyżej, wymagałaby analizowania danych poziomu na którym gramy, analizy ruchów i innych danych, musiałaby być zrobiona pod konkretną grę. Można by zrobić kilka profili dla kilku gier, aby generować poprawne solucje.

      Dla żartu w oparciu o jedne dane można by też było robić solucje do innych gier... Na przykład w oparciu o rozgrywkę w Laurę, generować "solucję" dla Robbo... :P

      Edit: Myślę, też, że wcale nie jest tak łatwo ocenić o ile "kroków" się postać przesuwa w oparciu o czas wychylenia joysticka - trzeba by było to jakoś obliczyć - przecież gracz nie pyka kierunkami gdy ma iść prosto przez dłuższy kawałek... najskuteczniej byłoby "mechanizm" zapisu wbudować w grę...
      • 7: CommentAuthorzbyti
      • CommentTime22 Aug 2019 00:08 zmieniony
       
      @QTZ to ja poproszę solucję do Decathlona z dokładnością do jednego "lewo" ;P
      • 8: CommentAuthorQTZ
      • CommentTime22 Aug 2019 00:08 zmieniony
       
      Myślę, że mechanizm nagrywania najlepiej jakby wbudować w emulator wtedy można by nagrywać replay-e z każdej gry - emulator zapisywałby początkowy stan pamięci, rejestrów, podpięte dyski, carty, taśmy, ustawienia, a potem wszelką interakcję ze strony gracza :D Przy oglądaniu nagrania można by się było nawet w dowolnym momencie włączyć do gry przerywając odtwarzanie, po zakończeniu gry emulator wracałby do stanu przed odtwarzaniem. No i tu kolejny problem bo gdyby się dało włączyć do rozgrywki w trakcie odtwarzania, to co zrobić z zapisywanymi danymi - może zapisywać w podobnych plikach co replay?

      Co do solucji to można próbować dla różnych gier...

      @Zbyti Do Decathlona to będzie coś w tym rodzaju:

      Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo, Joystick w lewo, Joystick w prawo... :D
      • 9: CommentAuthorzbyti
      • CommentTime22 Aug 2019 01:08 zmieniony
       
      @QTZ a do jakiej konkurencji to solucja? Bo jeżeli to jest do skoku w dal to spaliłeś skok ;) O jedno "w prawo" za dużo i bez "fire" - przebiegliśmy belkę, sprawdziłem o_O
      • 10:
         
        CommentAuthorKaz
      • CommentTime22 Aug 2019 01:08
       
      W przypadku Decathlona kluczowy jest nie tylko kierunek ruchu joyem, ale również timingi. Ale sam pomysł fajny! A jeszcze lepszy pomysł z takim mechanizmem wbudowanym w emulator. Widzę, że Robbo.Solucja i AFTER twórczo inspirują :D

      QTZ:

      Wtedy przegapiłem Twoją prośbę, ale ponieważ wróciłem do tamtego wątku i znalazłem ją teraz postanowiłem tego rozwiązania poszukać - i myślę że chodziło o to: Tari-Talk.


      Dziękuję, że odkopałeś to i dałeś znać. Acha, czyli to jest oparte na kablu: joysticki w małym Atari, a MIDI w ST. U nas były to joysticki w małym Atari, ale port drukarki w ST (nie mieliśmy wtedy wtyczek MIDI, a złącze drukarki kosztowało grosze i było łatwo dostępne).

      QTZ:

      Generalnie ciekawy pomysł... użycie drugiego komputera jako JoyStick-a (z zapisem ruchów) - najoczywistsze pomysły czasami najbardziej zaskakują :) ST mogło robić również za turbo K.S.O. do Atari :) Hmm... a gdyby tak zapisywać sygnał turbo na cyfrowym nośniku w formie cyfrowej... :) Czyli tak jak tu, tylko z użyciem oprogramowania Turbo po stronie Małego Atari (jak przypuszczam niższa prędkość?).


      Ciesze się, że pomysł ci się spodobał :). Drugiego pomysłu za bardzo nie rozumiem. AFTER umożliwia przesyłanie plików w postaci cyfrowej (z paskami lub bez, jak w systemach turbo) i to wyciągało, jeśli mnie pamięć nie myli 8KB/s.
      • 11: CommentAuthorQTZ
      • CommentTime22 Aug 2019 05:08 zmieniony
       
      @Kaz Ciężko powiedzieć, że Robbo.Solucja jest w tym przypadku inspiracją, to w zasadzie tylko program losujący tekst... "generator szumu"...

      (BTW1: Bazując na danych z RS [skopiowanych do Robbosol-a] miałem zamiar zrobić pewnego rodzaju prezentację [demem tego nazwać raczej nie można] - przetwarzając RS w kolejny abstrakcyjny twór, ale ostatecznie zostawiłem ten pomysł.)

      (BTW2: Fani ZX Spectrum po premierze książki RS na giełdzie Pixel-a zaprezentowali prawdziwe programy generujące teksty... ja niestety byłem zbyt zajęty żeby się temu przyjrzeć, a były nawet wydrukowane ulotki...)

      Teraz to się głośno zastanawiam jak mogłaby wyglądać tekstowa solucja na bazie danych z zapisu przebiegu gry - obecnie inspiracją jest Wasz program w zestawieniu z poruszonym tematem solucji ogólnie, choć taki pomysł, żeby generować solucję z Sokobana miałem już wcześniej, bo w sieci są dostępne zapisy gry w postaci l[eft]r[ight]u[p]d[own], są też generatory, które generują optymalne solucje (zapisują ruchy w postaci ciągów "lrud") mając tylko dane level-u (chyba już o tym pisałem). Swoją drogą często takie wtrącone uwagi przyczyniają się do powstania czegoś ciekawego :)

      Drugi pomysł - to znaczy z Turbo K.S.O. - jak wiadomo interface Turbo K.S.O. podłączany jest do drugiego portu joysticka i wykorzystuje sygnały LURP do odczytu i zapisu informacji, więc można zrobić urządzenie, które nie będzie konwertowało sygnału na sygnał do zapisu na taśmę (jak to robi interface turbo), a od razu zapisywało w formie cyfrowej, lub tak jak tu, wystarczy dostosować przewód (o ile jest taka potrzeba) i oprogramowanie na podłączonym przez to złącze komputerze i zapisywać dane cyfrowo na jego nośniku. W Małym Atari nie trzeba by było niczego modyfikować, gdyż takie urządzenie / rozwiązanie byłoby "widoczne" dla Atari w ten sam sposób jak interface Turbo (do pełnej automatyki wymagałoby jeszcze podłączenia sterowania silnikiem, dźwięk ewentualnie zapisany na drugiej ścieżce dla ułatwienia pomijamy).

      Programu AFTER-a nie widziałem, nie ma go w załączonym archiwum i nie znalazłem go w necie.

      Ciekawe jakie się sprawuje ten Tari-Talk?

      No i myślę, że pomysł z wbudowaniem mechanizmu record-replay-a w emulator jest wart realizacji, oczywiście co do szczegółów wymaga to przetestowania w praktyce :)

      @Zbyti a miałem wrażenie, że to nawet nie połowa drogi ;)
      • 12:
         
        CommentAuthorKaz
      • CommentTime22 Aug 2019 08:08
       

      QTZ:

      Ciężko powiedzieć, że Robbo.Solucja jest w tym przypadku inspiracją, to w zasadzie tylko program losujący tekst...


      Jak widać wszystko może być inspiracją, bo Twoje rozkminy na te tematy zaczęły się od Robbo.Solucji, nie wcześniej :).

      Poza tym to dość złośliwe wobec kodera stwierdzenie, że Robbo.Solucja to tylko program losujący treść. On nie tylko losuje tekst, ale również robi to wedle pewnych reguł, które już losowe nie są. Jest to też złośliwość wobec całego projektu Robbo.Solucja, który składa się nie tylko z programu, ale również idei, książki, opisu historycznego o Robbo, etc. i jakoś wcześniej takiego "losowania tekstu" nie było.

      QTZ:

      zaprezentowali prawdziwe programy generujące teksty...


      Zapewniam cię, że program Bocianu też jest prawdziwy, istnieje i można sobie nawet zobaczyć zarówno sam kod jak i wynik jego działania w książce. Tam jest tekst jak żywy :D

      QTZ:

      jak wiadomo interface Turbo K.S.O. podłączany jest do drugiego portu joysticka i wykorzystuje sygnały LURP do odczytu i zapisu informacji, więc można zrobić urządzenie, które nie będzie konwertowało sygnału na sygnał do zapisu na taśmę (jak to robi interface turbo), a od razu zapisywało w formie cyfrowej, lub tak jak tu,


      Nasz interfejs korzysta z obu portów joysticka, bo na każdym porcie masz jednego nibbla, czyli na dwóch masz pełny bajt. I to przyspiesza znacznie transmisję oraz upraszcza programy, które mogą się posługiwać wprost bajtami zamiast je ciąć. Oczywiście można zrobić, że transmisja będzie na jednym joyu, trzeba wtedy tylko zmodyfikować program po stronie małego i dużego Atari.

      QTZ:

      Programu AFTER-a nie widziałem, nie ma go w załączonym archiwum i nie znalazłem go w necie.


      Kiedyś była nowinka o nim i tam był opisany. Ale obecnie nowinki sprzed 2012 roku są wyłącznie w archiwum, do czasu aż Wieczór się zlituje i uruchomi nowy layout. Pliki były też w dziale "Użytki - Inne platformy", ale obecnie ten dział jest zniknięty :). Sam mi tłumaczyłeś, gdzie się podziały pliki z tego działu, więc tu nie muszę wyjaśniać.