51

(69 odpowiedzi, napisanych Programowanie - 8 bit)

A engine mógłby przewidywać również rysowanie spritów nie tylko 12x24 ale i 8x24? Bo w BB np: te balony czy fruwające litery takiej są wielkości. Teoretycznie możnaby to wszystko robić jako 12x24, ale wtedy zabraknie znaków na stworzenie wszystkich sprite'ów na ekranie:(

Jak rozumiem istnieje już podkładanie albo nakładanie grafiki PM/G pod sprity programowe. Jak to mniej więcej działa?

52

(69 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

10 klatek animacji ducha #1 ruch w prawo = 4
- 10 klatek animacji ducha #2 ruch w prawo = 4
- 10 klatek animacji ducha #3 ruch w prawo = 4
- 10 klatek animacji ducha #4 ruch w prawo = 4

- 10 klatek animacji ducha #1 ruch w lewo = 4
- 10 klatek animacji ducha #2 ruch w lewo = 4
- 10 klatek animacji ducha #3 ruch w lewo = 4
- 10 klatek animacji ducha #4 ruch w lewo = 4

to wszystko zajmie 512kb, na tej podstawie mozesz stworzyc np. 16 (albo wiecej) roznych duchow o maksymalnie 4 rodzajach ksztaltow i 2-och kierunkach poruszania sie

No to jak widzę mamy 80klatek w 512KB,a dla 127klatek? (mi wychodzi ok. 820KB)


tebe napisał/a:

.....z pobieznych testow wynika ze tym sposobem tracimy tylko jednego ducha, czyli zamiast 5 duchow w 1 ramce, bedziemy mieli 4 duchy w 1 ramce....

No to w sumie jeżeli to tylko taka prosta zmiana to można by przed asemblacją kodu ustalić, która wersja nam odpowiada np. w jakiejś stałej. Możnaby w ten prostu sposób dostosować ją do włąsnych potrzeb:)

53

(69 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

2 banki na procedury inicjujace BUF2, BUF3 i kazde nastepne 4 banki na nowy kształt (animacje) ducha

widzę, że ok.10 klatek animacji ducha pochłania 4 banki?...a w Bubble Bobble mamy takich klatek 127...trzeba by z ok. 820KB pamięci ATARI na wszystkie klatki. Trochę dużo:P

tebe napisał/a:

Vega Ty chyba nie chcesz uzywac duchow sprzetowych do wykrywania kolizji ? bo to da sie zrealizowac programowo, obliczyc odległość srodka jednego ducha od drugiego, wartosc z odpowiedniego przedzialu bedzie oznaczac kolizje

Nie. Chce po prostu na maxa wykorzystać dostępne kolory. Programowe sprity podkolorowane sprzętowymi to dałoby efekt taki jak na C64 praktycznie.

54

(69 odpowiedzi, napisanych Programowanie - 8 bit)

Niezłe, dokładnie o to mi chodziło:)

A dodasz jeszcze opcje wykorzystania sprzętowych sprite'ów? Mam na myśli "podkładanie" lub "nakładanie" grafiki PM/G na wybrane sprite'y.

Chętnie też podejrzałbym kod źródłowy:)

55

(69 odpowiedzi, napisanych Programowanie - 8 bit)

miker napisał/a:

Aha - a jak się czuje Yie Ar...? Znalazłeś już może tego buga?

Szukałem i nie znalazłem....i mi się odechciało wkońcu. Poza tym sypaniem się nie wiem dlaczego są jeszcze pewne mniejsze błedy.

Wogóle to myślę, że najpierw to trzeba napisać raz, a dobrze super szybką prockę rysującą na znakach sprite'y takie jak na C64 dla jakiegoś sensownego układu ekranu (wg. mnie najlepiej 4 zestawy znaków zmieniane co wiersz). I wtedy łatwo będzie się konwertować gry. (muzę można odtwarzać SID2Pokey, grafę zripować ACTIONReplay, tylko logikę gry napisać trzeba od nowa).

Oczywiście procka ta będzie musiała być rozpętlona i rozpisana maksymalnie. Do tego wszystkie klatki animacji sprite'ów muszą być pomnożone przez 4 z przesunięciem o 1 pixel. Podejrzewam więc, że gierki na C64 mieszczące się w 64KB na ATARI będą musiały być na 192KB, albo i 256KB.

56

(69 odpowiedzi, napisanych Programowanie - 8 bit)

Fox napisał/a:

....Np. możesz podłożyć sprzętowe sprite-y pod cały ekran, ustawiając je "pod" zwykłą grafiką. ...

