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

@Don_Adan, post #30

No wlasnie chcialem napisac, ze mu "stol" juz poprawili a sie okazalo, ze to zwykla przeklejka jest, bo ja tam nie widze roznicy miedzy oryginalem a ta 'poprawka'.
Czyli pewnie ta przeklejka za duzo kolorow zuzywa i tukinem jej nie wpasuje w dual playfield
[#32] Re: Powstawanie nowej gry w Blitz 2

@selur, post #31

Moze sie pomylil, ktory plik dolaczyl? Zamiast zmodyfikowanego dal oryginalny. Ale to ktos z dobrymi oczami moze stwierdzic.
[#33] Re: Powstawanie nowej gry w Blitz 2

@Don_Adan, post #32

Nie, dołączył oryginalny plik, żeby pokazać, że przeróbka trwałaby kilka godzin
[#34] Re: Powstawanie nowej gry w Blitz 2

@selur, post #31

Tak pobieżnie sprawdziłem czy dałoby się trochę podrasować grafikę i wygląda to mniej więcej tak:

Po lewej wersja Tukinema, po prawej oryginalna grafika spreparowana pod wymagania gry czyli 16 kolorów:


Gdyby jakiś grafik się zajął dopracowaniem szczegółów mogłoby to nieźle wyglądać.
1
[#35] Re: Powstawanie nowej gry w Blitz 2

@Ralpheeck, post #28

Dużo mi inni pomogli, wytłumaczyli, dali gotowe rozwiązania. Nie jestem programistą, a Amosa pierwszy raz ujrzałem w czerwcu 2021 roku. Kiedyś coś tam się bawiłem w Basic na emulatorze Atari 800 ale to takie podstawy.

Zaczynałem od kursu Polish Retro Channel na youtube. Tygodniowo można powiedzieć że z 8 godzin przez 7 dni w tygodniu spędzę maksymalnie nie licząc przerw. Na codzień pracuję fizycznie, więc zawodowo nie ma to nic wspólnego

@Don_Adan: oni tam wrzucili na stronce oryginał z gry dla porównania

@AmiClassic: skąd masz to zdjęcie po prawej? W oryginale nie ma takiego czerwonego paska na drodze wybijania piłki, tylko ten fioletowy wzorek jak po lewej. Grafika to 2 playfieldy po 16 kolorów każdy. Jeśli by się komuś chciało to mogę wysłać grafikę do kolejnego stołu, aby rozłożył to na playfieldy

Ostatnia aktualizacja: 14.12.2022 12:50:26 przez tukinem
[#36] Re: Powstawanie nowej gry w Blitz 2

@AmiClassic, post #34

Twoja grafika jak niebo i Ziemia! OK OK OK

Pokazałbyś może też stół Safari?

Ostatnia aktualizacja: 14.12.2022 13:06:34 przez Jacques
[#37] Re: Powstawanie nowej gry w Blitz 2

@Jacques, post #36

A ja mam pytanie techniczne do tych, którzy wiedzą: jak w Pinball Dreams czy Slam Tilt rozwiązali chowanie się kulki za elementami stołu? Sądząc po ilości kolorów, jaka tam jest, to raczej Dual Playfield odpada.
[#38] Re: Powstawanie nowej gry w Blitz 2

@diobou, post #37

Ja nie wiem, ale domyślam się, że kulka jest BOBem i gdy wpada na element który ma ją przesłaniać, to:

1) zapamiętywany jest fragment tła
2) rysowana kulka (lub nie, jeśli ma w całości zniknąć)
3) na kulce rysowane jest wcześniej zapamiętany fragment tła

W sumie gdyby Tukinem tak zrobił, to mógłby wykorzystać 256 kolorów AGA, bez dualplayfielda


PS kurczę, teraz się zorientowałem, że to nie zadziała :(

Ostatnia aktualizacja: 14.12.2022 14:40:46 przez mastaszek
[#39] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #38

Dobra, wymyśliłem.

Otwieramy osobny ekran, na którym są tylko elementy przysłaniające piłkę, a reszta jest czarna (kolor 0 - przezroczysty). Nazwijmy ten ekran POMOCNICZYM. I teraz:

1) jeśli kulka (rysowana jako BOB) jest pod elementem, który ma ją przesłaniać, to z ekranu POMOCNICZEGO zapamiętujemy interesujący nas fragment tła (jako BOB)
2) rysujemy kulkę
3) rysujemy "nad" kulką zapamiętany wcześniej fragment tła (z włączoną przezroczystością)
[#40] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #39

byłoby wtedy wolno, bo takie elementy są sporego rozmiaru
[#41] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #40

W Amosie jest tak, że boba lub grupę bobów możesz wyświetlać PRZED innymi bobami lub ZA innymi bobami. W blitzu może być podobnie, nie znam tego języka. W newralgicznych miejscach umieszczasz boba i reszta robi się "sama". OK
[#42] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #40

Można by podzielić takie duże fragmenty na mniejsze. I jeszcze algorytm który rysował by odpowiedni fragment nad bilą (a czasami nawet 4 jak bila była by między). Amiga musiał by wytrzymać dodatkowo wklejanie 4 bobów. Tak samo można by zrobić animację tła (kontrolki, podświetlenia). Ciekawe ile BB ogarnął by takich obiektów w 1 klatce.
[#43] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #40

Nie, nie. Kopiowałbyś tylko fragment tła wielkości kulki
[#44] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #43

Z tym byłoby więcej zabawy, niż z całą fizyką gry. Poza tym są miejsca, gdzie raz piłka wpada "pod spód", a raz leci górą. Próbowałem to obejść przez zmienianie DisplayControls, które steruje wyświetlaniem sprajta, ale narazie dałem sobie z tym spokój.

@Stoopi: W Blitzu jest tak, że w jakiej kolejności wpisujesz wyświetlanie bobów, w takiej zostaną wyświetlone.

Ostatnia aktualizacja: 14.12.2022 16:55:26 przez tukinem
[#45] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #35

skąd masz to zdjęcie po prawej?
To grafika oryginalnej gry, przekonwertowana przez mnie i wrzucona do gry. Tak to mniej więcej wygląda: link

Rozdziałka mojego 'konwerta' rozmija się z Twoją grafiką co widać m.in. po paletkach. Przycinałeś swoją grafikę? Wyczyściłem też drugi 'playfield' żeby lepiej było widać wszystko. Zastanawiam się dlaczego rozbijasz grafikę na dwa 'playfieldy'? Nie wystarczy sama maska z kolorami dla interakcji? Nie dałoby rady jeden playfield, ale w 32 kolorach?

@Jacques: tak wyglądają stoły po konwersji na Ami:


Górny rząd to jeden algorytm, dolny rząd drugi algorytm. Tu by się przydał ktoś kto poprawiłby szczegóły grafiki np. napisy na stołach.

Ostatnia aktualizacja: 14.12.2022 17:24:11 przez AmiClassic
[#46] Re: Powstawanie nowej gry w Blitz 2

@AmiClassic, post #45

Dzięki, świetnie wygląda efekt działania drugiego algorytmu.
[#47] Re: Powstawanie nowej gry w Blitz 2

@AmiClassic, post #45

Świetnie to wygląda. Nie da rady 1 playfield. Chodzi tu o to, że jest dużo elementów, pod którymi piłka się przemieszcza (np. metalowe tunele, rampy, zwał jak zwał). One są długie i na pewno nie uda się płynnie ich wyświetlać jako boby.

Ja do okrojenia grafiki używałem PPainta, więc cudów tam nie zwojuję, co widać. Po drugie z grafiki jestem noga :)

Do kolizji mam osobną bitmapę 16-kolorową, z której pobierane są numery kolorów po współrzędnych sprajta piłeczki.
1
[#48] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #47

Nie da rady 1 playfield. Chodzi tu o to, że jest dużo elementów, pod którymi piłka się przemieszcza (np. metalowe tunele, rampy, zwał jak zwał). One są długie i na pewno nie uda się płynnie ich wyświetlać jako boby.


A czemu długość jest jakimś problemem? Rysujesz tylko te obszary na których jest kulka - stół, kulka, na końcu rampa, potem czyścisz stół i rysujesz od nowa, na tak małe obszary do aktualizacji A1200 powinna mieć mocy aż nadto. Ewentualnie możesz mieć narysowany cały stół z rampami, kulkę dać jako sprite, a nad kulką kolejny sprite, do którego blitujesz odpowiedni fragment tego co jest nad kulką, albo nawet blitujesz grafikę kulki do sprite razem z maską, przez co w przeźroczystych miejscach, będzie sprawiała wrażenie jakby coś nad nią było. Takie coś mi przychodzi do głowy.
[#49] Re: Powstawanie nowej gry w Blitz 2

@san_u, post #48

Czyli ewnetualne rzeczy, które się znajdują nad piłką mają być powycinane do shape'ów 16x16 pix? Tego będzie dużo patrząc, że bitmapa ma 512 pix wysokości, a takich miejsc jest trochę.

Faktycznie gdyby użyć zmiennej piłki, mógłbym wstawiać boby planszy w danym miejscu. Ale na pewno jeden nie wystarczy bo piłka się będzie przesuwać i będąc na krawędzi, trzeba będzie wyświetlić 2 albo nawet 4 sąsiednie boby. Do tego 2 boby łapek, bob wyrzutni do piłki, który też korzysta z dolnego playfieldu i trzeba by go zasłaniać kolejnym...

Po drugie piłka jest jako sprajt, a bobem sprajta chyba nie zasłonię.

Trzymając kupę shape'ów w pamięci do zasłaniania piłki, shape'ów do wstawiania ewentualnych lampek, które się zapalają na stole to będzie dużo pamięci wymagać. Dzisiaj dojechałem do 100, a to był tylko panel dolny z cyframi i literami.
[#50] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

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

@forge, post #50

Jeśli udałoby się podzielić na playfieldy to spoko. Jedynie fizykę gry musiałbym pozmieniać, bo tutaj nie ma łuków, a bardziej wszystko ma proste ściany.
[#52] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #49

A zamiast trzymać tak dużo bobów w pamięci, to nie można "w locie" wyciąć tego boba którego aktualnie będziesz potrzebował z tła (z tego miejsca, gdzie ma się znaleźć kulka), następnie narysować kulkę i wtedy na nią nałożyć tego jednego boba?

Wtedy w użyciu miałbyś tylko tego jednego boba, co klatkę wycinanego z tła. Amiga 1200 powinna bez problemu takie wycinanie i stawianie jednego boba ogarnąć szybkościowo.



Ostatnia aktualizacja: 14.12.2022 19:32:38 przez mastaszek
[#53] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #52

Hehe musiałbym cały kod rozgrzebać, ale mówisz bardzo sensownie. Wtedy miałbym tak:
- 2 bitmapy dla podwójnego buforowania
- 2 bitmapy pomocnicze (jedna do wycinania shape'ów a druga do kolizji)
- 1 bitmapa dolnego wyświetlacza

Teraz również ilościowo mam tyle samo ich. Musiałbym od nowa tworzyć w PPaincie bitmapy tego stołu, ale myślę że to jest bardzo dobry pomysł. W sobotę postaram się przygotować coś takiego, bo do tego będę potrzebować więcej czasu.

Tylko, że tak jak mówię piłka będzie wtedy bobem. Czyli będzie bobów będzie tak:
1 piłka
2 wyrzutnia piłki
3 kawałek zasłaniający wyrzutnię
4 kawałek zasłaniający piłkę
5 lewa łapka
6 prawa łapka

Może być wolno.

Ostatnia aktualizacja: 14.12.2022 19:40:34 przez tukinem
[#54] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #52

Ale wbrew pozorom, to wcale nie jest proste...
[#55] Re: Powstawanie nowej gry w Blitz 2

@selur, post #54

Sam sposób jest prosty. Gdzie jest piłka, to wycinasz kawałek bitmapy roboczej i wstawiasz w główną bitmapę jako bob pod piłkę.
[#56] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #55

No ale muszisz miec inteligentna procedure, ktora bedzie decydowac co wyciac i kiedy wyciac, bo jak bedziesz robil to co krok pilki, to juz nie bedzie tak wesolo smigac...
[#57] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #49

No możesz trzymać po prostu jednoplanową maskę w pamięci i blitować grafikę kulki z fragmentem maski do sprite'a kulki w zależności od koordynatów kulki (musisz obliczyć skąd wyciąć kwadrat z maski), tak, aby na kulce powstawała przeźroczystość, wtedy będziesz przez nią widział stół, czyli rampy, które są na nim namalowane i będzie wyglądało, jakby ta rampa była nad kulką. Może ktoś ma lepszy algorytm, który umożliwiłby używanie stołu w 32,64 lub 128 kolorach płynnie.

Grafikę tego co jest nad kulką i tak trzeba trzymać w pamięci, więc chyba tu nie ma jakiejś różnicy większej, prócz tego, że kod musi być bardziej złożony.

100 to znaczy 100kB? Dla A1200 to chyba żadne znaczenie nawet jakbyś dojechał powyżej 1MB, chyba, że masz jakiś w tym konkretny cel.
[#58] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #53

Może Selur ma rację i będzie to trudniejsze niż się wydaje. Sam już nie wiem. Szkoda by było, żebyś się napracował nad zmianami, a potem może się to nie udać. To może lepiej jednak zostać przy dualplayfieldzie i kulce na sprajcie... Ale zagwostka :)
[#59] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #58

Żeby to dobrze przetestować, najprościej będzie tymczasowo na tym co mam wyświetlić 2 kulki jako boby oraz jeszcze jednego boba jako to zasłanianie śruby do wybijania piłki. Jeśli będzie płynnie, to mogę w to brnąć.

Myślę że 6 bobów to może nie być takie straszne jeszcze. Tymbardziej, że to nie jest Amos. Tu podwójne buforowanie nie spowalnia ani trochę płynności. Może być wolniej, jeśli będzie przejście do wyświetlacza i wyświetlanie napisów. Tam naraz 40 znaków jest wklejane przy każdym napisie. Bardzo sprytnie ta procedurka działa. Już mam sposób też do innych gier na wklejqnie własnych czcionek graficznych.
[#60] Re: Powstawanie nowej gry w Blitz 2

@mastaszek, post #58

Prawa Murphy'ego sie klaniaja - "Nic nie jest tak proste, jak się wydawało"

Swego czasu chcialem zrobic wlasnie tak samo przyslanianie obiektu ruchomego przez wiele obiektow stalych no i sie okazalo, ze to bedzie wymagac dodatkowych warunkow sprawdzania kolizji, ktore tak spowolnily cala procedure ze bylo to nieoplacalne...
Oczywiscie jak ktos to napisze w assemblerze to nie bedzie mial takich problemow.
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