Autor Wątek: Castlevania - port na CPC  (Przeczytany 25082 razy)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Castlevania - port na CPC
« dnia: 2014.12.13, 01:37:37 »
Chciałbym donieść że zapadła decyzja by przenieść przygody tego śmiałka z pejczykiem, na naszą zacną platformę. :)
Inicjatorem tego pomysłu jest znany tu od niedawna Gotham, zapalony jak neonówka programista w C. :)
Od paru dni zawracał mi głowę i nawet się nieco poróżniliśmy w poglądach co do sposobów i kolejności w jakiej trzeba się zabrać za pewne sprawy. Ale mniejsza...

Może wpierw spójrzmy jak to wygląda na innych platformach. Ta gra ma spooooro części, a chodzi nam o tę:
http://www.mobygames.com/game/castlevania/screenshots
I jak i jak?? ;)

Mamy też kompletne mapy i sprajty z wersji na NES-a, o tutaj:
http://www.nesmaps.com/maps/Castlevania/CastlevaniaBGonly.html      

Łeeee no to z górki. ;) Tylko żeby to zrobić na CPC w 16 kolorach to trzeba poszerzyć pikselki, a tym samym wywalić połowę z nich. :(
A pierwszy poziom po takiej drastycznej operacji, jeszcze przed pikselowymi poprawkami, wygląda tak jak na obrazkach poniżej. W ostatnim jest paleta jaka będzie we wersji na Plusa. Z okazji że port na C64 ma podobnej szerokości piksele można się spodziewać że troszkę się nią będziemy inspirować. ;)

Pokrojenie tak skonwertowanej grafy na ekrany jest łatwe, ale zajmuje tyle miejsca że nawet pierwszy poziom nie zmieściłby się na stronie dyskietki, a jest ich kilkanaście. Więc trzeba to podzielić na "kafelki", które się powtarzają. Zapisać każdy z nich tylko raz, oraz rozmieszczenie ich na planszy. Tak 8x8 by było w sam raz, i wstępne szacunki wskazują że wszystkie poziomy powinny się zmieścić w maks 30KB.
Jak niektórzy pamiętają pisuję tylko w Basicu, Gotham pracuje w pikselkach i doszkala się o CPC, a tymczasem już w tym momencie przydałaby mi się procedura w asemblerze, która przenosi z bufora taki kafelek na ekran rozsiewając odpowiednie bajty gdzie trzeba. Tygrys się zaoferował i coś tworzy, ale może ktoś inny nie mniej zdolny ma więcej czasu. Moje GG stoi otworem. Spec od Z80 potrzebny, wyjaśnię co to ma robić. :)

Na razie korzystam z tricku jaki tu kiedyś opisywałem do wąskich kolorowych literek. Tyle że z 2x8 w 16kol łączone po 4. To nie będzie tak szybkie jak Asm, ale o niebo szybsze niż PEEK i POKE. :D  I za parę dni powinienem tu wstawić DSK ze surową jeszcze prezentacją wszystkich leveli. ;)

A jak dobrze pójdzie to i sprajtów. Ale tu by mi się przydała pomoc, może ktoś umie zamieniać animowanego GIFa na poszczególne klatki wklejone na obrazku obok siebie. Każda pomoc w tym mile widziana. :)
Sprajty wyglądają na 3 kolorowe czyli po 2bity na piksel a nie 4 jak tła. I na moje mogłoby tak zostać. Tylko trzeba je potraktować tak jak resztę grafiki, aby ludki nie były za grube. No i to na razie tyle.

Sugestie i komentarze, pochwały i zażalenia - wszystkie mile widziane. :D
« Ostatnia zmiana: 2014.12.13, 02:12:17 wysłana przez ZbyniuR »
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Castlevania - port na CPC
« Odpowiedź #1 dnia: 2014.12.13, 10:36:11 »
No to po kolei...

1)
 Fajnie że robicie chcecie robić Castlevanię na CPC. Przypomnę jednakże Spectrum nie gorsze i lada dzień ma się ukazać oryginalny epizod Castlevanii (nie remake) na Spectrum z dostępną polską wersję językową :)



2)
Cytuj
Więc trzeba to podzielić na "kafelki", które się powtarzają.
Tutaj mogę polecić program Mappy:
http://tilemap.co.uk/mappy.php
Można tam budować mapy z tilesów (kafli, płytek zwał jak zwał). Jest też opcja wczytania screenshota i następnie podzielenia go na niepowtarzające sie tile.