no wiem o tym, ale wtedy tracę te sprzętowe sprajty...a jak widać w moim załączonym przykładzie one są nakładane na sprity programowe, żeby dodatkowy kolor uzyskać (a to aż 4 dodatkowe kolory).

Tebe napisał/a:

na chwile obecna moj silnik dla spritow na znakach potrzebuje 12..17 linii obrazu (wartosc z $D40B) na przepisanie i modyfikacje 16 znakow z 4 zestawow, predkosc uzalezniona od linii w ktorej startuje procka

a ile zajmuje , dwie procedury dla dwóch buforów inicjalizujace zmienne i bufory to 2 banki pamieci

8 klatek animacji ducha z przesunieciem o 1 pixel w prawo to 4 banki pamieci

ogolnie wszystko rozpisane i rozpetlone

Jak skończysz to załącz do MADS-a, albo mi podeślij ten silnik. Chętnie go potestuje:)

57

(69 odpowiedzi, napisanych Programowanie - 8 bit)

xxl napisał/a:

phantom nie jest w trybie tekstowym tylko zwyklej 15tce. grzebalem kiedys w phantomie ... jak znajde notatki (moze, moze, moze)...............

no fakt nie sprawdzałem w jakim trybie. Ale mnie interesuje tylko tryb znakowy, ze względu na 5-ty kolor.

xxl napisał/a:

.......... mozna bylo przyspieszyc ruch sprajtow bez straty plynnosci ruchu

ale w jaki sposób?

58

(69 odpowiedzi, napisanych Programowanie - 8 bit)

xxl napisał/a:

nie wierze. jest demko avalonu gdzie porusza sie tez sporo sprajtow i to plynnie, jest phantom gdzie sprajty sa duze i poruszaja sie plynnie (nie w trybie znakowym co prawda)

jak to demko sie nazywa?
Gierkę Phantom obejrzałem. Tam tylko jeden wzór przeciwnika jest więc pewnie wszystkie fazy animacji są już przygotowane wcześniej w zestawie znaków (wtedy nic dziwnego, że szybko to działa)

xxl napisał/a:

poza tym czy potrzebujesz ruszac wszystko 50 razy na sekunde? mozna kolejkowac i np. poruszac tylko 4 w ramce, w kolejnej ramce nastepne 4, pozadna procedurka obliczajaca szybkosc sprajtow moze ukladac kolejke...

50 razy na sekunde trzeba ruszac graczy i przeciwników. Razem 8 sprite'ow. Pozostałe elementy rzadziej, ale nawet te 8 spritów to nie wiem czy jest możliwe narysować w jednej klatce w trybie znakowym ANTIC 4:(

59

(69 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

Vega, nie wspomnialem o tym wczesniej, ale wydawało mi sie to oczywiste że powinieneś rozpisać wszystkie klatki animacji ducha (12x24 pixli) na 4 fazy (przesuniete o 1 pixel w prawo)

Tak właśnie zrobiłem...dlatego w tej chwili wersja BUBBLE BOBBLE na 64KB jest nie możliwa, ale na 128KB da się.

Procka rysująca jest zoptymalizowana już. Teraz pozostały już tylko triki w stylu, że czasem nie wszystko trzeba liczyć dla pewnych wsp. X i Y lub rysować sprite'a na wszystkich znakach.

60

(69 odpowiedzi, napisanych Programowanie - 8 bit)

tebe napisał/a:

p.s.
65816 i jego 16 bit rejestry są bardziej odpowiednie dla spritów programowych, może Vega stworzysz w końcu gre dla tego CPU

Najpierw niech ktoś zaimplementuje ten procek w emulatorze ATARIWin. Nie wyobrażam sobie pisania tak skąplikowanej gierki jak BUBBLE BOBBLE na real ATARI.

61

(69 odpowiedzi, napisanych Programowanie - 8 bit)

miker napisał/a:

Tezz jeszcze to robił, ale mu się chyba utknęło...

Jak widzę to poległ na procedurze rysującej sprite'y. To jest właśnie cały problem, że strasznie dużo czasu zabiera animacja takich spritów w trybie ANTIC 4. Coś mi się zdaje, że nie da się takiej gry zrobić jak BUBBLE BOBBLE właśnie ze względu na brak możliwości wygenerowania z rozsądną prędkością tylu sprite'ow w trybie ANTIC 4:(

Swoją drogą na C64 też musiano jakoś wykorzystać chyba sprite'y programowe? Bo tam przecież lata po ekranie więcej obiektów niż 8-siem.

62

(69 odpowiedzi, napisanych Programowanie - 8 bit)

Jurgi2 napisał/a:

Vega, masz przecież swoją stronę - http://yiear.atari8.info/ -  tam wrzuć.

Nawet nie pamiętam jaki tam login i hasło:(


Ale rozwiązałem już proglem. Plik jest na:

http://www.vega.freehost.pl

63

(69 odpowiedzi, napisanych Programowanie - 8 bit)

Fox napisał/a:

Nasuwa się kilka pytań:
- jakiego rozmiaru są sprajty na C64 ? 12x21?
- co robić gdy znaki się skończą? (dla w/w rozmiarów może zabraknąć 128 znaków dla 32 sprajtów)
- czy optymalizować zużycie znaków dla spriteów o mniejszych rozmiarach?
- jak rozumiesz "tło" ? 128 znaków to niewiele na tło w znaczeniu kafelki (NxN znaków) + kilka takich dużych sprajtów
- dlaczego tryb 4 ANTICa a nie np. zwykła "piętnastka", tj. tryb 14 ANTICa ?

1. Sprite'y to rozmiar 16x32 pixele (4x4 znaki) (ale wykorzystujemy tylko 12x24 bo jeden znak z prawej i na dole musi być pusty, żeby można było przesuwać o jeden pixel w pionie i poziomie. Mamy więc sprite'a takiego jaka na C64 praktycznie (12x21 pixele).

2. Przy 128 znakach można wyświetlić 32 sprite'y dzięki wykorzystaniu 4 zestawów znaków zmienianych co wiersz. Każdy sprite wykorzystuje 4 znaki z każdego zestawu. (128 znaków / 4 daje nam więc 32 sprite'y). Więc przy tej organizacji ekranu znaków nie zabraknie.

3. Nie mam optymalizacji zużycia znaków dla sprite'ów o mniejszych rozmiarach bo chce to wykorzystać tylko do spritów przenoszonych z C64.

4. Jak rozumie "tło"? Najlepiej przykład zamieszcze to będzie widać.

5. Tryb znakowy mnie interesuje z powodu liczyby kolorów. Ten 5-ty dodatkowy kolor jednak sporo mi daje.


Dely napisał/a:

Tebe, zdaje się, napisał szybką prockę do rysowanie programowych sprajtów. Sprawdź w archiwum z madsem.

Już kiedyś sprawdzałem, ale ta procedura to jest dla trybu graficznego. A mnie interesuje tryb znakowy.



Na jaki ftp mozna by wrzucić przykładowy plik i udostepnić? Wtedy sporo by się wyjaśniło o co mi chodzi.

64

(69 odpowiedzi, napisanych Programowanie - 8 bit)

Witam

Interesuje mnie jak najszybsza procedura rysująca sprite'a programowego w trybie znakowym 4 ANTICA.
Przy założeniach, że można go przesuwać z dokładnością o jeden pixel(pion/poziom), nie niszczy tła oraz sprite'y mogą się na siebie nakładać.

Ja napisałem taką prockę, jeszcze nie zoptymalizowaną do końca, ale nawet po optymalizacji to i tak będzie za wolno bo dużo sprite'ów trzeba wyświetlić. Moja procka może wyświetlić max. 32 sprite'y o wielkości takiej jak na C64. (przy załozeniu, że wszystkie 128 znaków wykorzystujemy na sprite'y). Zamieściłbym przykład, żeby było wiadomo o co mi chodzi, ale nie wiem jak to załączyć.

Może pisał już ktoś taką procedurę i wykorzystał w demie, grze? (fajnie jeżeli byłby jeszcze kod źródłowy)

65

(10 odpowiedzi, napisanych Programowanie - 8 bit)

jak to jaka? poza tym koncze:P tak dla scislosci

66

(10 odpowiedzi, napisanych Programowanie - 8 bit)

no proszę.....odpowiadasz w tempie expresowym:) i w dodatku z gotowym rozwiązaniem

thx:)

67

(10 odpowiedzi, napisanych Programowanie - 8 bit)

Witam

Czy jest możliwość dodania do twojego playera MPT (ta skrócona wersja)
takiej opcji:


  1 - rozkaz odegrania przez player
      instrumentu, którego numer
      znajduje się w bitach 4-0 rejestru
      X, w bitach 7-6 r.X znajduje się
      numer kanału, na którym ma zostać
      odegrany ten instrument, a w r.Y
      jest numer nuty instrumentu
      przypomnę, że C-1 to $00, C#1-$01.

          LDA #$01
          LDY #NR.NUTY
          LDX #NR.INSTR+(NR.KANAŁU*$40)
          JSR PLAYER

Dałoby radę to dodać?

pzdr:)

