[NES] Green Dizzy, czyli hack TFAoD

Tu możesz się pochwalić swoimi dokonaniami.
Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

[NES] Green Dizzy, czyli hack TFAoD

Postautor: Berion » 3 cze 2008, o 09:02

Witam,

Od niedawna wziąłem się za przemodelowanie jednej z moich ulubionych gier, na jedną z moich ulubionych platform. Tak, to nieśmiertelne, jajo z łapami. :>

Obrazek

Niniejszy hack przygotowałem z myślą o jednej z najciekawszych i najbardziej mi bliskich gier na NES/Famicom - The Fantasctic Adventures of Dizzy.

Lokacje
Zdecydowana większość z nich została zaprojektowana zupełnie od nowa - głównie pod kątem rozmieszczenia gwiazdek i key itemów z oryginalnej wersji. Pierwotnie bowiem, wcale nie miałem zamiaru aż tak radykalnie modyfikować gry. Dzięki znalezieniu większości tablic (w czym niewątpliwie bardzo pomógł Dizzy9) mogłem w końcu rozwinąć skrzydła na polu Level Designing. Starałem się odrobinę podnieść poziom trudności, toteż sporo przeciwników została zakamuflowana, w niektóre miejsca trudniej się dostać i trudniej je znaleźć. Znajomość oryginalnej wersji jest jak najbardziej pożądana. Co tu dużo mówić: jest hardcore'owo. :>

Gwiazdki
Wszystkie zmieniły swoje położenie. Niektóre zostały chytrze poukrywane lub stały się trudno dostępne.

Key Itemy
Większość z nich zmieniła swoje położenie nie tylko w obrębie danej mapy, ale i całej gry (kilka postaci oferuje nawet inne przedmioty). W konsekwencji tego, zmiany pociągnęły za sobą nieco inną kolejność wykonywania zadań i sposób dostania się w określone miejsce. Należy też uważać, aby nie zostawić w głupim miejscu liny lub np. nie wykopać dołu na cmentarzu przed ułożeniem mostu - można sobie w ten sposób uniemożliwić ukończenie gry.

Kolory
Wiele palet uległo modyfikacjom jak np. smok w kopalni, kolor morza (lazurowe :)), kolory łap Yolkfolków, płomieni, lawy, świniaka przed lasem etc.

pozostałe zmiany i fix'y
- Zwiększona do maksimum prędkość wagoników w mini grze w kopalni.
- Start gry niekoniecznie w domu Dizzy'ego
- (...) i niekoniecznie z dwoma życiami. ;P
- Wstawiony nieużywany moduł muzyczny do jednej z lokacji.
- Lekko zmodyfikowana lista dialogowa dwóch postaci co niestety czyni tłumaczenia tej gry niekompatybilnymi z niniejszym hackiem. Po szczegóły zapraszam zainteresowanych na PM/e-mail.
- Poogie nie biega w powietrzu co wyjątkowo raziło w poprzednich wersjach GD.
- Kilka fix'ów w grafice, których i tak nikt nie zauważy. :P


Archiwum zawiera dwie łatki:
Pierwsza przygotowana jest w formacie NINJA2 (*.rup) z myślą o wersji NTSC/U z '91 roku. bety, overdumpy i pozostałe wersje z kolejnych lat nie dadzą się spatchować (MD5). Druga w formacie *.ips dla osób upoś... dla osób leniwych, które nie potrafią wpisać w google trzech liter. ;P Zrezygnowałem z patcha eksperymentalnego jakim był evening.ips, zmieniający kolory wieczoru/świtu z ciemnoniebieskiego na mocny-pomarańczowy. Patch był opcjonalny i niedopracowany.

Patcher:
http://www.romhacking.net/utils/329/

Łata:
http://www.romhacking.net/hacks/413/
http://konsole.cdrinfo.pl/p/scena/green ... zy_v11.rar


BUG-i:
  • Staraj się nie układać koło siebie trzech kamieni. Może się zdarzyć, że po wrzuceniu
    do wody nie podniosą jej poziomu. Owocuje to całym szeregiem dziwnych zdarzeń i błędów
    w późniejszej fazie gry. Najlepiej albo od razu wrzucać zebrany kamień do stawu, albo
    wcale ich nie ruszać.
  • W mini-grze w kopalni, na ostatniej prostej tuż przed dziurą prowadzącą do miasta
    nieco zwolnij. W przeciwnym razie zawsze gra będzie liczyć wypadek spowodowany przez
    "kreta".
  • Błędy, takie jak dziwne przenikanie przez siebie bitmap czy też znikanie owoców
    i diamentów w kopalni nie wynikają z mojej nieudolności, a programistów.
