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
      • CommentTime8 Sep 2025 05:13 (2 dni temu)
       
      Vidol,

      Mam do Ciebie małą prośbę, czy mógłbyś mi napisać przykładowe polecenia podczas zakładania breakpoint'ów na szukanie kolizji?

      Chodzi mi o to jak i gdzie w Altirrze trzeba wpisać takie polecenie aby program na nie zareagował. Poproszę o jakieś przykłady.
      • 2: CommentAuthorVidol
      • CommentTime8 Sep 2025 09:56 (2 dni temu)
       
      No ale wyżej opisałem całą procedurę. Ustawiasz breakpointa na adres kolizji sprzętowych i tyle. Jak coś wyskoczy to patrzysz co program dalej z tym robi. Każda gra jest inna i do każdej trzeba podchodzić indywidualnie. Tu już się kłania znajomość assemblera.
      Zresztą przeczytaj sobie ten kurs, fajnie jest opisane poszukiwanie nieśmiertelności w bardzo znanej grze:
      ->link<-
      • 3: CommentAuthorChandraStar
      • CommentTime8 Sep 2025 13:55 (2 dni temu) zmieniony
       
      Dzięki Vidol za linka, bardzo ciekawy materiał choć większość z tego jest już mi znana, ale ta ostatnia metoda na końcu z tym zrzutem pamięci jest bardzo ciekawa.

      Miałbym do Ciebie prośbę o pomoc ponieważ mam taką niby prostą grę, której kodu na wyłączenie kolizji nie mogę rozkminić. Ta gra to TREE SURGEON. Ta metoda z adresu $D008 niestety nie działa w tej grze ponieważ breakpoint na nic nie reaguje. Być może jest tu zastosowana programowa kolizja sprite'ów, o której wspominałeś, a której jeszcze nie znam.

      Czy mógłbym poprosić Cię o pomoc w analizie kodu tej gry w poszukiwaniu wyłączenia kolizji, ponieważ chciałbym zrozumieć jeszcze także ten przypadek. Dziękuję.

      Załącza pliczek z grą. Gra ma nieskończone życia.
      • 4: CommentAuthorChandraStar
      • CommentTime8 Sep 2025 23:21 (2 dni temu) zmieniony
       
      Gieniu, mam prośbę, pomógłbyś mi rozpracować wyłączenie kolizji w grze Alley Cat, bo szukam, stawiam breakpointy i nie mogę nic znaleźć. Zaczynam od breakpointu na $D008, potem od $D000 ale nie ma żadnej reakcji w debugerze. W końcu postawiłem break'a na $0000 i coś tam złapało. Pomóż proszę, bo staram się tego nauczyć ale jakoś jeszcze mi nie idzie. Metoda od Vidol'a rzeczywiście sprawdza się tylko w niektórych grach.

      Dziękuję. Załączam pliczek z nieskończonymi życiami.
      • 5: CommentAuthorVidol
      • CommentTime9 Sep 2025 06:53 (1 dzień temu) zmieniony
       
      Nie wychodzi bo żeś się czepił tego D008 jak rzep psiego ogona :) D008 jest tylko od pocisków. Zacznij od D000. Podsyłałem rozpiskę z Atariki parę postów wyżej.
      Co do tej gry z postu 4 to odezwę się później, bo muszę jeszcze nad nią posiedzieć. Gra jest dość dziwnie napisana. Każda plansza to jakby oddzielna gra,pozycje gracza w każdej z nich są w innych komórkach tak jak by pisały to różne osoby.
      Tak się spytam, Ty zrobiłeś tainerea na życia?
      • 6: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 11:57 (1 dzień temu) zmieniony
       
      Tak, Vidol w większości zaczynałem od $D008, ale zastanawiam się dlaczego w kodzie gry nie ma tych instrukcji AND, czy te kolizje mogą występować także pod innymi instrukcjami?

      Tak, Vidol, trainer na życia zrobiłem ja. To akurat było bardzo łatwe, ale te kolizje to zupełnie inna szkoła jazdy, dlatego proszę was o pomoc bo bardzo chciałbym się tego nauczyć gdyż jest to bardzo pasjonujące, chciałbym też zdobyć jakieś nowe doświadczenia w tym zagadnieniu. Jedno jest fajne że chociaż już samodzielnie dokończyłem te Quasomodo oraz wyłączyłem kolizję w orginalnej wersji Montezumy, Roberta Jaegera. To już jakieś mały sukces.
      • 7: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 12:19 (1 dzień temu) zmieniony
       
      Vidol, przestudiowałem te wszystkie materiały z twoich linków ale nie da się wszystkiego od razu zrozumieć, dlatego uczę się małymi kroczkami z waszą pomocą, która jest dla mnie bardzo cenna. Teraz aktualnie pracuję na tymi grami: Tree Surgeon i Alley Cat, ale póki co bardzo kiepsko mi to idzie, np. w Alley Cat zaczynałem od $D000 i nic, zero reakcji. Debuger coś tam złapał gdy postawiłem breakpointa na $0000 i kiedy piesek dorwał mojego kicia pod płotem ale dalej to już nie wiem co robić bo niestety nie mam potrzebnej wiedzy. Masz rację z tym że każda gra jest inna i trzeba ja rozpracować od zera.

      Bardzo dziękuję Vidol że mi pomagasz i za twoją anielską cierpliwość do mnie.
      • 8: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 13:18 (1 dzień temu) zmieniony
       
      W Alley Cat zależy mi głównie na wyłączeniu kolizji tylko na tej ostatniej planszy gdzie musimy wdrapać się po sercowych półkach do tej białej kotki na górze, żeby te czarne kocury nas nie rzucały z pólek na dół. Reszta może zostać niezmieniona aby nie psuć zabawy. Nad tym właśnie próbuję pracować.

      W Tree Surgeon pracuję nad całkowitym wyłączeniem kolizji z wszystkimi zwierzątkami.
      • 9: CommentAuthorVidol
      • CommentTime9 Sep 2025 13:53 (1 dzień temu)
       
      W Tree Surgeon nie jest tak łatwo, bo każda zwierzyna ma inna procedurke sprawdzania kolizji:)
      Kota i wronę mam, wąż teoretycznie też powinien być już bezkolizyjny ale jeszcze nie doszedłem dlaczego nie jest :) Jeszcze jedno gracz sklada sie z 2 sprajtów + 3 to przedmioty które nosi ze sobą. Kot, wrona i wąż to 4 sprite. Natomiast osy i pisklaki to jeszcze inna bajka bo to nie sprjaty tylko animowana grafika.

      Mała podpowiedź:
      Ustaw breakpointa write na $d000 - pozycja bohatera i powinieneś znaleźć adres komórki w której przechowywana jest jego pozycja X. Następna po niej to pozY.
      • 10: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 14:37 (1 dzień temu)
       
      Vidol te osy i pisklaki możemy zostawić. Jak wpisać pozycję bohatera, bo ustawiłem break'a write na $D000 i przy pierwszej kolizji z myszką debuger wyświetlił mi coś takiego:
      • 11: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 15:11 (1 dzień temu) zmieniony
       
      Vidol, jak będziesz miał chwilkę czasu to rzuć też proszę fachowym okiem na Alley Cat na tę ostatnią planszę z kotką w celu wyłączenia kolizji z kocurami. Załączam zrzut pamięci dla Altirry już na tym ostatnim etapie aby można już było od razu działać na tej właśnie mini grze. Też próbuję tam pracować ale jak dotąd bez rezultatu.

      Żeby nie przechodzić całej gry to wczytuję tego SaveState'a, włączam debugera i próbuję działać.
      • 12: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 15:17 (1 dzień temu)
       
      Tego Tree Surgeon sobie odpuszczam bo tego raczej nie ogarnę. Jak już ty wspomniałeś że nie jest łatwo, to dla mnie jest już całkowita beznadzieja.
      • 13: CommentAuthorVidol
      • CommentTime9 Sep 2025 15:23 (1 dzień temu) zmieniony
       
      Tak jak pisałem jest to pozX bohatera $6a9b a $6a9c to pozY. Ustawiasz teraz w memory breakponita na pozX i lecisz dalej. Powinieneś znaleźć procedurkę, która coś tam doda coś odejmie i zapisze do jeszcze innych adresów. Dopiero te wartości są porównywane z pozx kota( $67d6). Procka siedzi pod $695b, zmiana jednego bajtu da odporność na kota.Spróbuj znaleźć którego:)
      • 14: CommentAuthorChandraStar
      • CommentTime9 Sep 2025 17:07 (1 dzień temu) zmieniony
       
      Vidol, Niestety poddaję się, nic z tego nie łapię. To jest za skomplikowane dla mnie. Bez znajomości assemblera oraz pełnej znajomości obsługi tego debugera nic tu nie wskóram. Dobra zapomnijmy o tym szkoleniu bo to trzeba pokazać i wyjaśnić na żywo krok po kroku. Takie szkolenie na forum to jednak nie zda egzaminu.

      Podaj mi proszę po prostu ostateczne adresy do zmiany, i pomóż mi proszę jeszcze tylko z tym Aley Cat z tą ostatnią planszą i nie będę już Ci zawracał głowy. Dziękuję Ci za wszystko.
      • 15: CommentAuthorVidol
      • CommentTime10 Sep 2025 15:51 (7 godzin temu) zmieniony
       
      Zamiast szukać kolejnych procedur zastosowałem inne zbiorcze podejście do tematu. Teraz wszystkie 'żyjątka' nie są już groźne. Oczywiście dalej można się zabić spadając z wysokości i wpadając do wody.

      [A0] 0C 20 E5 8C 
      zmieniamy na
      [60] 0C 20 E5 8C

      Poprawkę należy zastosować w 2 miejscach $4d94 i $67ac


      Dla zainteresowanych poprawka na życia $aaa9
      [CE] 9E AA A9 0B
      zmieniamy na
      [AD] 9E AA A9 0B


      Edit:
      Przy okazji dorobiłem 'pytajnik' do gry :)
      W załączniku gra z trainerem i zródło tegoż
      • 16: CommentAuthorChandraStar
      • CommentTime10 Sep 2025 16:41 (7 godzin temu)
       
      Znakomita robota Vidol, zazdroszczę Ci tej wiedzy, niestety ja jakoś nie mogę tego na razie ogarnąć. Próbuję cały czas z tą ostanią planszą w Alley Cat, robię breakpointy coś tam złapie, zmieniam różne bajty już na chybił, trafił, ale nic, bez skutku.

      Chciałbym Cię poprosić o pomoc z tą planszą. Powyżej jest zrzut pamięci aby nie przechodzić całej gry. Jeszcze raz dzięki za pomoc z Tree Surgeon.
      • 17: CommentAuthorVidol
      • CommentTime10 Sep 2025 17:32 (6 godzin temu) zmieniony
       
      Bez przesady coś tam umiem ale daleko mi do takich magików jak np. Seban. Co do kota to spojrzę na to, ale to dopiero jutro. Dobrze, ze zrobiłeś sejwa bo nigdy mi ta gra jakoś nie podchodziła i jak bym miał ja od początku przechodzić to pewnie bym odpuścił :)
      • 18: CommentAuthorChandraStar
      • CommentTime10 Sep 2025 17:54 (5 godzin temu) zmieniony
       
      Dziękuję Vidol, ale przynajmniej potrafisz zhakować gry z dość trudnym kodem więc twoja wiedza w tym zagadnieniu jest już niewątpliwie dość zaawansowana. Z tym Alley Cat, to tak właśnie pomyślałem aby nie zmieniać całej gry gdyż zepsuło by to zabawę, dlatego wystarczyło by zrobić właśnie tylko tą jedną planszę, bo najwięcej graczy właśnie na niej traciło najwięcej nerwów, kiedy spadali w dół będąc już dosłownie kroczek od kiciuni Feli. Jeśli Ci się uda, to również poproszę o opis bajtów do zmiany, tak jak w przypadku Tree Surgeon. Dziękuję Vidol za twój poświęcony czas, bardzo to doceniam.

      Rzeczywiście, tempo gry jest naprawdę bardzo wysokie i nawet minimalny kiepski ruch może popsuć nasze plany, ale trzeba przyznać że Św. Pamięci BILL WILLIAMS zrobił naprawdę doskonałą grę. Dla mnie osobiście ta gra jest takim Sand Box'em, a nawet arcydziełem wśród gier na Atari z najwyższej półki, ponieważ mechaniki gry zastosowane w tej grze to w większości rzadkość w grach na Atari. No i te wspaniałe dźwięki imitujące kota, myszy oraz psy, to naprawdę totalna rewelacja.