atarionline.pl GETAWAY! Wersja z trainerem. - 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: CommentAuthorChandraStar
      • CommentTime5 Sep 2025 15:00 zmieniony
       
      Witam serdecznie całą społeczność ATARI.

      Chciałbym w tym wątku rozpocząć temat dotyczący stworzenia wersji gry GETAWAY! z trainerem.

      Proponowane wersje gry z trainerem są następujące:

      1. Wersja gry z nieskończoną ilością żyć.
      2. Wersja gry z nieskończoną ilością żyć oraz wyłączoną kolizją sprite'ów z policją, jednocześnie z zachowaniem kolizji dla białej furgonetki z pieniędzmi.

      Jako materiały źródłowe do stworzenia tych wersji gry z trainerem załączam pliki XEX oraz ATR, pochodzące z zasobów autora gry, które zostały pobrane ze strony internetowej poświęconej całej historii pracy autora gry Mark'a Reid'a nad grą GETAWAY! Niestety nie posiadam już linku do tego źródła ponieważ upłynęło już ładnych kilka lat, kiedy te materiały znalazłem.

      Zwracam się z prośbą do społeczności ATARI o pomoc w stworzeniu proponowanych wersji gry GETAWAY! z trainerem, ponieważ docelowo planowane jest stworzenie składanki gry jako GETAWAY! LEGEND, zawierającej wszystkie wersje gry.

      Za wszelką pomoc z góry serdecznie dziękuję.

      Pozdrawiam serdecznie.

      ChandraStar.
      • 2:
         
        CommentAuthorgienekp
      • CommentTime5 Sep 2025 15:47 zmieniony
       
      To może ja na początek.
      Szukamy:
      A5 82 29 [07] F0 11 A9 00

      i zamieniamy na
      A5 82 29 [00] F0 11 A9 00


      Gracz jest 5 graczem, program sprawdza więc kolizje poszczególnych pocisków [$2CE8] "oruje" i zapisuje w komórce [$82]. Zamieniany kod to [$2DB3]
      $2DB3 A5 82 LDA $82
      $2DB5 29 07 AND #$07
      $2DB7 F0 11 BEQ $2DCA
      $2DB9 A9 00 LDA #$00


      AND #$00 wyzeruje bity wynikające z kolizji z policjantami.
    1.  
      Gieniu, wspaniale zrobione. Czy mogę poprosić także o wprowadzenie tego trainera do obrazu ATR?

      Bardzo Ci dziękuję.
    2.  
      Gieniu, dziękuję Ci za wyniki wyszukiwania, ja, wrzucę tę zmianę do ATR'a i prosiłbym jeszcze o znzalezienie bajtu odpowiadającego za ilość żyć. Dziękuję.
    3.  
      Gieniu, chciałbym jeszcze Cię poprosić o przygotowanie programu menu2car z belką GETAWAY! LEGEND, dla wersji CAR. Resztę już odpowiednio zrobię. Dziękuję bardzo.
      • 6: CommentAuthorAtaripuzzle
      • CommentTime5 Sep 2025 20:23 zmieniony
       
      @ChandraStar uzbierałem 3560 kasy w grze- zmieniłem posta - pytałem: czy gra ma zakończenie, cel?
      edycja: Widzę, że w trakcie gry dochodzą utrudnienia - więc można powiedzieć że ma etapy
      Już nie zawracam głowy - bo rozumiem, że gra będzie miała instrukcję, objaśnienia
    4.  
      Ataripuzzle, całkiem ładny wynik. Wydaje mi się że gra, nie ma zakończenia i jest typu ENDLESS, czyli bez końca. Gra raczej będzie trwała aż do momentu kiedy policja cię całkowicie zapudłuje.

      Tak, wraz z postępem w grze dochodzą dodatkowe przeszkadzajki, np. w postaci blokad policyjnych (migające brązowe koła na drogach), które powodują utratę zrabowanych pieniędzy (CASH), jeśli się na nie wjedzie, więc lepiej ich unikać bo kasa jest najważniejsza. Kolejnym utrudnieniem jakie się pojawia na wyższych etapach gry jest to, że policja dostaje już takiej wścieklizny i robi się tak bardzo zawzięta ściganiem nas, że coraz trudniej jest przed nią uciec.

      Fajna jest ta gra, to taki Hardcorowy PAC-MAN w gangsterskim wykonaniu. Bardzo ostra zręcznościówka.
      • 8: CommentAuthorAtaripuzzle
      • CommentTime5 Sep 2025 21:16 zmieniony
       
      Dzięki za wyjaśnienia ChandraStar, :)
      • 9:
         
        CommentAuthorgienekp
      • CommentTime5 Sep 2025 21:22 zmieniony
       
      Wydaje mi się, że tym razem to trzeba troszkę inaczej zrobić. Plik XEX nie jest taki duży i jest miejsce w RAM. Więc trailer powinien być dodany do pliku XEX. Nie potrzeba wtedy robić kilku wersji. Mając XEX łatwo zrobić CAR (new/old), ATR ale też i CAS.

      Poniżej pliki oraz cały projekt jak ja sobie to zrobiłem.
    5.  
      Ataripuzzle. NO PROBLEMO.
    6.  
      Gieniu,

      Niesamowicie rewelacyjna robota. Jestem pod wrażeniem. Planowałem to zrobić w stylu Feud'a ale w zasadzie wszystko jest już zrobione.

      Super, zatem niech ten cały zestaw twoich plików będzie już wersją finalną do pobierania.

      Świetna robota. Bardzo Ci dziękuję.

      I oto Szanowni Przyjaciele, mamy kolejną znakomicie strainerowaną grę, GETAWAY!

      BRAWO, BRAWO Gieniu. Jesteś THE BEST!
      • 12:
         
        CommentAuthorgienekp
      • CommentTime5 Sep 2025 22:13 zmieniony
       
      No nie przesadzajmy, zwykła inżynierka.
      Jedyna ciekawostka, to gra po wczytaniu przepisuje kod z jednego miejsca na drugi, więc trzeba sprawdzić, co podmieniamy. Druga sprawa, gra nie ma wprost liczby żyć. Wylicza sobie stan na podstawie tych animowanych ikonek w lewym górnym rogu. No więc zrobienie nieśmiertelności oznacza, że musilibyśmy zniszczyć ten fragment animacji. Ponieważ trailer wczytał się razem z grą, to można dopisać kod, który po stracie życia (i po animacji) odtwarza fragment pamięci jaki był przed utratą życia. Coś jakbyśmy save wczytali. Dzięki temu w sposób minimalny psujemy grę.
    7.  
      Ach Gieniu, no to teraz zrozumiałem dlaczego nie mogłem tego ustrojstwa znaleźć tradycyjnymi metodami wyszukiwania. Sprytnie to Marek Reid wymyślił. Mogłem sobie tak szukać do us....ej śmierci. I tak bym nie znalazł. Dziękuję za wyjaśnienie. To dlatego ta gra sprawiała mi tyle problemów.

      Gieniu, nie przesadzam. Dla mnie naprawdę jesteś THE BEST.
    8.  
      Drodzy Przyjaciele,

      Myślałem aby zrobić małą instrukcję do gry GETAWAY! w postaci pliku XEX, ale najpierw chciałbym poznać wasze opinie, czy taka instrukcja jest wam potrzebna. Jeśli tak to dajcie znać.

      Gra nie jest w sumie jakaś zawiła i w zasadzie sama prowadzi za rączkę, co mamy w danej chwili robić w grze aby przejść do następnego etapu, ale być może niektórzy gracze będą potrzebować objaśnień tego co się w tej grze dzieje podczas rozgrywki.

      Czekam na wasze komentarze.
      • 15: CommentAuthorAtaripuzzle
      • CommentTime6 Sep 2025 15:35 zmieniony
       
      Z tym by było za dużo roboty - jest manual - dość obszerny na atarimania po angielsku - więc to może niektórym wystarczyć.
      Mogę spróbować przetłumaczyć co nieco (załącznik); Energy editor pozwala na wklejanie tekstu bez polskich liter, więc wtedy przygotowanie tekstu bez polskich liter by było dość proste, ale pisanie tego od zera w energy edytorze z polskimi literami to za duży nakład pracy - szkoda zachodu

      edycja: skasowałem mój programik w pythonie aby nie zawracać głowy pythonem.

      Można wkleić w energy editor w Altirrze teksty z załącznika - bez polskich liter (basic)
      wtedy nie trzebaby tego przepisywać

      Te pliki z załącznika to fragment angielskiej instrukcji
      ale ten opis sprawia że nie podoba mi się ta gra - wolę bez opisu raczej
      edycja: instrukcję zmieniłem trochę i przeniosłem do posta 23
      • 16: CommentAuthorAtaripuzzle
      • CommentTime6 Sep 2025 19:36 zmieniony
       
      Energy editor - nie jest zwykłym edytorem ponieważ zapisuje formatowanie, którego potem nie da się za bardzo edytować, ale mnie by wystarczyła instrukcja bez polskich znaków jak tu:


      P.S. Tylko zmiencie tą muzyczkę

      Skasowałem plik instrukcji - instrukcja będzie inna
    9.  
      Ataripuzzle,

      Wielkie dzięki za ten powyższy wykład. Zrobiłeś kawał dobrej roboty. Skoro mamy już twoją wersję instrukcji, to nie ma potrzeby robienia kolejnej. Ja osobiście bardzo nie lubię czytać tekstu bez polskich liter ponieważ taka forma pisma jest dla mnie nie do zaakceptowania. W każdym razie instrukcja jest bardzo obszerna i szczegółowo wyjaśnia najdrobniejsze niuanse gry. Dobra robota, Ataripuzzle.
    10.  
      Gieniu, mam do ciebie małą prośbę... czy mógłbyś mi podać taki adres do wyłączenia kolizji z policją, który mógłbym dodać ręcznie jako cheat, i który by prawidłowo zadziałał w Altirrze, w tym okienku do wyszukiwania cheatów, ponieważ te które podałeś wyżej albo wieszają grę, alby tworzą niesamowite efekty wizualne, a chciałbym mieć także możliwość wyłączania tego cheata, np. aby móc normalnie zakończyć grę.

      Skrót klawiszowy w Altirrze do tej wyszukiwarki to: SHIFT+ALT+H
      • 19:
         
        CommentAuthorgienekp
      • CommentTime6 Sep 2025 20:24
       
      No ale podałem:
      $2DB5 29 07 AND #$07

      to $07 trzeba zmienić na $00.
      Nic więcej nie ma.
      • 20: CommentAuthorAtaripuzzle
      • CommentTime6 Sep 2025 20:24 zmieniony
       
      skasowano załącznik
    11.  
      Gieniu,

      Niestety ten adres nie działa w Altirrze, malo tego powoduje to że biała furgonetka w momencie kolizji działa tak samo jak policja, tracimy jedno życie. No trudno, szkoda że akurat tutaj to nie zadziałało. Dzięki.
    12.  
      Gieniu, znalazłem, tylko adres jest o oczko w górę 2DB6 oraz zmiana wartości z 07 na 00.

      Gieniu, czy mógłbyś mnie nauczyć takiego prostego wyszukiwania kolizji duszków w grach, chodzi o to jakich wartości HEX używać do przeszukiwania pamięci aby trafić na jakiś ślad, bo tym zagadnieniem nigdy się nie zajmowałem, a bardzo chciałbym się tego nauczyć i spróbować znaleźć takie coś w grze QUASIMODO.
      • 23: CommentAuthorAtaripuzzle
      • CommentTime6 Sep 2025 22:02 zmieniony
       
      Wstawiam instrukcję - bo oryginalny manual angielski i tłumaczenie jego mi się nie podoba, dlatego zmieniłem. Tekst zawiera drobne błędy stylistyczne - zabawne będzie że lekarze mają syreny a nie, że karetki mają syreny, ale zostawiam, bo nie chcę tracić czasu na ich poprawianie

      Ubolewam trochę, że dostało się lekarzom, bo cenię sobie ich pracę, no ale nie było wyjścia: policję musiały zastąpić karetki, a czarne charaktery; charytatywni hospicjusze. Ale to tylko gra
      • 24:
         
        CommentAuthorgienekp
      • CommentTime7 Sep 2025 07:43 zmieniony
       

      ChandraStar:

      tylko adres jest o oczko w górę 2DB6

      Tak argument dla AND, sama instrukcja jest o jeden mniej. Jak zakładasz breakpinty to zawsze na instrukcje. Jest to dużo wygodniejsze.

      Generalnie pracuj na debugerze. No chyba, że już masz "matrixa" w głowie i widzisz kod w hexach. Patrząc na kod zdebugowany masz podgląd co się zaraz wydarzy.

      Kolizje masz opisane dobrze w ->link<- . To są rejestry tylko do odczytu, więc sprawa jest prosta. Program musi odczytać te rejestry, a więc zakładasz brakpoint na odczytanie wartości. Czasem program od razu reaguje jakimś CMP a czasem kopiuje stan do jakiejś komórki pamięci. Jak od razu reaguje to mając go na breakpoincie zmieniasz mu stan flag procesora i puszczasz. Jak zareaguje na efekt to jesteś w domu.

      Jeżeli scenariusz gry jest złożony to kolizje są kopiowane do pamięci i potem kilka razy sprawdzane. Czyli znowu nasłuch na tą wartość skopiowaną i znowu wymuszanie niepoprawnych kolizji, żeby zrozumieć kiedy co się dzieje.

      Ataripuzzle:

      Ubolewam trochę, że dostało się lekarzom,

      Ja tam nie widzę żadnych lekarzy, tylko policję, furgona z kasą, miejsca gdzie można podprowadzić diamenty albo kasę i H-ome jak w GTA :)
    13.  
      Gieniu,

      Bardzo Ci dziękuję za ten mały wykład informatyczny, zaczynam pomalutku rozumieć o co w tym zagadnieniu chodzi.

      Chciałbym jeszcze tylko zapytać, jaki debuger dla windows mógłbyś mi polecić do wyszukiwania tych rzeczy i chciałbym poprosić o podpowiedź na jakiej najlepiej instrukcji zakładać breakpoint'y.

      Z przykładu z tego poradnika w twoim linku, domyślam się że chyba trzeba operować na instrukcjach: HITCLR lub BNE.

      Podpowiedz mi proszę tak dla przykładu, na jakich instrukcjach Ty pracowałeś aby odnaleźć tę właściwą komórkę aby otrzymać pożądany efekt w grze GETAWAY!
      • 26:
         
        CommentAuthorgienekp
      • CommentTime7 Sep 2025 08:46
       
      No ja nie pracuję na windowsie, tylko na MacOS. Emulator ATARI800 ma wbudowany debuger z breakpointami. Założyłem breakpont na zakres wszystkich kolizji, a że kolizje były czytane dla 4 pocisków no to wiadomo, że gra używa tzw. piatego gracza. Dalej to klikanie instrukcja po instrukcji w trybie emulacji.
    14.  
      No dobrze, spróbuję poćwiczyć. Napiszę o wynikach. Dziękuję Gieniu.
    15.  
      Sciągnąłem emulator Atari800 Win 4.0 Plus, ale on nie zawiera żadnego debugera.
      • 29: CommentAuthorChandraStar
      • CommentTime7 Sep 2025 10:24 zmieniony
       
      Gieniu, nie ogarniam na razie tego tematu. W Altirze i jego debugerze jest zakładka berapointy ale nie wiem co tam wpisać. Są cztery opcje do wyboru i wiersz poleceń jak na zrzucie ekranu, ale nie wiem jaką opcję wybrać i co wpisać w wierszu poleceń. Powiedz mi jak zakładać takie breakpointy na kolizję.
      • 30: CommentAuthorVidol
      • CommentTime7 Sep 2025 10:25 zmieniony
       
      Atari800Win zawiera debuger, jest pod F8
    16.  
      Vidol, tyle to wiem, chodzi mi o to że nie wiem jaką opcję wybrać i co wpisać w wierszu poleceń aby założyć breakpointy oraz aby debuger wyśledził detekcję kolizji w oknie disassembly.
    17.  
      Chciałbym po prostu wiedzieć od czego zacząć, co wpisać w wiersz poleceń aby móc rozpocząć takie ślezenie i wyszukiwanie kolizji.
      • 33: CommentAuthorAtaripuzzle
      • CommentTime7 Sep 2025 11:17 zmieniony
       

      gienekp:

      Ja tam nie widzę żadnych lekarzy, tylko policję, furgona z kasą, miejsca gdzie można podprowadzić diamenty albo kasę i H-ome jak w GTA :)


      miałem na myśli tą nową Instrukcję z 23 posta - jak się uważnie wczytasz w pierwszą stronę instrukcji(z xex-a) zauważysz różnicę - może kosmetyczną, ale jednak
      • 34: CommentAuthorVidol
      • CommentTime7 Sep 2025 11:30
       
      @ChandraStar:W oknie memory1 wpisz adres D008, najedz na komórkę D008 wciśnij prawy przycisk myszy i zaznacz 'Toggle Read Breakpoint' i włącz grę.
      • 35: CommentAuthorChandraStar
      • CommentTime7 Sep 2025 13:22 zmieniony
       
      Vidol, dziękuję bardzo, no ale co dalej bo gra w emulatorze strasznie się tnie. Jeśli możesz, zrób mi proszę taką całą instrukcję krok po kroku jak to się robi, bo ja naprawdę nie znam się na tym zagadnieniu i jestem kiepski w asemblerze. Chciałbym jeszcze zapytać dlaczego akurat ten adres, czy może jest to jakiś takt uniwersalny adres wypadowy, który można użyć w każdej grze jako rozpoczęcie wyszukiwania?
      • 36: CommentAuthorAtaripuzzle
      • CommentTime7 Sep 2025 13:23 zmieniony
       
      skasowałem - o energy edytorze
      • 37: CommentAuthorChandraStar
      • CommentTime7 Sep 2025 13:37 zmieniony
       
      Vidol, po utracie wszystkich żyć podświetliły się kolejne bajty w MEMORY1. Oto zdjęcie, i nie wiem co dalej robić. Okno Disassembly nic nie robi, nienakierowuje na inne adresy czyli nie reaguje na breakpoint'a.
      • 38:
         
        CommentAuthorKaz
      • CommentTime7 Sep 2025 15:14 zmieniony
       
      Polecam w Grelu 2/2024 ( ->link<- ) artykuł Cosiego o uzyskiwaniu nieśmiertelności i innych pomagajek w grach. Jak chciałbyś samodzielnie zacząć poprawki to tam znajdziesz bardzo dobre pokierowanie z przykładami.
    18.  
      Dziękuję KAZ, ale takie najbardziej podstawowe rzeczy to już znam, ponieważ udało mi się elegancko strainerować FEUD'a, a teraz chciałbym się nauczyć wyłączania kolizji sprite'ów w grach ponieważ akurat tego nigdy nie robiłem, dlatego poszukuję dobrej szkoły krok po kroku.
      • 40: CommentAuthorChandraStar
      • CommentTime7 Sep 2025 15:49 zmieniony
       
      Skasowane z powodu błędu.
      • 41: CommentAuthorVidol
      • CommentTime7 Sep 2025 16:22 zmieniony
       
      W grze wykorzystana jest grafika PM/G. 'Bohater' składa się z pocisków i dlatego sprawdzane są sprzętowe kolizje z duchami. Rejestry te znajdują się od $d008-$d00b, stąd ten adres. Polecam poczytać:
      ->link<-
      Dlatego ustawienie Breakpointa na ten adres pokazuje nam ten kod:
      2CE8: AD 08 D0          LDA M0PL
      2CEB: 0D 09 D0 ORA M1PL
      2CEE: 0D 0A D0 ORA M2PL
      2CF1: 0D 0B D0 ORA M3PL
      2CF4: 85 82 STA $82
      2CF6: 29 08 AND #$08
      2CF8: D0 03 BNE $2CFD
      2CFA: 4C B3 2D JMP $2DB3

      Wynik tego sprawdzenia zapisywany jest w komórce $82. Po ustawieniu kolejnego Breakpointa na $82 pokazuje się kolejny kawałek kodu:
      2DB3: A5 82             LDA $82
      2DB5: 29 07 AND #$07
      2DB7: F0 11 BEQ $2DCA

      I właśnie tu zamiana And #$07 na 00 daje nam nietykalność.
      W podobny sposób znalazłem nieśmiertelność na paliwo tyle, że tam breakpoint był ustawiony na komórkę z licznikiem paliwa.
      Jest jedno ale,metoda ze sprawdzaniem rejestrów sprzętowych sprawdzi się tylko w niektórych grach, głownie tych starszych. W nowszych grach kolizje sprawdzane są programowo.
      Czasami do szukania trainera na życia warto użyć Atari800win i jego CheatOptions - sprawdza się w około 70% gier.
      Polecam także kurs assemblera autorstwa Tebe, zwłaszcza cz. 3
      ->link<-
      EDIT:
      Co do Quasimodo to dlaczego szukasz $d000 a nie $d008?
      • 42: CommentAuthorChandraStar
      • CommentTime7 Sep 2025 16:49 zmieniony
       
      Gieniu,

      Mam prośbę, czy mógłbyś zdebugowć ten kod gry QUASIMODO aby wyłączyć kolizję, ponieważ niestety nie ogarniam tego. Załączam pliczek z grą.
    19.  
      Vidol,

      Bardzo Ci dziękuję za wyjaśnienia, oczywiście postaram się podszkolić w assemblerze i dziękuję za linki.

      Przepraszam. Popełniłem błąd w QUASIMODO z tym adresem D000. Materiał do skasowania. Gdy wpisałem poprawny to też jakoś nie mogę tego ogarnąć. Trochę jest skomplikowane to wyszukiwanie kolizji w grach.
    20.  
      Vidol, ćwiczę i ćwiczę na QUASIMODO, i nie mogę wyćwiczyć.
      • 45: CommentAuthorVidol
      • CommentTime7 Sep 2025 17:00
       
      3BFE: A0 01             LDY #$01
      3C00: B9 08 D0 LDA M0PL,Y
      3C03: 29 03 AND #$03
      3C05: F0 23 BEQ $3C2A


      Zmieniamy And #$03 na And #$00
    21.  
      Dziękuję Vidol, też byłem tak bardzo blisko, ale ten wynik działa tylko na strzały łuczników, trzeba jeszcze znaleźć kolizję na nietoperze oraz strzały strażników w ostatnim etapie gry.

      Spróbuję się pobawić w wyszukiwanie. Dzięki.
    22.  
      Vidol, opanowałem, znalazłem resztę kolizji, komórki występują pod trzema różnymi adresami, teraz jest super. Bardzo Ci dziękuję za przeszkolenie. Teraz już załapałem o co tu chodzi, teraz będę próbował na innych grach.
      • 48: CommentAuthorVidol
      • CommentTime7 Sep 2025 18:20
       
      Spodziewałem się, że tak może być i właśnie miałem pisać, że trzeba sprawdzić resztę rejestrów odpowiadających za kolizje :)
    23.  
      Vidol, jeszcze raz dzięki.

      Właśnie używałem tego cheater'a w ATARI800WIN kiedy trainerowałem FEUD'a. Wyszukiwanie było bardzo pracochłonne ale było warto. Tę kwestię to już mam opanowaną bardzo dobrze. Teraz używam cheatera w Altirrze, bo to teraz jest mój najlepszy emulator Atari. Atari800Win odszedł w zapomnienie.

      Załączam tak poglądowo strainerowany pliczek z grą.
      • 50: CommentAuthorAtaripuzzle
      • CommentTime7 Sep 2025 20:00 zmieniony
       
      ChandraStar - jeżeli możesz wstaw do pierwszego posta "strainerowaną" grę z 9 posta i instrukcję z posta 23