Nowa, Druga Gra od C64portal.pl

Po wydaniu Robot Jet Action w mojej głowie roiło się od pomysłów na nową grę. Nie umiałem usiedzieć bezczynnie i zacząłem prace nad nową grą…

I na razie gra nie ma jeszcze tytułu, ale z grubsza wiem co chciałbym tym razem stworzyć. Wyzwanie dla mnie będzie dość duże bo cały czas widzę jak dużo muszę się jeszcze nauczyć, ale po kolei…

Co to za gra?

Tym razem chę zrobić ponownie platformówkę, ale scroll’owaną. Na pewno bohater będzie miał jakiś gun i będzie strzelał do przeciwników. Taki Run’n’Gun mi się marzył już od jakiegoś czasu. Całość chciałbym utrzymać w tematyce science-fiction w stylu cartoonowym. Moją inspiracją są tutaj takie tytuły jak Mega Man, Metroid czy Turrican albo nawet Ruff’n’Tumble z Amigi. Celuję aby to była gra typu action-adventure, z elementami jakichś prostych zagadek ale i z elementami zręcznościowymi jak na platformówkę przystało.

Na razie to co widzicie na filmie preview #1 jest zrobione, nieco na próbę. Tzn jakąś grafikę potrzebowałem na czas kodowania tej gry, ale czy to co widać zostanie na końcu – to się okaże. Na razie cały czas pracuję nad…

Engine

Tak jak poprzednio grę piszę w języku Kick-C ale czuję, że tym razem będzie więcej wstawek asemblerowych. Już teraz musiałem sporo się nakombinować przy scrollowaniu ekranu wraz z całą mapą kolorów. Pisałem takie coś po raz pierwszy – ucząc się w zasadzie od zera jak to zrobić. Oczywiście podejrzałem w starych grach Inflexion Development (Eternal i Shaman) jak to było zrobione, ale koniec końców napisałem to po swojemu. Tak po prawdzie, to tę część engine’a zacząłem pisać jeszcze w listopadzie 2021, gdy jeszcze intensywnie pracowałem na RJA. To co widać powstało ostatecznie gdzieś w marcu 2022.

Na filmie zobaczycie różne kolorowe paski na bocznych ramkach. Info dla nie koderów – tak podczas developmentu sprawdza się ile czasu procesora zajmuje dana procedura. Tam gdzie jest czarne to jest jeszcze jakiś zapas tak aby gra wyrabiała się w 50 fps – czyli co ramkę. Czerwony migający kolor to czas wykonania procedury przesuwania ekranu – uważam że jest raczej OK. Szary natomiast to czas obsługi wszystkich obcych na mapie gry. Tutaj mam jeszcze pole do optymalizacji. Fioletowy to muzyka podczas gry a żółty kolor to obsługa głównego player’a.

Medium

Jeszcze na początku tego roku rozmawiałem na Discordzie z jednym polskim koderem gier o nicku Sepa. Podpowiedział mi jak sam robi wersję kartridżową swojej gry (taki symulator rolnika). Zabrałem się wtedy do zakodowania obsługi kartridży w standardzie Easy Flash w języku Kick-C. Pomyślałem bowiem, że fajnie jak by moja gra była na takim dużym 1MB karcie. Mógłbym poszaleć z grafiką. Efektem tego jest kilka tygodni jakie spędziłem na opracowaniu takiego mojego mechanizmu ładowania elementów z gry z banków na kartridżu. Udało się i zadziałało to całkiem fajnie. Sam jestem zdziwiony, że mi się udało coś takiego zakodować. Myślę, że za jakiś czas chętnie podzielę się tym kodem w KickC i ta część do obsługi EF może komuś się przyda.

Ale… tak naprawdę jeszcze nie zdecydowałem czy gra będzie na dyskietce (.D64) czy na EF. Mam argumenty za tym i za tym. Odwlekam tę decyzję bo na razie gra musi być grą i mieć jakiś…

Scenariusz i gameplay

No, a jak na razie, nie ma 😉 . Nie chcę, bo wiem, że mi się nie uda zrobić czegoś tak rozbudowanego jak Metroid czy np. nasz commodorowski Steel Ranger. Dla tego będzie to taki bardziej Mega Man. I na razie tyle. Coś tam trzeba będzie zebrać, coś zanieść i coś przełączyć, aby przejść do kolejnych poziomów. Tyle na ten moment, bo tyle na ten moment umiem zaprogramować 😉

Grafika, Sprajty, Udźwiękowienie

Grafikę i sprajty… zrobię sam. W sumie to po to uczę się pisać gry aby dać upust swoim ambicjom jako grafik na C64 :). Jak widać na filmie preview #1 używam tych samych narzędzi co ostatnio – są sprawdzone, umiem ich sprawnie używać, i wiem, że mnie nie zawiodą. Na pewno zajdzie potrzeba wsparcia się innymi narzędziami i tutaj jakoś będę musiał sobie poradzić i pewnie coś stworzyć. Np w Robocie miałem specjalny program do układania przeciwników na planszach. Napisał go BroneCK (Samar, SMOK) za co wielkie dzięki po raz kolejny. Tego narzędzia tutaj jednak nie użyję (inny rodzaj gry) więc coś będę musiał wymyślić sam – mam już jakiś pomysł, ale o tym przy okazji następnego preview #2.

Co do muzyki to nie mam śmiałości już teraz zawracać mistrzowi Jammerowi głowę więc ten temat poczeka aż gra będzie bardziej zaawansowana.

Co dalej?

No i w zasadzie to tyle na tym etapie rozwoju. Przede mną bardzo długa droga i sporo żmudnej pracy. Ciężko powiedzieć kiedy to wyjdzie, ale chciałbym aby w 2023 roku zamknąć ten projekt. Ogarnąłem przewijany ekran i obsługę carta, co było dla mnie jakimś tam wyzwaniem. Na filmie tego nie widać ale mam też zakodowane kolizje sprajtów np ze strzałami z broni bohatera + kilka innych drobiazgów, które w tzw międzyczasie ostatnio dopisałem.

Zachęcam do obejrzenia filmu, komentowania no i zaglądana na mój portal. Coś chyba będzie się działo… co jakiś czas 😉 planuję kolejne filmy „preview” jeszcze w 2022 no i potem w 2023.

Carrion

ps. Wspominałem że mam też ambitny plan napisania gry na PC? 😉



Kategorie:Artykuły, c64, Gry

Tagi: , , , , , , , ,

2 replies

  1. Jeśli jeszcze sam na to nie wpadłeś, to podpowiem tylko że skrole zgrubne są zazwyczaj lekko rozpętlone – przykładowo dla ekranu w $400:
    ldy #0
    ?left:
    lda $0400+40*0+1,y
    sta $0400+40*0+0,y
    lda $D800+40*0+1,y
    sta $D800+40*0+0,y
    lda $0400+40*1+1,y
    sta $0400+40*1+0,y
    lda $D800+40*1+1,y
    sta $D800+40*1+0,y

    lda $0400+40*24+1,y
    sta $0400+40*24+0,y
    lda $D800+40*24+1,y
    sta $D800+40*24+0,y
    iny
    cpy #39
    jcc ?left
    a potem uzupełniasz sobie kolumnę z prawej. Analogicznie dla skrola w prawo.

    Polubienie

  2. znam znam. 🙂
    robię to nieco inaczej i jak na razie mi się wyrabia, ale taki totalny un-roll też ćwiczyłem i w razie czego mam go w zanadrzu.
    Dzięki za komentarz!

    Polubienie