Specjalne podziękowania:
  • >> Chronix
    Za program i objaśnienie zastosowanego w grze algorytmu kompresji bitmap jak również
    za program do dekompresji grafiki na ekranie z logiem Codemasters.
  • >> dla Grimm
    Za napisanie świetnego edytora map (bez tego programu nie byłoby Green Dizzy),
    rozpracowanie systemu poruszania się Poogie i kilka ASM modów.
  • >> dla FFGriever
    Za przepisanie i usprawnienie programu Chronix'a. Czasem potrafi się wysypać
    (np. na diamentach), ale generalnie to świetny program. :)
  • >> Dr00id88
    Za unieruchomienie futrzaka i fix na kuszę. Niech ASM6502 będzie z Tobą!
Obrazek Obrazek
Obrazek Obrazek

- Berion / Dizzy9
~ Primum non nocere ~

Awatar użytkownika
Dracu
Posty: 10
Rejestracja: 8 cze 2008, o 10:52
Kontakt:

Re: [NES] The Fantastic Adventures of Dizzy ('91)

Postautor: Dracu » 8 cze 2008, o 11:53

Uwielbiam Dizzy'ego !! i z przyjemnoscią pogram w nową odslone tej wspaniałej gry : ) a tak na boku, to którą wersję hackujesz? Blue czy może Red?

Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

Re: [NES] The Fantastic Adventures of Dizzy ('91)

Postautor: Berion » 8 cze 2008, o 19:14

Jak sama nazwa tematu wskazuje, blue ;]
~ Primum non nocere ~

Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

Re: [NES] The Fantastic Adventures of Dizzy ('91)

Postautor: Berion » 12 cze 2008, o 19:48

O to i wersja 0.7: :}
http://www.romhacking.net/hacks/413/

Wszelkie uwagi, pytania, joby, propozycje etc. mile widziane. Od razu mówię: gra jest trudna (tj. trudniejsza) ponieważ kilka przedmiotów jest ukrytych, a w kilka miejsc trzeba się dostać używając mózgu. Jeśli ktoś nie zna wersji oryginalnej będzie mieć spory orzech do zgryzienia (taki był plan :>). Uczulam też aby myśleć gdzie się zostawia przedmioty bo można sobie uniemożliwić w ten sposób ukończenie gry (co w mojej wersji znacznie łatwiej osiągnąć).
~ Primum non nocere ~

Dizzy9
Posty: 34
Rejestracja: 10 cze 2008, o 12:20

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Dizzy9 » 17 cze 2008, o 11:40

Berion prosił mnie o to więc teraz spróbuję wytłumaczyć specyfikę tablicy itemów w FAOD na Game Gear.
Zajmiemy się tutaj "Kluczem do windy Denzila"Który leży na lewo od Domku Dizzego.Aha,jeszcze jedno.Na Game Gear jest tylko wersja RED,nie Blue,ale sądząc po podobieństwach w GO! Dizzy GO!to myślę że z FAOD też może być podobnie zrobione.
Wszystkie itemy mieszczą się w jednym skupisku.
Adres klucza:BEF0.Każdy item ma kilka adersów które go warunkują. I tak:
0E-Oznacza ekran na którym item jest.jeżeli wstawimy 00 to będzie on w domku Dizzy.
30-Koordynaty osi X mniejsze.Oznacza że zmieniając je zmieniamy położenie klucza na osi X
(czyli poziomo).Im mniejsza liczba tym przedmiot przesuwa się w lewo danego ekranu.
01-Koordynaty osi X większe.Oznaczają że jeżeli damy 02 to będzie to samo jakbyśmy dali FF
koordynatów osi X małych,ale przy 01 większych.Dziękli temu możemy przesuwać itemy
jeszcze dalej.
B0-Koordynaty osi Y.Przesuwamy item po osi Y(pionowo)
Tak jest zaprogramowany każdy item w grze.Łatwo także odgadnąć inne przedmioty bez ich szukania w grze.np.00 60 00 50 to musi być klucz do domku Dizzy ponieważ jest jedynym itemem na ekranie 00.
Mam nadzieję że zrozumieliście to co napisałem(bo ja raczej nie potrafię tłumaczyć "jak coś zrobić")

Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Berion » 17 cze 2008, o 15:25

bo ja raczej nie potrafię tłumaczyć "jak coś zrobić"
Jeśli mam być szczery to nie za bardzo. Ale nie przejmuj się - nie każdy musi być Mickiewiczem. Jakoś się dogadamy. :)


---