3)
Cytuj
Tak 8x8 by było w sam raz,
Radziłbym 16x16. Łatwiej się projektuje i dane poziomów zajmują cztery razy mniej pamięci

Szacunek dla Spectrum (rozdzielczość 256:192)
8x8 - 32 tile w poziomie i 24 w pionie daje 32*24=768 bajtów na ekran
16x16 - 16 tile w poziomie i 12 w pionie daje 16*12=192 bajtów na ekran

Z drugiej strony wygląda na to że wersja Castlevanii dla C64 rzeczywiście używa tile 8x8 (lub licząc według długich pikseli C64 4x8) - trzeba by pewnie sporo przeprojektować.





RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Castlevania - port na CPC
« Odpowiedź #2 dnia: 2014.12.13, 10:41:59 »
4)
A i jeszcze jedno.. zanim na poważnie poświęcisz czas temu projektowi oceńcie uczciwie czy starczy wam zapału i umiejętności - na taką grę potrzeba minimum 100 godzin pracy i dobrej znajomości asemblera.

Chyba że chcecie sobie bez napinki porysować mockup screeny - wtedy ok :)

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Castlevania - port na CPC
« Odpowiedź #3 dnia: 2014.12.13, 17:51:53 »
Jak się nazywa ta gra na ZX co przypomina Castlevanie? Bo jestem ciekaw jak to chodzi i chętnie obejrzałbym filmik.
Na CPC jest gra Night Hunter która planszami i sprajtami bardzo przypomina niektóre plansze z teraz nie jestem pewien czy z 2ki czy 3ki Castlevanii. Ale myślę że w kolorowszym trybie by to wyglądało lepiej. :)
http://www.mobygames.com/game/cpc/night-hunter/screenshots

Co do wielkości kafli (bo wolę tą nazwę niż obcą tilesy), to prosta matematyka nie jest mi obca i wiem że im większe kafle tym mniej bajtów na ich rozmieszczenie, ale jednocześnie więcej na każdy kafel, a także powyżej pewnej wielkości może się okazać że różne kafle zawierają w sobie takie same elementy i wychodzi więcej rodzajów kafli niwelując oszczędność z ich mniejszej ilości na ekranie.

Jestem w trakcie pisania programu który dzieli na kawałki i liczy ile ich rodzajów wychodzi. I mam zamiar sprawdzić różne rodzaje by dokładnie wyliczyć w jakiej postaci plansze będą zajmowały najmniej miejsca. Zacznę od 8x8 bo tak sobie życzy Gotham, ale sprawdzę też 8x16, oraz ich węższe o połowę wersje. Bo to nawet jakby nieco więcej zajęło miejsca to może się okazać wygodniejsze do napisania szybkiej procedury do przesuwania ekranu w bok. Bo sprzętowy skok w bok  w MODE 0 to właśnie 4 piksele szerokości. A z każdym przesunięciem właśnie takie kafelki trzeba by dodawać na krawędzi ekranu.

Co do zapału. To nie ma być za pieniądze. Więc nawet w przypadku nieskończenia nie będzie ten czas liczony jako stracony. Gotham zrobił parę gierek na Symbiana więc chyba wie co robi, choć na CPC to jego pierwszy poważny projekt. Ja z moim Basiciem i tak po skończeniu plansz nie będę już przydatny. Co najwyżej do szukania na forum tu lub angielskim pomocy koderów w razie gdyby język C okazał się niedostatecznie wydajny. Są na CPCWiki podane procedury w asemblerze do takich kluczowych rzeczy jak buforowanie fragmentów ekranu przy wyświetlaniu sprajtów oraz przesuwania ekranu. Ale diabeł tkwi w szczegółach i może będzie potrzebna pomoc kogoś kto podpowie jak to zsynchronizować by nic nie mrugało. :)
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Castlevania - port na CPC
« Odpowiedź #4 dnia: 2014.12.13, 18:07:57 »
Gier podobnych pod względem silnika do Castlevanii (czyli chodzi facet i skacze po platformach) jest całe mnóstwo, Castlevania nie jest pod tym względem niczym wyjątkowym.

A jeśli chodzi o klimat to na przykład:

Addams Family


Blade Warrior


Mystery of Ancient Castle


Capitan Trueno:



Pedro v Strasidelnom Zamku


