Forum c64scene.pl to kopalnia pomysłów dla naszych commodorowskich tematów. Od niedawna na forum można śledzić tworzenie gry dla C+4 w … Pascalu.
Autorem wspomnianego wątku na naszym forum jest Zbyti. Kolega podjął próbę napisania mechanizmów AI dla przeciwników oraz prostej gry dla Commodore +4. Jako, że kolega ma doświadczenie z Atari podjął swą próbę w języku Mad Pascal – odmianie Pascala dla procesorów 6502. Mad Pascal został stworzony z kolei przez kolegę Tebe. W świecie Atari jest dość popularny, o czym świadczą wątki na forum atarionline.pl.
Jak napisał na forum Zbyti:
Od paru miesięcy Mad Pascal ma podstawowe wsparcie dla C64 a od 2 dni także dla Plus/4.
Pierwszy program jaki Zbyti wrzucił to przeróbka mojego programu napisanego w Kick C na Pascal (dzięki za docenienie 🙂 ) Wygląda to tak:
var
COLORRAM : array [0..0] of byte absolute $0800;
SCREEN : array [0..0] of byte absolute $0c00;
BORDERCOLOR : byte absolute $ff15;
BGCOLOR : byte absolute $ff19;
var
w0i, row : word;
b0i, b1i : byte;
begin
BORDERCOLOR := 0; BGCOLOR := 0;
FillByte(@SCREEN, 40 * 25, $a0);
for b0i := 0 to 7 do begin
row := 40 * b0i;
for b1i := 0 to 15 do COLORRAM[row+b1i] := (b0i shl 4) + b1i;
end;
end.
W ramach całego wątku powstała mini gierka, o której opowiadam i którą pokazuję w krótkim filmie. Zapraszam do obejrzenia bo na koniec pokusiłem się o niespodziankę i mam nadzieję, że może motywację dla Zbytiego i innych Atarowców do pisania dla C+4 i C64. Oczywiście Commodorowców chcących pisać na nasze maszynki także zachęcamy do przetestowania Mad Pascala.
Cały wątek, linki do githuba, przykłady itp znajdują się na forum c64scene.pl.
Carrion
Kategorie:C plus/4, Film, Programming
@Carrion Dzięki za wrzutkę i tak jak mówisz chętnie pomogę jakby co w dedykowanym wątku Mad Pascal na forum.
W epoce byłem szczęśliwym posiadaczem C128 ze stacją 1571 także za mnie Atarowiec drugiego sortu bo od niecałych 2 lat i tylko na emulatorze, ale to prawda, że ludzie z tamtego środowiska pomogli mi postawić pierwsze kroki w programowaniu na 8-bit.
Planuję z C+4 pozostać na dłużej bo wydaje się komputerem dokładnie takim jakiego szukałem dla moich retro zabaw w programowanie.
Obejrzałem wczoraj jeszcze raz Twój materiał o grafice na C+4 i wygląda, że poradzę sobie z grafiką tytułową od Ciebie 😉
PolubieniePolubienie
Dobre!
PolubieniePolubienie
Dzięki Zbyti za dobre słowo i za twoje boje z C+4 i Mad Pascalem… i w zasadzie rozumiem co masz na myśli. C+4 to faktycznie bardzo fajna 8 bitowa maszyna o ogromnych możliwościach.
Nie wątpiłem też że poradzisz sobie z grafiką 😉 Postaram się Ci podesłać coś w obecnej wersji roboczej abyś mógł już popróbować.
A może udało by się aby Twoja gierką poszła na C16/116?
PolubieniePolubienie
Dzięki KAZ… wszystko w duch współpracy /|\ i C= 😀
PolubieniePolubienie
To zależy od ilości RAM, teraz kod ma lekko ponad 8KB, więc można by wyłączyć ROM i się w 16KB zmieścić, nawet z czołówką od Ciebie :]
Popracuję jeszcze nad sterowaniem, bo teraz jest na szybko i czasem może zawieść, no i wybór poziomów szybkości bo ja wolę grać na tym co nazywam „normal” ale niektórzy gracze mogą chcieć mieć trochę więcej czasu na reakcję.
Do tego rozgrywkę dla 2 można by zrobić, albo w team przeciwko botom – ale to w dalszych wersjach (jeżeli będą).
Jeszcze jedno AI chciałbym zrobić z rekurencyjnym przeszukiwaniem najbliższego otoczenia – ale to jak będę miał natchnienie 😉
To tego wypadało by aby TED trochę pomruczał podaczs jazdy bolidów ale tutaj jeszcze nie mam doświadczenia ale nie wygląda to w sposób skomplikowany.
PolubieniePolubienie
ROMu nie musisz wyłączać. Wystarczy aby Twoja gra po uruchomieniu zmieściła się w 16 pierwszych kilobajtach.
Poza tym możesz użyć kompresji np exomizerem. i najpierw pokazać grafikę a potem rozpakować resztę. Tak to się robi od lat np na c64 ale na c+4 też.
zrobiłem mały test i exomizer pakuje teraz Twój program do 2 kb. ! 🙂 więc wychodzi że udało by się dodać przed tym obrazek bitmapowy a potem go przekopiować do $1000 i rozpakować.
weźmy dalszą dyskusję na forum.
PolubieniePolubienie
Faktycznie na 16KB maszynie ROM niczego nie przykrywa :] mój błąd.
PolubieniePolubienie