Przyznam, że inaczej to sobie wyobrażałem, ale nie szukałem żeby nie tracić czasu. Mianowicie pomysły miałem dwab:
1.) bez ID mapy, natomiast koordynaty na jednej dużej płaszczyźnie (w sensie: wszystkie mapy połączone razem), na czterech bajtach.
2.) ZZXXYY - gdzie ZZ to numer mapy, XX położenie na osi X, YY położenie na osi Y.

---

No ale przejdźmy do rzeczy:

W wersji na GG pod 0xBEF1 mamy pole bitowe: 0E30 01B0

0E - ID mapy
30 - współrzędne na osi X
01 - ?
B0 - współrzędne na osi Y

Jako, że długość danej mapy przekracza 2 bajty (przekracza 255d), użyto czterech bajtów. Teraz tak: nie za bardzo rozumiem jego działania. Logika by nakazywała w tych czterech bajtach umieścić liczbę odpowiadającą odległości od krawędzi mapy (dla osi X od lewej, dla osi Y od góry) - innymi słowy np. 0x3001 oznaczałoby 12289 (dec) pixeli od lewej, a tak nie jest.

Czyli hmmm... biorąc pod rozwagę rozdzielczość ekranu GG byłoby to (160px*2)-30=X
*2 ponieważ 01, czyli liczę to jako kolejny ekran.

Hmmm no to też mi się nie kalkuluje. Wyjaśnij to lepiej jak możesz.


---

