Skrypt forum został zaktualizowany
Wszelakie błędy, pytania oraz prośby o nową funkcjonalność zgłaszajcie w tym wątku

Amaurote izometr 3d na c64

Szukasz drobnej pomocy przy kodowaniu, albo chcesz przedstawić światu swoją gotową lub w trakcie realizacji produkcję? To właściwy dział.
Wiadomość
Autor
Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

Amaurote izometr 3d na c64

#1 Postautor: at0mic » pt gru 02, 2011 3:10 pm

Witam Wszystkich!

Mój pierwszy komputer to Atari 800xl a komputer na którym pisałem w assemblerze to Commodore64 (obecnie c128 - choć częściej używam emulatora VICE)

Pomysł jest taki.
Na pewno znacie izometryczną grę Amaurote na ZX SPECTRUM - jest powalająca IMO. Na Atari też to nieźle wyszło choś trochę wolno chodzi, natomiast C64 ma wersję widzianą zgóry "pajączka" totalnie odbiegajacą od oryginału i według mnie o niebo gorszą. Czy Mastertronic nie dało rady zrobić tego na c64?

A może spróbujemy ?
Choćby jako demo...

Przepisywanie pamięci nic tu nie da - trzeba będzie zrobić to jakimś trikiem. I na pewno HIRES się nie sprawdzi trzeba będzie na tekstowym ekranie chyba robić z z kolejnymi fontami ustawionymi pionowo. Plastry miodu na sprite'ach bo inaczej trzeba maskę AND żeby obcinać grafikę planszy...

załączam link do Amaurote ZX Spectrum http://youtu.be/xvnt2gAk3fw

Zapraszam do dyskusji.
At0mic

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#2 Postautor: nes » pt gru 02, 2011 3:25 pm

Muzykę do części głównej (to co jest od 1:00 na filmie) można wziąć z Dream Travel -> wyłączyć losowo któryś kanał i już będzie gotowa.
"A ile zrobisz pompek ?" (c) 2o11 eLban
http://apt.hopto.org/nes/impact/

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

#3 Postautor: at0mic » pt gru 02, 2011 3:38 pm

nie no, musi być ładny konwert z A8 http://youtu.be/KM6tY3yQY_0 ;)
At0mic

bimber
Posty: 785
Rejestracja: wt wrz 16, 2008 10:16 am
Grupa: arise

#4 Postautor: bimber » pt gru 02, 2011 4:07 pm

o, widze podobny pomysl jak z Knight Lore :)
mam sentyment do obu tych gier, bede mocno kibicowal.

kotrobot
Posty: 2189
Rejestracja: czw lis 06, 2008 1:55 pm
Grupa: URDAD

#5 Postautor: kotrobot » pt gru 02, 2011 5:27 pm

Jest chyba jakiś klon tej gry na c64... A może za dużo denaturatu piję i mi się już miesza...

I tak cały czas czekam na:
http://www.youtube.com/watch?v=OKuwl3sA3cE
Olo forum atakuje. Żadnej litości nie czuje.

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#6 Postautor: nes » pt gru 02, 2011 6:53 pm

miesza czy wiesza ? ;)

btw. ja też będę mocno kibicował powstawaniu tej gry, jakkolwiek mi się ona nie podoba
"A ile zrobisz pompek ?" (c) 2o11 eLban

http://apt.hopto.org/nes/impact/

Awatar użytkownika
SUDi
Posty: 1102
Rejestracja: wt lis 04, 2008 11:03 pm

#7 Postautor: SUDi » pt gru 02, 2011 8:24 pm

z takich izometrycznych to u mnie rządzi THE GREAT ESCAPE :)

kotrobot
Posty: 2189
Rejestracja: czw lis 06, 2008 1:55 pm
Grupa: URDAD

#8 Postautor: kotrobot » pt gru 02, 2011 8:58 pm

Nosferatu!
Olo forum atakuje. Żadnej litości nie czuje.

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

#9 Postautor: at0mic » sob gru 03, 2011 3:40 pm

strasznie się gryzę z tą izometrią.

chcę ją zrobić na generatorze znaków. 256 fontów zapisywanych real-time ale nie każdy tylko te które mają się pojawić przy każdym przesunięciu ekranu o 8px tzn jak już będzie wiadomo że pająk idzie w lewo góra to można zacząć przepisywać grafikę.