68

(2 odpowiedzi, napisanych Emulacja - 8bit)

dzieki:)

69

(6 odpowiedzi, napisanych Programowanie - 8 bit)

eru napisał/a:

Da sie, da sie, co prawda moze nie 25klatek/sec, ale z 10 na pewno :)
Tzn ofkorz przy pelnym ekranie.
Kiedys o tym nawet myslalem, ale padlo to na fazie wektoryzacji grafiki.
[Tylko potrzebujesz do tego odpowiednich danych i odpowiednie rysowanie linii.

aha, a ekran miałeś jakoś zmodyfikowany?
10klatek/ a cały ekran to nie tak źle:)

Wlasciwie to nie chodzi mi o jakies przeksztalcenia wektorow tylko na żywca rysowanie linii prosto z pliku z danymi. A potem wypełnianie kształtów fill'em.

70

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Filmik to by było min. z 25-30klatek/s.

71

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Mam pytanie:

Czy istnieje, a jeżeli nie to czy jest możliwe zrobienie filmu skladającego sie z klatek, które są tworzone poprzez szybkie rysowanie linii i wypełnianie kształtów fill'em. Czy ATARI się wyrobi?

Zakładamy, że mamy zmodyfikowany ekran(160x192), szybką procedure line i szybkie wypełnianie.

Ekran mógłby być mniejszy niekoniecznie 160x192.

72

(2 odpowiedzi, napisanych Emulacja - 8bit)

Witam

Już kiedyś o to pytałem:

Jaką komendą można ustawić pułapkę na danym przedziale adresów. Chodzi o to, że jeżeli będzie próba wpisania tam czegoś to emulator zostanie zatrzymany i uruchomiony automatycznie monitor.


To było coś z WRITE........ , ale nie pamiętam.

pzdr:)

73

(19 odpowiedzi, napisanych Sprawy atari.area)

dlatego chcialem o osobny dzial na forum dla projektow rozpoczetych / trwajacych / zarzuconych / skonczonych / (zamierzanych?) ...

ja popieram ten pomysł:)

74

(19 odpowiedzi, napisanych Sprawy atari.area)

Chcecie zrobic konkurencje Abbuc'owi ? Jak dotad tylko ABBUC potrafi motywowac. Tylko co z tego skoro wiekszosc produkcji jest marnej jakosci, wyjatkiem jest Dynablaster 

Jakis grafik stworzy animacje ludzika i chce aby z tego powstala cala gra.

Myśle, że to byłoby na zasadzie takiej, że przed stworzeniem(konwersją) jakiegoś tytułu byłaby ogólnorozwojowa dyskusja np: na tym forum(+forum zagraniczne) w wyniku czego możnaby dokładnie określić jaką gierę chcemy na ATARI i jakie są wymagania co do tego tytułu. Każdy mógłby się włączyć w przygotowanie wstępnego projektu. Od razu możnaby zaproponować pewne rozwiązania techniczne np: jak szybko wyświetlać duże postacie na ATARI:) (hehe....mortal kombat mi się marzy:) Dzięki temu mamy pewność za co bulimy, a autor też wie na co się porywa. Oczywiście musiałby być to pewien kompromis bo można próbować zrobić gierę w z niezliczoną ilością bajerów, ale nakład pracy byłby ogromny.

acha i jedno co bym proponował zapisać w regulaminie to żadnych, ale to żadnych komnatówek na ATARI....bo tego typu gier to chyba na ATARI jest dosyc:) (chociaż mogłby być wyjątek np: Rick Dangerous)

75

(19 odpowiedzi, napisanych Sprawy atari.area)

hmmm.....a może zamiast nie dokończonych beta wersji......zorganizować jakieś shearware wersje gier....powiedzmy zaufana osoba zbiera fundusze i za kolejne postępy w pracach nad grą wypłaca autorowi jakąś kasę....osoby, które wsparły projekt na bierząco otrzymują nowe wersje.....można by ustalić jakieś bardzo przejrzyste reguły....

Chyba jest to jedyne rozwiązanie jeżeli chcemy, żeby powstawała jakaś fajna giera raz na 3 miesiące.....Jakby w to włączyć wszystkich atarowców nie tylko z Polski to pewnie doczekalibyśmy się paru fajnych tytułów....

Nie pisze tu o sobie bo Yie Ar Kung-Fu dla kasy nie pisze:)

Chodziłoby tu właśnie o to, żeby zmotywować autorów i aby giery nie powstawały latami, ale powiedzmy w trzy miesiące....