Czy dla współrzędnych bitmapy (czyli zestawu tile'i), liczony jest lewy górny róg - w sensie: współrzędne lewego górnego rogu pierwszego z czterech tile'i?


edit:
Dobra, rozumiem już wszystko. Jest tak jak powyżej i wsio się zgadza. Tablica z key itemami jest taka sama jak w wesji na GG. W wersji z '91 na NES zaczyna się na 0x3F754 i to jest klucz do domu Dizzy'ego (0x8).

Poniżej wzór na współrzędne w wersji NES (dla obu wersji), który opracowałem:

a, b i c należą do zbioru liczb R {0-255}

dla b=0 ID(256-a,194-c)
dla b>0 ID[(256*b)-a,194-c]
~ Primum non nocere ~

Dizzy9
Posty: 34
Rejestracja: 10 cze 2008, o 12:20

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Dizzy9 » 18 cze 2008, o 10:41

Yep,i oto chodziło,nie podałem adresu od razu bo mógłbyś nie zrozumieć,ale widzę że kumasz.Anyway....szykuje się update patcha,nie?
EDIT:
Mam coś ciekawego,ale w domu(zapisałem w zeszycie.)

Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Berion » 18 cze 2008, o 17:07

Yep,i oto chodziło,nie podałem adresu od razu bo mógłbyś nie zrozumieć
I śmiem twierdzić, że zrozumiałbym szybciej ;P
szykuje się update patcha,nie?
Prędzej czy później na pewno. Obecnie jednak mam na głowie Warsaw City (ostatnie szlify, że tak powiem) i GUI do ESR (exploit na PS2).
Mam coś ciekawego,ale w domu(zapisałem w zeszycie.)
Nie omieszkaj zatem się z nami tym podzielić.

---

Wczoraj jeszcze troszkę przysiedziałem nad tym i znalazłem na razie klucz do domu Dizzy'ego, którego nie będę przemieszczać ze względu na łapę), klucz do windy Denzil-a i dechę. Nie taka to prosta sprawa bowiem lokacje nie są po kolei jeśli chodzi o kolejne wartości dla ID map.

Domyślam się, że tablica z gwiazdami jest taka sama, toteż jest kwestią czasu kiedy zostanie znaleziona.
~ Primum non nocere ~

Dizzy9
Posty: 34
Rejestracja: 10 cze 2008, o 12:20

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Dizzy9 » 18 cze 2008, o 20:22

Podać listę lokacji?OK...
Aha jeszcze coś ciekawego:weź adres c25.Tam masz chyba 85 zamień na np.70.Zapisz zmiany i zagraj.Spróbuj wyjść z domku Dizzy ;D
EDIT:
00-Domek Dizzy
01-Domek Dylana
02-Domek Daisy
03-Domek spotkań
04-Domek Dory
05-Domek Dziadka
06-Domek Dozego
07-Domek Denzila
08-Korony drzew(Tam gdzie stoi domek Dozego)
09-Wioska Ekran z domkiem Dory
0A-Wioska Ekran z domkiem Dylana
0B-Wioska Ekran z domkiem Dziadka
0C-Wioska Ekran z domkiem Denzila
0D-Wioska Ekran z domkiem Spotkań
0E-Wioska Ekran z Domkiem Dizzy
0F-Winda naziemna(Tam gdzie jest Książe)
10-Ekran na którym jest wejście do kopalni i wulkan
11-Plaża
12-Ekran z wodospadem
13-Jaskinia z trampoliną
14-Podwodą ekran 1(licząc głębokość)
15-Podwodą ekran 2
16-Cmentarz
17-Ekran na którym jest skrzat(trzecie wyjście z minigry jazda kolejką)
18-Żagle Statku pirackiego
19-Statek piracki
1A-Ładownia na statku pirackim ekran 1
1B-Ładownia na statku pirackim ekran 2
1C-Miasto tam gdzie stoi sklepikarz
1D-Miasto tam gdzie jest czwarte wyjście z kopalni.
1E-Miasto tam gdzie są puzzle
1F-Chmury z zamkiem Zaksa
20-Chmury które są o ekran niżej
21-Najwyższa partia zamku Zaksa
22-Środkowa partia zamku Zaksa(Tam gdzie używamy dywanu)
23-Parter zamku Zaksa(Tam gdzie jest winda)
24-2A nie wypisuję ponieważ są to przejścia między częściami miasta...
2B-Pierwszy poziom kopalni
2C-Drugi poziom kopalni(Tam gdzie można pojechać wagonikiem)
2D-Trzeci poziom kopalni
2E-Wyższy poziom zamku księcia
2F-Dolny poziom zamku księcia
30-Podwodna jaskinia
Tyle...ale jakby mi czegoś brakowało.W każdym razie masz te numerki.

Awatar użytkownika
Berion
Posty: 598
Rejestracja: 3 cze 2008, o 08:34
Grupa: żadna, freelancer :P
Kontakt:

Re: [NES] Green Dizzy, czyli hack TFAoD

Postautor: Berion » 18 cze 2008, o 21:03

AP! ładnie, tylko że po zmianie współrzędnych wiesza się (chyba, że wywalimy poza ekran). Hmm...

---

Co do lokacji to na początku, na logikę przepisałem z edytora do Dizzy'ego, ale to niestety zły trop! Moja lista jest identyczna z Twoją i widać sugerowaliśmy się tym samym. ;) Niestety nie wszystko się pokrywa i trzeba to jeszcze raz napisać (proponuje moje nazewnictwo - imho przejrzyściej).

00 - chałupa Dizzy'ego
01 - chałupa Dylana
02 - chałupa Daisy
03 - jadalnia
04 - chałupa Dora'y
05 - chałupa dziada
06 - chałupa Dozy'ego
07 - chałupa Denzil-a
08 - las LV8
09 - las LV7
0A - las LV6
0B - las LV5
0C - las LV4
0D - las LV3
0E - las LV2
0F - las LV1
10 - wejście do kopalni
11 - morze LV1
12 - wodospad
13 - cmentarz B1
14 - morze B1
15 - morze B2
16 - cmentarz LV1
17 - pole fasoli ;]
18 - statek LV2
19 - statek LV1
1A - statek B1
1B - statek B2
1C - miasto - ul.zamkowa
1D - miasto - ul.mostowa
1E - miasto - ul.portowa
1F - chmury LV2
20 - chmury LV1
21 - zamek Zaks-a LV3
22 - zamek Zaks-a LV2
23 - zamek Zaks-a LV1
24 - miasto - podziemne przejście 1
25 - miasto - podziemne przejście 2
26 - miasto - podziemne przejście 3
27 - miasto - podziemne przejście 4
28 - miasto - podziemne przejście 5
29 - miasto - podziemne przejście 6
2A - miasto - podziemne przejście 7
2B - zamek troli LV1
2C - kopalnia B1
2D - kopalnia B2
2E - kopalnia B3
2F - zamek troli LV2
30 - morze B3


Poniżej zamieszczam lokacje, które zidentyfikowałem:

00 - chałupa Dizzy'ego
02 - chałupa Daisy
03 - jadalnia
11 - wejście do kopalni
13 - wodospad
14 - cmentarz B1

---

Co do item-ów to idą tak: zaczynamy od 0x3F754, potem 6 bajtów przerwy i kolejny, potem znowu przerwa, potem znowu kolejny itd. aż do końca tablicy. Podejrzewam, że te 6 bajtów to jakieś atrybuty, ale na razie nie udało mi się ich rozszyfrować. Podejrzewałem, że kolejne muszą zawierać współrzędne ich użycia, ale niestety do tego potrzebnych byłoby 8, a nie 6 bajtów.

Jeśli masz czas to plis posiedź nad tym.

---

Teraz mam mało czasu, więc i więcej nie będę szukać. Jak coś znajdziesz to daj znać.
~ Primum non nocere ~


Wróć do „Projekty ukończone”



Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości