26 Ostatnio edytowany przez wieczor (2010-04-08 21:23:17)

Zaraz , zaraz, bo chciałbym być w temacie - asteroids widziałem dość dawno - czym się różni to od wersji na Atari? Mozna gdzieś to zobaczyć? Czy tło jest ruchome?

Ok znalazłem:

http://www.youtube.com/watch?v=mV3ctdKF05A

Przecież tu w ogóle nie ma tła :) Różni się to tak naprawdę

a) ilością i szybkością obiektów
b) wyglądem pocisków
c) asteroidy się obracają

Coś przeoczyłem?

(a co do kolorów: http://www.youtube.com/watch?v=nlql-3Ta0yU :D )

The problem is not the problem; the problem is your attitude about the problem

27 Ostatnio edytowany przez Pecus (2010-04-08 21:24:50)

http://www.goriya.com/flash/asteroids/asteroids.shtml

Jakie tło ??? :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

28

ehm
a mnie to w sumie bawi
amiga 1200 to amiga 1200 jak w srodku siedzi blizzard czy inna cholera z procesorem 060 i mnostwem pamieci
inaczej to golas na ktorym mozna sobie gierke czy dwie puscic

falcon bez ct63 to chyba nie falcon

ale male atari z jakims 816, albo bron boze z vbxe to juz obraza i podstawa do linczu...

alez naturalnie - ci panowie w bialych kitlach maja tutaj takie modne wdzianko...
troche ma przydlugie rekawy, ale to sie zawinie...

przechodze na tumiwisizm

29 Ostatnio edytowany przez drac030 (2010-04-08 21:51:14)

Bober napisał/a:

tam jest 320x200 w 256 kolorach. to daje 64000 ramu. 6502 potrafi zapisac liczbe we wskazanym miejscu w 4 cyklach. prosty rachunek - do wyczyszczenia procesorem calego ekranu potrzeba conajmniej 256000 cykli. 1 ramka (1/50 sekundy) ma cykli cos ponad 30000, wiec potrzeba 8.5 ramki zeby to zrobic.

Bober, te rachunki są do bani. 64000 bajtów video RAM-u Blitter VBXE wypełnia (np. zerami) w 0,0045 sekundy (~8 tys. cykli zegara CPU, czyli mniej niż 1/4 ramki). A zapalenie punktu w 320x192/256 jest szybsze i prostsze niż w np. GR.8, bo piksel to 1 bajt, a nie jeden bit (odpada AND, OR itp.)

KMK
? HEX$(6670358)

30

do bani i nie do bani. bo o ile samo czyszczenie lub wypelnianie stalym kolorem (co prawie na jedno wychodzi) zrobisz blitterem, to pelnoekranowego efektu juz nie - tym sie musi zajac cpu.
w samych wyliczeniach chodzilo mi o pokazanie skali zjawiska, bo nie wszyscy sobie z tego sprawe zdaja. podobny problem byl zdaje sie w amstradach - grafika parametry miala ok, ale dla cpu to bylo za duze obciazenie.

31 Ostatnio edytowany przez drac030 (2010-04-08 23:03:01)

Tak, ja rozumiem, ale jednak "skalę zjawiska" pokazałeś w sposób niezbyt polityczny: przykładem, który się dał bardzo łatwo zbić. Ogólnie, pamięć ekranu VBXE jest duża i to wie każdy, kto umie pomnożyć np. 320 przez np. 192. Ale od tego własnie jest blitter, żeby odciążyć w tym CPU.

Ośmielam się zatem domniemywać, że, na przykład (zważywszy istnienie blittera, który nie dość, że jest sam w sobie szybki, to jeszcze może działać na VRAM-ie "jednocześnie" z CPU), druciana wektorówka byłaby (nie sprawdzałem) na VBXE o wiele łatwiejsza do realizacji niż w trybach graficznych ANTIC-a.

I już nawet pominę, że przy użyciu VBXE można wyłączyć ANTIC, czyli zyskać te 20-30% szybkości CPU.

BTW. blitter VBXE można wykorzystać też w standardowych trybach graficznych ANTIC-a.

KMK
? HEX$(6670358)

32

http://www.madteam.atari8.info/vbxe/plasma_vbxe.7z

plasma liczona przez CPU 6502, piksle "konopowe", 256 kolorów

dotychczasowe dema dla XE/XL charakteryzują się w większości czarnym (jednolitym) tłem i jakimś efektem na tym tle, taki VBXE daje swobodną możliwość wprowadzenia designu, czyli ozdób, dodatkowej grafiki itp. można sobie wyobrazić demo działające na GTIA, a w przypadku VBXE wzbogacone o dodatkową grafikę, co wpłynęłoby tylko na objętość pliku a nie na obciążenie 6502

nawet prosty efekt typu plasma z odpowiednio skomponowaną grafiką robi większe wrażenie niż taka plasma z czarnym "łysym" tłem

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

33 Ostatnio edytowany przez laoo/ng (2010-04-09 07:11:16)

Pecus ma dobrą myśl z tymi sprajtami. Asteroidy faktycznie się nie obracają, co bardzo upraszcza sprawę! Można pójść nawet odrobinę dalej: mieć zoptymalizowany kod na rysowanie każdego asteroida: sekwencja LDA # ORA (),y STA (),y + przesunięcia wskaźnika oraz zoptymalizowany kod na... mazanie danego asteroida. Statek można rysować klasycznie albo też mieć kilka zanimowanych klatek. To ma szanse na wyrobienie się w ramce-dwóch.

No i jak już mówimy o dopałkach, to wersja VBXE może mieć w swojej pamięć prerenderowane wszystkie elementy gry i w-OR-owywać je blitterem - wtedy na 100% zmieści się w jednej ramce. Mało tego - aby lepiej odwzorować oryginał o "nieskończenie wielkiej" rozdzielczości można użyć trybu 640x200 albo nawet 640x400 jak ktoś lubi migotanie :)

Można też pokusić się o wersję na 65c816, w której zoptymalizowana sekwencja rysująca może korzystać z fajnych szybkich trybów adresowania.

Potencjał jest całkiem spory.

34

> Czyli .... jedyny problem to dość szybka procedura czyszczenia ekranu (bo zamiast zapamiętywania i odtwarzania tła trzeba wyczyścić - zrobić puste tło).... może zapamiętywanie (z jakimś przybliżeniem) bajtów, które poprzednio były zmienione przez narysowanie sprajtów .... i czyszczenie potem tylko nich, a nie całego ekranu?

Tak, Pecus. mozliwosci widze dwie, przed kolejnym rysowaniem kopiowanie starej DL i na jej podstawie wymazac tlo (tak robie w night driverze) lub (i to musze sprawdzic) program DL jest ukladany na podstawie jakis tablic i zawiera przede wszystkim JSR dla vector generatora i LD_ABS, wystarczylo by zmienic te kilka rozkazow, zmienic format adresu (zeby nie robic konwersji za kazdym razem) i podlaczyc zwyklad procke soft spritow - i to jeszcze uproszczona tylko z OR z tlem. podejrzewam, ze te JSR dla VG beda rysowaly obiekty, to moze byc tez lancuch JSR ale watpie bo stos VG ma glebokosc 4 adresow :) jednym slowem byc moze nie taki diabel starszny jak go maluja...

http://atari.pl/hsc/ad.php?i=1.

35

yyy, to te skaly sie nie obracaly? no to cholernie to upraszcza...
zamiast czyscic caly ekran, wystarczy przechowywac tablice zawierajaca pozycje skal w poprzedniej ramce i czyscic tylko wycinek szerokosci danej skaly (dla przyspieszenia mozna odrebne procki przygotowac dla roznych rozmiarow skal).

samo rysowanie skal to:
- w ósemce kilka orow, przyjmujac ze kazda skala ma stablicowane 8 kasztaltow by nie trzeba bylo shiftowac bitow w zaleznosci od wspolrzednej X, powtorzonych H (wysokosc skaly) razy dla kolejnych Y
- na vbxe razcej lepiej oplaca sie dla kazdej skaly "display liste" w sensie: dla kazdej linii ksztaltu skaly wzgledem pozycji X liste p. do zapalenia pikseli, przy czym gdy najstarszy bit jest ustawiony -> koniec listy, gdy kolejny po najstarszym bicie jest ustawiony -> nastepna linia Y skaly (czyli max szerokosc obiektu to 64p.)

przy podwojnym buforowaniu mysle ze calkiem sporo obiektow by sie dalo w ten sposob wyswietlic ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

36

Dla uściślenia -

1. w oryginalnym arcade jednak chyba się obracają

2. Nie ma tu żadnego tła

The problem is not the problem; the problem is your attitude about the problem

37

tlo jest - jednolicie czarne ;)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

38 Ostatnio edytowany przez xxl (2010-04-09 08:11:09)

w oryginalnym asteroids nie ma obracajacych sie asteroid ale za to w oryginalnym asteroids deluxe asteroidy sie obracaja, sa tez dodatkowe przeszkadzajki...
z tego co zauwazylem nie ma w VG zadnego rozkazu obrotu wiec te obiekty musza byc kolejnymi 'podprogramami' dla VG innymi slowy zaden problem. za to jest rozkaz skalowania czyli po rozbiciu asterody dostajemy 2 inne w skali (mozliwe ze bedzie dla VG rozkaz skala, rozkaz ustaw xy i skok do rysuj - to by wyjasnialo i upraszczala bardzo sprawe). rozejrze wie jeszcze jesli grywalnosc bedzie wieksza w asteroids deluxe to to bedzie podstawa konwersji. w asteroids deluxe tlo jest w postaci naklejki na monitorze albo jakiegos odbicia lustrzanego - nie wiem bo nie pamietam a na filmikach nie widac... mozliwe ze to tylko wspomnienia/wyobraznia dziecka ;-)

http://atari.pl/hsc/ad.php?i=1.

39

Nie wiem w czym problem z obracaniem. Nie myślmy metodą czołgową - żadnej procedury obrotu nie trzeba

Kształt asteroid jest jeden (!) dla każdego rozmiaru. W związku z tym należy przygotować ten kształt już poobracany np. 16 klatek i za każdym razem rysować inną. Ten obrót jest stały , w stałym tempie - nie ma tu co liczyć.

The problem is not the problem; the problem is your attitude about the problem

40

Ale trzeba zachować umiar. Co prawda można przeznaczyć całą pamięć na kombinacje kształtów, ale za wiele to jej jednak nie ma.

41 Ostatnio edytowany przez wieczor (2010-04-09 08:45:58)

Jak i samych kombinacji. Rozmiarów jest trzy. Razy 8/16 faz obrotu to daje 24/48 kombinacji. Jeśli zapamiętamy i rysujemy je wektorowo to jest to kilka bajtów na każdą. A jeśli to bitmapy to i tak nie jest za wiele. W tym wypadku byłoby to słuszniejsze niż obciążanie proca obliczeniami których wyniki są znane i przewidywalne. Tym bardziej że procedury obrotu i potrzebne tablice zajmą raczej więcej :)

( W poście #26 pomyliłem linki - powinno być oczywiście:

"Ok znalazłem:
http://www.youtube.com/watch?v=nlql-3Ta0yU [wersja arcade de lux]

(...)

(a co do kolorów: http://www.youtube.com/watch?v=mV3ctdKF05A :D ) [wersja 7800]"

The problem is not the problem; the problem is your attitude about the problem

42

wieczor: wlasnie chodzi o to by tego wektorowo nie rysowac, a po prostu orowac ksztalt z odpowiednich tablic...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

43

No to tym bardziej klatki, a nie obroty

The problem is not the problem; the problem is your attitude about the problem

44

no to tym bardziej wersje bez obrotow... (chyba ze ksztaltow/rozmiarow na tyle malo by sie to w miare w ramie pomiescilo...)

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

45 Ostatnio edytowany przez Pecus (2010-04-09 11:03:29)

Klasyczne Asteroidy są bez obrotów.... jakoś wersji De Luxe nigdy nie polubiłem.... cała kasa szła na klasyka :)
Myślę, że czyszczenie możnaby zrealizować odpalając raz jeszcze rysowanie - tylko zamiast skoków do procedur poszczególnych obiektów byłyby skoki do procedur zgrubnie zerujących obszar takiego obiektu, co prawda niektóre obszary czyściłyby się wielokrotnie, ale chyba i tak byłoby szybciej.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

46

No ,ale prawie te klasyczne to już są... Po co to właściwie powielać? Kształtów i rozmiarów jest mało: 1 rozmiar = 1 kształt. Rozmiary są 3.

The problem is not the problem; the problem is your attitude about the problem

47 Ostatnio edytowany przez pirx (2010-04-09 14:12:55)

Nie do końca są - xxl ma b. dobry pomysł, żeby było indentyczne playability jak w oryginale.

Też osobiście głosowałbym za zwykłymi, a nie de-luxe. To zwykłe zabrały mi dzieciństwo :]

btw:
wtedy - asteroidy
teraz - hemoroidy

http://www.5oft.pl/

48

Ale czym się różni playability zwykłych arcade od tego co jest teraz na Atari? Potraficie to coś określić?

(ja bym po prostu zrobił tryb classic / de luxe )

(... / 7800 ;) )

The problem is not the problem; the problem is your attitude about the problem

49

pirx napisał/a:

wtedy - asteroidy
teraz - hemoroidy

W kazdym razie wszystko, co się kończy(ło) na "roidy" CVi coś zabrało ;)

Sikor umarł...

50

a dlaczego nie użyć metody XOR dla obiektów, nie trzeba czyścić całego ekranu, samo się czyści, metoda XOR jest idealna gdy tło jest jednolite (Gremlins, Mario Bros korzystają z tej metody i na pewno więcej tytułów z lat 80-tych), nie wspominając o jej małej zasobożerności

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C