mam problem polegający na przełożeniu mapy 1x1 liniowo uożonej w pamięci (logincznie kolumny w rzędzie - najpierw y potem x - fonty pionowo abc itd.) gdzie będzie wyliczana kolizja i możliwości ruchu pająka i pszczół na mapę z klocków 2x2 w izometrycznym układzie gdzie każdy klocek 2x2 jest w osi y niżej o 1 (czyli 8x8) i trzeba to jeszcze przyciąć do 18x12 fontów (pierwotnie myślałem o takim polu widzenia planszy ale to jeszcze nie jest pewne).

Problemem jest albo zegar procka albo pamięć dlatego najpierw muszę zdobyć całość grafik żeby zobaczyć ile to zajmuje... To wyznaczy czy można mapę isometryczną uzupełnić pustymi polami do postaci prostokątnej żeby móc ją scrolować w pionie i poziomie.

a dlaczego tak?

bo chcę tego izometra zrobić scrollowanego z $d016 i $d011
zrezygnować z "plastrów miodu" , pajączka dać na środek a krawędzie scrolla zmaskować rozciągniętym czarnym sprajtem.
- może ekran będzie 16x16 fontów - tego jeszcze nie wiem - widoczne i tak byłoby tylko 15x15 bo przy scrollowaniu trzeba maskować skrajne fonty żeby nie skakało.

potrzebuję tylko narzędzia do wyciągnięcia grafiki z Atari albo ZX Spectrum albo ludzi którzy są oblatani w temacie i chcieliby pomóc.

Siedzę z zeszytem i rysuję różne mechanizmy, siedzę i knuję...
64kB to nie dużo a i 16Kb na grafikę sprjtów, mapę koloru i generatory fontów + grafika pod planszą to niezbyt wiele.
Rozważam kąty nachylenia izometrii żeby jak najmniej pamięci zamazać i czy hires czy multi - co jest ważne z uwagi na to że pajączka chcę zrobić na sprajtach i w hires tło jest przeźroczyste więc trzba maskę pod spodem z czarnych sprajtów robić co podwaja liczbę sprajtów na ekranie i kulki ani pszczoły nie będą już mogły być na sprajtach skoro pajączek zajmie ich 8 szt...

Jeśli by się inaczej udało to zrobić to:
Zamiast nakładać grafikę na siebie pomyślałem że można te elementy tła która zasłonią pajączka narysować na sprajtach w Hires (czarny jako maska i na nim biały z grafiką.

Na razie nic - tylko dumam - rysuję, żona się mnie pyta co tam kreślę...
;) zarysowałem już sporo papieru i na razie nic nie ruszę chyba bez grafiki.

potrzebuję pomocy:

1. gif animowany pajączka albo nawet png albo gif poszczególnych klatek - może być binarka
2. mapy miast z Amaurote najlepiej w izometrii tak żeby klocki zrobić do plansz.
3. kogoś z doświadczeniem w programowaniu sztucznej inteligencji - chodzi o zaprogramowanie ruchu pszczół.

Czy ktoś z Was używa KickAssemblera ?


a ze śmieszniejszych rzeczy to: http://gok-wiazowna.pl/tmp/ew55/ew55/ew55.html
ojciec dziecka który nudził się na szkoleniu z obsługi komputera narysował odręcznie na kartce papieru wycofany w 1995r. pociąg EW55.
Ja go tylko trochę poruszyłem i jedzie :)

w nowszej wersji będzie horyzont i trakcja
a może stacje i drzewa ;) zobaczymy - żona mówi o kluczu żurawi - tego nie obiecuję ;)
At0mic

Awatar użytkownika
Cobra
Posty: 567
Rejestracja: sob wrz 13, 2008 4:13 pm
Grupa: Samar

#10 Postautor: Cobra » sob gru 03, 2011 7:44 pm

at0mic pisze:Czy ktoś z Was używa KickAssemblera ?


Napisz do Zieloka lub Nitro, mnie w tej kwestii dał parę wskazówek.
8 bit rulez:)

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#11 Postautor: nes » sob gru 03, 2011 8:16 pm

A jak to na Atari chodzi ?
Z filmu wygląda że jest robione jakieś przepisywanie grafiki w rejonie ruszającego się obiektu tylko, bo 1) sypie się to o całego fonta dalej nieraz, 2) widać że procesor nie wyrabia i złożoność ruchu zależy od ilości grafiki do przerysowania
Rzekłbym nawet, że na Atari się ewidentnie sypie kolejność innych elementów, jak postać między nie wchodzi. Czyli są przerysowywane obiekty w miejscu gdzie jest postać, może przerzucane na sprajty częściowo albo coś. Biorąc pod uwagę że to powoli chodzi (ile to ma, 10fps ?), można różne triki zastosować.
Obejrzyj dokładnie 10 następnych sekund od tego momentu:
http://www.youtube.com/watch?v=KM6tY3yQ ... age#t=126s
Widać jak się przesłanianie kaszani na 2:10 mniej więcej.
Wydaje mi się że to jako bitmapa powinno być, albo 2-3 zestawy fontów, i przerysowywane bajty w tym rejonie gdzie jest postać.
Czyli:
1) wszystkie obiekty byś musiał mieć jako osobne
2) napisać procedurkę do rysowania obiektów na planszy zgodnie z mapą, z tych obiektów, i nią rysować całość przy wejściu na dany ekran
3) w trakcie ruchu przerysowywać fragmenty w których jest ruch, najlepiej by to było zoptymalizować tylko do obszaru w którym jest postać (a nie całe obiekty), czyli procedurka by musiała wiedzieć z czego się składa obraz w danym obszarze, i odrysować to zgodnie z kolejnością
"A ile zrobisz pompek ?" (c) 2o11 eLban

http://apt.hopto.org/nes/impact/

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

#12 Postautor: at0mic » sob gru 03, 2011 10:00 pm

na Atari 8bit jest za wolno a ma zegar 1,79Mhz - 1:1 na C64 jest niemożliwe - trzeba to zrobić trikowo - i dlatego wrzuciłem temat żeby się iluzjoniści pozastanawiali czy to się da zrobić. Great Escape na C64 to padaczka w porównaniu ze spectrum. Więc na C64 mogą być kłopoty ze spajtami programowymi - ale są sprzętowe. Ponadto np na A8 jest generator 128 znaków a na C64 256 i Atari nie ma sprajtów w Hires a C64 ma więc chcę zarówno wysokie obiekty jak i pająka dać na sprajtach a tylko pszczoły przepisywać do generatora znaków - oczywiście cała plansza w generatorze i tych plastrów miodu nie będzie po bokach ale rekompensatą będzie scrolling całości a nie wyświetlanie plansz typu slide show :) - nie wiem czy to możliwe jest ale chcę sprawdzić. Najwyżej nie wyjdzie... Ale jak wyjdzie ?...
At0mic

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#13 Postautor: nes » sob gru 03, 2011 10:08 pm

tylko ze sprajtów musisz 2 warstwy dać, żeby czarny nie był przeźroczysty.. multiplexer mocny wyjdzie, może braknąć sprajtów na owady i pociski
"A ile zrobisz pompek ?" (c) 2o11 eLban

http://apt.hopto.org/nes/impact/

Awatar użytkownika
Nitro
Posty: 1223
Rejestracja: śr wrz 03, 2008 8:23 pm
Grupa: Black Sun

#14 Postautor: Nitro » ndz gru 04, 2011 12:28 am

Gra wygląda prześwietnie, pardon, ale nie pomogę z przenoszeniem jej na C64 - wolę myśleć nad efektami do dema, ale z chęcią pomogę przy KickAssemblerze.

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#15 Postautor: nes » ndz gru 04, 2011 7:10 pm

at0mic pisze: i dlatego wrzuciłem temat żeby się iluzjoniści pozastanawiali czy to się da zrobić.

Nie da to się tylko podobno porobić w stringi :)
Z 50fps to by było wyzwanie, a bez 50fps się na pewno da.
"A ile zrobisz pompek ?" (c) 2o11 eLban

http://apt.hopto.org/nes/impact/

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

#16 Postautor: at0mic » ndz gru 04, 2011 7:29 pm

@NES

na C128 się da 50fps, bo poza dolną linią ekranu można przełączyć na 2MHz
i wszystko w tablice powstawiać.
Oddzielnie mapy dla płaskich oddzielnie dla wystających obiektów,
nie trzeba niczego wtedy wyliczać tylko zaglądać do tablic i czytać co teraz zrobić.

Na C64 będzie super jak 25fps będzie możliwe.
Temat mnie dręczy bo na atarionline.pl jest rozmowa o tym że na C64 to jest bardzo trudne do zrobienia, może nawet niemożliwe - nawet w to uwierzyłem a teraz chcę sprawdzić.

Karateka na C64 chodzi połowę wolniej niż na Atari, The Great Escape chodzi dwa razy wolniej niż na ZX Spectrum a wszystko dlatego że tam są robione sprajty programowo i C64 ma za wolny zegarek do przepisywania pamięci. Poza tym ZX Spectrum ma rejestry 16bitowe i relokowalny stos więc można sobie ustawić wierzchołek stosu na bufor i pobierać ze stosu wpisując tam gdzie trzeba. Operacje przesuwania bitów i obcinanie maski obiektu na AND też jest 2 razy szybsze na 16bit rejestrach.

Na razie chcę to zrobić choćby jako demo.
Później zobaczymy.

Jednego jestem pewien - osoba która to zrobi przejdzie do historii ;P
MASTERTRONIC - tego nie dało rady zrobić w izometrii 3d, może ktoś jednak da radę, jeśli to jest możliwe...

Dobra, daję sobie tydzień na myślenie - potem kodowanie.

Czy jest coś lepszego do robienia muzyki niż VoiceTracker 2.0?
At0mic

kotrobot
Posty: 2189
Rejestracja: czw lis 06, 2008 1:55 pm
Grupa: URDAD

#17 Postautor: kotrobot » ndz gru 04, 2011 8:00 pm

Nie wiem czy się przyda - zobacz tu:
http://noname.c64.org/csdb/release/?id=99722
Olo forum atakuje. Żadnej litości nie czuje.

Awatar użytkownika
at0mic
Posty: 82
Rejestracja: pt gru 02, 2011 2:55 pm

#18 Postautor: at0mic » ndz gru 04, 2011 10:27 pm

no nieźle, facet pisał to pół roku :-<

komentarz mnie rozbroił, bo cóż że wolno chodzi:

"Most C64-freaks are old... so slow is not so bad, eh?" :D
At0mic

Awatar użytkownika
nes
Posty: 509
Rejestracja: pt maja 21, 2010 10:03 pm
Grupa: Impact

#19 Postautor: nes » pt gru 09, 2011 1:09 am

:-)
"A ile zrobisz pompek ?" (c) 2o11 eLban

http://apt.hopto.org/nes/impact/

Awatar użytkownika
BagoZonde
Posty: 56
Rejestracja: czw gru 15, 2011 9:33 am
Grupa: Commocore
Kontaktowanie:

#20 Postautor: BagoZonde » czw gru 15, 2011 12:31 pm

Cześć! David Whittaker odpowiedzialny jest za muzykę w Amaurote więc już na starcie powiem Ci, że to dobry wybór spróbować z tą grą ;). Rzut izometryczny, ok, zakasam rękawy. Nie chcę popełnić jakiegoś fopa, nie zastanawiałem się nad tym długo ale ja to widzę tak:

1. Całość grafiki tylko w znakach w HIRES, zastanawiam się także czy to się zmieści ale musi. Gra zajmuje cały ekran więc masakra. Dolna część i górna jest stała więc zastanawiam się czy starczyłoby czasu na przepisywanie tego kawałka przy rysowaniu ekranu. Może na początek dobrze by było spróbować z kilkoma grafikami żeby zrobić czysty silnik. Jeżeli okaże się, że np: brakuje tych znaków to trudno, wykorzystałoby się ten silniczek do jakiejś podobnej gry nieco uproszczonej ;).

2. Pajączek, muchy i wystrzelona kulka rysowane by były na zasadzie: każdy obiekt w następnej ramce chyba, że da radę od razu je narysować na raz. Bo wydaje mi się, że najlepiej by było nałożyć dwie maski - tu już trochę pamięci trzeba by poświęcić. Pierwsza maska na samej górze czyli część panelu, który wchodzi na planszę a pod spodem druga maska od obiektów na planszy. Może łatwiej by było przy wyrysowaniu planszy nawet te dwie maski jeszcze gdzieś łączyć w taką temporary maskę żeby przy wykonywaniu ruchu nie było odwołania do dwóch miejsc w pamięci gdy obiekty są na brzegach widocznej części planszy - no i byłoby odwołanie do jednego miejsca w pamięci gdyby było to pole bez tej maski panelu.

Myślę, że na początek dobrze by było to przećwiczyć na jakimś szablonie, wzorcu czy jak go tam zwał. Mogę spróbować coś takiego napisać, jest to świetne wyzwanie.

P.S. jestem początkującym koderem więc sorry za terminologię, ale jestem w stanie to zrobić. Pytanie tylko czy nie będzie to kod dla kogoś z refleksem szachisty ;). A nóż widelec!


Wróć do „Programowanie & Produkcje”

Kto jest online

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