i wiele wiele więcej.

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Castlevania - port na CPC
« Odpowiedź #5 dnia: 2014.12.13, 19:04:09 »
Wiem że jest dużo, ale jeśli nie mają pejczyka/bata to nie liczę jako podobnych. :P
I proszę mi tu nie odwracać uwagi od Amstradowych obrazków. ;) Drugiego z trzech nawet nikt nie zauważył. :(
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Castlevania - port na CPC
« Odpowiedź #6 dnia: 2014.12.13, 21:48:50 »
Przedstawiam 2 ekrany tytułowe gry.


Wersja Amstrada CPC



Wersja Amstrada CPC PLUS
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

Ender

  • **
  • Wiadomości: 76
  • Miejsce pobytu:
    Ostrowo/powiat gostyński/Wielkopolska
  • Amiga 1200, PM MDD - MorphOS, Dreamcast, Xbox, Wii
Odp: Castlevania - port na CPC
« Odpowiedź #7 dnia: 2014.12.13, 22:49:52 »
A czy byłaby szansa zobaczyć kod gry w C? Amatorsko interesuję się programowaniem i na pewno czegoś ciekawego bym się dowiedział. W sieci mało jest przykładów gier w C (przynajmniej ja nie znalazłem ich zbyt wielu). A może kolega piszący przy okazji jakiś kurs programowania gier w C by skrobnął i wsparł przykładem tworzonej gry?

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Castlevania - port na CPC
« Odpowiedź #8 dnia: 2014.12.14, 09:20:13 »
Kursów C w internecie nie brak. Jeśli chodzi o przykłady dla cpc to jest taka stronka.
http://www.cpcmania.com/Docs/Programming/Introduction_to_programming_in_SDCC_Compiling_and_testing_a_Hello_World.htm

Sam kod gry zostanie udostępniony jak powstanie a to znowu uzależnione jest od grafiki;) Żeby coś robić trzeba mieć z czym pracować.
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

zaxon

  • *****
  • Wiadomości: 4695
Odp: Castlevania - port na CPC
« Odpowiedź #9 dnia: 2014.12.14, 11:49:22 »
Wersje na CPC Plus mozna zrobic na cartridge ;)
Siedem kilo smalcu,gesich jajek kopa,zeby moc to polknac tegiego trza chlopa. GG 3456993

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Castlevania - port na CPC
« Odpowiedź #10 dnia: 2014.12.14, 18:41:20 »
Jak tylko to będzie opłacalne :P Wykonanie karta kosztuje , a nie wiem kto chciałby karta bez oryginalnej obudowy ;)
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

zaxon

  • *****
  • Wiadomości: 4695
Odp: Castlevania - port na CPC
« Odpowiedź #11 dnia: 2014.12.14, 19:03:13 »
Zrobienie carta to pare groszy, a jak sie dopisze ze to pierwszy cart z gra na CPC + od 24 lat, do tego edycja kolekcjonerska, tylko 20 sztuk, numerowane i z autografami autorow to wierz mi, beda sie cuda dzialy.
Siedem kilo smalcu,gesich jajek kopa,zeby moc to polknac tegiego trza chlopa. GG 3456993

gotham

  • ***
  • Wiadomości: 135
  • Miejsce pobytu:
    Kraków
Odp: Castlevania - port na CPC
« Odpowiedź #12 dnia: 2014.12.14, 19:23:55 »
Wszystko by było ok gdyby nie fakt że nie można sprzedawać nie swojej gry. I to ten problem :/
Amstrad  6128 plus + CM14 , Gamecube , Xbox 1 , PSP , Neogeo Pocket color x 2 ,

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Castlevania - port na CPC
« Odpowiedź #13 dnia: 2014.12.15, 09:01:08 »
Gratuluję pomysłu i trzymam kciuki za powodzenie projektu.
Cennych porad udzielił Rafał. Dodałbym jeszcze że najważniejszy jest zapał, reszta przyjdzie sama, czy to poprzez wiedzę przekazaną przez innych.

Wersja na CART jest możliwa do zrobienia, tylko trzeba się trzymać kilku zasad, jak chociażby nie pisanie procedur automodyfikowalnych.

@Ender: jak chcesz to mogę wspomóc w pisaniu gry w C, problem w tym że to Ty musisz zacząć. Żadne kursy niewiele dadzą, jeżeli sam nie zaczniesz sam próbować pisać.


Ender

  • **
  • Wiadomości: 76
  • Miejsce pobytu:
    Ostrowo/powiat gostyński/Wielkopolska
  • Amiga 1200, PM MDD - MorphOS, Dreamcast, Xbox, Wii
Odp: Castlevania - port na CPC
« Odpowiedź #14 dnia: 2014.12.15, 21:57:48 »
Problem w tym, że zaczynam, a później dopada mnie proza życia i na tym koniec.  :-[ Pomyślę, podeślę parę pytań na priva przy chwili czasu.