kategoria: Blitz
[#151] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #149

Tak widzialem, ja 32 kolory ustawilem recznie, zeby zobaczyc czy bedzie roznica czy nie.
Chodz mysle, ze glownie bedzie tu kwestia poprawiania grafiki ok, racja
[#152] Re: Powstawanie nowej gry w Blitz 2

@selur, post #151

A Ty wstawiłeś gdzieś ten swój obrazek, bo nic nie widzę?
[#153] Re: Powstawanie nowej gry w Blitz 2

@selur, post #148

Delikatnie rampa tylko kłuje i maczuga z kaszy, a poza tym jest bardzo dobrze.
[#154] Re: Powstawanie nowej gry w Blitz 2

@san_u, post #153

No wlasnie brakuje doslownie 3 kolorow na rampe ale juz nie mam z czego urwac... lipa.
[#155] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #152

Tutaj jest obrazek Selura:

http://kuznia.ppa.pl/Selur/funny/pinball3.png

Nie widać go osadzonego na stronie w niektórych przeglądarkach, bo nie stosuje zaszyfrowanego protokołu, na którym działa PPA.

Fajnie to wygląda w tej liczbie kolorów.
3
[#156] Re: Powstawanie nowej gry w Blitz 2

@selur, post #154

I tak ładnie wyszło. A kilka odcieni fioletu można by copperem na zasadzie tęczy zrobić.
[#157] Re: Powstawanie nowej gry w Blitz 2

@san_u, post #153

Delikatnie rampa tylko kłuje i maczuga z kaszy, a poza tym jest bardzo dobrze.
Panowie, nie przesadzajmy, jest obłędnie OK
Dither to nie dżuma i powinno się go używać jeśli robi się to umiejętnie.
Jeśli ja bym miał osobiście coś poprawić na tym obrazku to dodałbym dither na naramiennikach robota, bo wygląda to zbyt 'sterylnie' w odniesieniu do całości i to mnie właśnie kłuje w oczy , poza tym miazga.
1
[#158] Re: Powstawanie nowej gry w Blitz 2

@AmiClassic, post #157

Panowie, może nie spieszcie się, bo teraz przerobiłem "łapki" na mniejsze bobki i odzyskałem płynność.

Teraz będę się bawić z animacją "wybijania" piłeczki, żeby nie zżarło płynności. Tak sobie teraz patrzę i zasuwa tak szybko, że nawet nie widać, że jakieś przedmioty zasłaniają piłkę, bo tak płynnie to działa.
1
[#159] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #158

TUTAJ jest wersja, która działa płynnie. Jeśli ktoś by chciał, to mógłby wyciąć łapki z bitmapy w pliku DF0:LEV3/bmap.ilbm, bo one są tu w tle niepotrzebne, a sam nie chcę rozgrzebywać tego, bo tam jest pod nimi ładne tło.

Gra śmiga płynnie z 020+cycle exact. Można śmiało testować. Na początku jest wyświetlanie dwóch napisów, żeby pokazać jak działa fajnie procedurka pisząca po dolnym ekranie shape'ami.

Efekt płynności odzyskałem dzięki:
- pocięciu łapek na wycinki 16x22 pix, dzięki temu zaoszczędziłem sporo blitowania komendą BBlit
- usunięciu boba wybijaczki piłki ( zastąpiłem to komendą Block, która jest najszybsza w Blitzu i blituje kolorem 0)

Gra jest w 7 bitplanach, tak jak się uparłem. Nie ma zwiechy po wyskoczeniu piłki w dół ekranu.

Teraz można nagrywać pokazowe filmiki, jak działa płynność, odbijanie i ewentualne wpadanie piłki w "bonusy" i w metalowy tor, którym piłka się kula.

Myślę, że mogę teraz dalej zabrać się za pisanie fizyki gry, która jeszcze jest niedopracowana.
[#160] Re: Powstawanie nowej gry w Blitz 2

@selur, post #154

No wlasnie brakuje doslownie 3 kolorow na rampe ale juz nie mam z czego urwac... lipa.


Może nie koniecznie, można zrobić ręcznie taki dither jak tło żaby w ekranie tytułowym SuperFroga, albo zrobić taki dither z 2ch-3ch kolorów i ściemniać je copperem.

Ostatnia aktualizacja: 17.12.2022 17:43:59 przez san_u
[#161] Re: Powstawanie nowej gry w Blitz 2

@AmiClassic, post #157

Mnie akurat kłuje w oczy dither w którym są jakby losowo porozrzucane piksele, najbardziej mi się podoba taki jak na ekranie tytułowym SuperFroga.
[#162] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #159

Panowie, powiedzcie mi jedną rzecz.

- Emulator mam ustawiony na 020+cycle exact (speed 4x A1200), czyli idealnie
- Fast Ram mam 8MB Z2

gra działa mega płynnie

A1200 + 8MB Fast: gra działa wolno

O co tu chodzi? Przerzuciłem cały kod gry do Amigi i tam dłubałem. Usunąłem boby piłki ten z nad piłki, zmniejszyłem bitplany do 5. Dalej wolno. Co jest? Czy ja mam już przewrażliwienie, czy mi inny monitor myli spojrzenie na sprawę? Wyłączyłem FMODE i było tak samo, jakby to nie działało na prawdziwej Amidze. Z drugiej strony w emulatorze tak samo działa jak na Amidze, gdy odpaliłem grę bez Fast Ramu, ale odziwo w Amidze mam 8MB fast ram.

Tracę cierpliwość do walki z AGA. Może ktoś u siebie przetestuje na swoim sprzęcie? Może mi kondensatory zaschły czy co
[#163] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #162

cytat z forum "The thing is that cycle exact only really applies to the AGA chipset for AGA machines, the 68020 (and 030/040/060) CPU speed isn't emulated completely accurately because of difficulties in figuring out exactly how fast each instruction executes. One reason for this has to do with the way the CPU cache interacts with instruction speed. Toni will have a more complete answer, but that is my understanding.

For the A500 this is different, the 68000 can be emulated in a cycle exact way and thus should be the same speed as the real thing."

i jeszce jeden cytat

"As was already said, only 68000 (and 68010) is cycle-accurately emulated. Later models can't be emulated cycle-accurately because internal instruction sequencer timing is not known.

For most whdload games approximate speed or memory cycle-exact is fine (memory cycle exact = CPU is internally fastest possible but any "slow" access = chip ram/custom registers/CIA accesses are slowed down like on real hardware). Usually even fastest possible work."
[#164] Re: Powstawanie nowej gry w Blitz 2

@Stoopi, post #163

Czyli albo zostaje pisać na Amidze i męczyć się z tym dalej, albo odpuścić sobie. Myślałem że AGA jest 4x szybszy niż OCS, ale byłem w błędzie. 6 bobów 16x22 spowalnia całą grę. Moim zdaniem DualPlayfield powinien też był działać wolno, bo skoro było 2x4 bitplany, to tak jakby było ich 8, a działał szybciej.
[#165] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #162

Przetestuj Winuae sysinfo, jeśli przy pamięci fast masz więcej niż około 2800 Dhrystones, to masz odpowiedź, wydaje mi się, że A1200 na WinUAE zawsze dawała lepsze wyniki w obliczeniach i IDE, niż prawdziwa. Jeśli jednak AGA jest emulowana w "cycle exact" a procek nie, to by znaczyło, że masz za mało mocy obliczeniowej i na A1200 AGA stoi odłogiem.

Ostatnia aktualizacja: 17.12.2022 20:51:27 przez san_u
[#166] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #164

Jest szybsza w zapisywaniu prockiem do pamięci, w czytaniu obrazu wyświetlanego na monitorze (zależy od FMODE), ale blitter jest dalej 16-bitowy, ale czy dwa razy szybszy, czy dalej ma 7MB/s, to akurat nie wiem.
[#167] Re: Powstawanie nowej gry w Blitz 2

@san_u, post #166

Chyba znalazłem problem, bo odświeżałem dolny ekran z napisami co 4 klatki, a gdy przełączyłem na odświeżanie co 8 klatek, to nagle ruszyło z kopyta, tylko że łapki dalej spowalniają. Sprawdzałem to na Winuae przy FMODE 0. Jeśli ustawię go na 3, to wtedy hula, aż miło się patrzy.

W Sysinfo odpaliłem SPEED i mi wyskoczyło w Winuae porównanie do A1200 1.0, ale ja już jakiś czas temu przestałem wierzyć w Sysinfo. Nie zawsze jest dokładne.
[#168] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #162

Nie uzywam emulatora ale szybkosc fastu nie jest raczej taka sama w WinUAE jak w starszych kartach fast. Tak samo jak nowe karty turbo do Amigi maja duzo szybszy fast niz starsze karty turbo na SIMM-ach. W takim razie chyba powinienes testowac bez fastu na WinUAE, albo spowolnic jakos fast w ustawieniach WinUAE. Chyha, ze to jest jeszcze kwestia ilosci cache. 68020 ma tylko 256 bajty cache, a WinUAE to nie wiem. Jestes juz dosc blisko.
[#169] Re: Powstawanie nowej gry w Blitz 2

@Hexmage960, post #155

Pozwoliłem sobie poprawić troszkę grafikę selura.
Konkretnie - trochę "poszarpałem" gradient na rampie i poprawiłem kilka detali (w tym napis "BONE" na maczudze).

@selur: Jeśli poszukujesz koloru do wyrzucenia to Twój ciemnobrązowy jest łudząco podobny do ciemoczerwonego.

2
[#170] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #167

Wrzuć gdzieś najnowszą wersję to sprawdzę na 1200 z 8 Fastu.
[#171] Re: Powstawanie nowej gry w Blitz 2

@ppill, post #170

Znalazłem problem, chociaż dziwi mnie że na emulatorze działało płynnie.

Aktualizacja dolnego wyświetlacza z napisami odbywała się co 4 klatki. Gdy zmieniłem to na 8 klatek, nagle przyspieszył i sprawdzałem na Amidze nawet pod TEDem (edytor BB2) i działało płynnie. Zarówno przed kompilacją jak i po, bezpośrednio z Workbencha.

TU jest i teraz możesz też u siebie przetestować. Będę musiał zmienić procedurę od dolnej coplisty, żeby nie blitował jej 2 razy, bo teraz czyści ją (20 znaków) i wstawia te ze zmiennej napis$. Ostatecznie będzie obliczać, jak długi jest tekst w niej i w razie czego będzie blitować puste pola po napisie.
[#172] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #164

Dual Playfield 16 + 16 kolorów działa na 8 bitplanach, ale rysujesz 4 bitplany na obiekt.

Jeżeli obierzesz 32 kolory Single Playfield, to będziesz miał 5 bitplanów i wszystkie obiekty w 32 kolorach.

--

Ja znam dwie techniki optymalizujące rysowanie: ograniczenie pola rysowania (tzw. Clipping) oraz ograniczenie liczby bitplanów (tzw. WriteMask).

Za pomocą WriteMask można ustalić zbiór kolorów wykorzystywanych przez obrane piksele na ekranie.

Blitz Basic jest bardziej zaawansowany od AMOSa więc może da się coś takiego uzyskać.

Mógłbyś wtedy takie statyczne rzeczy, jak panel, łapki, lampki na stole od Pinballa rysować szybciej.

--

P.S. W systemie do optymalizacji rysowania służą funkcje: SetWriteMask() i InstallClipRegion() działające na RastPorcie (który reprezentuje ekran lub okienka/warstwy).
[#173] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #171

Ale to i tak co 8mą klatkę masz nadmiar roboty do zrobienia z tym dolnym wyświetlaczem, najlepiej by było podzielić rysowanie tego wyświetlacza po kawałku w każdej klatce i jak się skończy to przełączać bufor na narysowany wyświetlacz.

Wyświetlacz stworzyłeś jako osobny ekran w 4ch kolorach, czy jest częścią bitmapy stołu?
[#174] Re: Powstawanie nowej gry w Blitz 2

@san_u, post #173

Wyświetlacz to osobna coplista 2-bitplanowa. Zmieniłem teraz procedurkę, która wcześniej czyściła ekran "nie zapalonymi znakami" a następnie blitowała litery (cyfry). Teraz procedura sprawdza długość zmiennej tekstowej, którą ma wyświetlić i w razie czego dorysowuje puste pola, aby nie zostały te z poprzedniego napisu. Dzięki temu ominąłem 20 niepotrzebnych blitów.

To odświeżanie co 8 klatek jest tymczasowe oczywiście, bo ostatecznie będzie jedynie podczas zdobywania punktów albo podczas jakichś bonusów. Teraz to działa na moje potrzeby, gdzie sprawdza nr koloru, z którym zderza się piłka na bitmapie roboczej.
[#175] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #174

https://drive.google.com/file/d/199RGqHZIvmliYBnhziHwqdHGl6ddXtmX
Grałem jedną ręką ;)

Ostatnia aktualizacja: 17.12.2022 22:04:28 przez ppill
[#176] Re: Powstawanie nowej gry w Blitz 2

@recedent, post #169

Rampa wyglada lepiej ale wciaz malo kolorow wiec mam jeszcze jeden sposob..
mozna zamienic szare na posredni odcien niebieskawego, wtedy co prawda kulka zlewa sie z tlem ale kulke zawsze mozna dac innym kolorem.
(nie mozna usunac ciemnobrazowego i odwrotnie, bo wtedy nie ma posredniego przejscia kolorow miedzy czerwonymi.)
[#177] Re: Powstawanie nowej gry w Blitz 2

@ppill, post #175

Tam na filmiku to klawiaturka z Amigi? Bo takie czarne klawisze
[#178] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #177

Amiga jest w towerce E/Box. To jakaś stara klawiatura ps/2.
[#179] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #174

Nie znam się, ale mam przeczucie, że aktualizowanie tego dolnego ekranu (wyświetlacza) zjada większość mocy :) Próbowałeś go kontrolnie zupełnie wyłączyć?

W jaki sposób sprawdzasz kolory na tej bitmapie pomocniczej? Jest w blitzu jakiś odpowiednik amosowego kol=point(x,y), czy sprawdzasz to peek'iem z pamięci?
[#180] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #179

Sprawdzam poprzez Point. Mam tak:
px.w = ball\x + ball\xs
py.w = ball\y + ball\ys + g

; kolizja dolu pilki
If Point(px,py+7) = 1 Then ball\ys = -ball\ys/2
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem