kategoria: Blitz
[#1] Powstawanie nowej gry w Blitz 2
Postanowiłem uchylić już nieco tajemnicy na temat nowo powstającej gry.

Kiedyś jakiś czas temu próbowałem, ale na scrollu w Amosie się skończyło. Dzisiaj prezentuję moje wypociny na chwilę obecną.

Gra powstaje powoli w Blitz Basic 2. Gra to port Pinball Dreams 2 z 1994 roku. Wygląd jak wygląd, niewiele się różni od oryginału:



Na chwilę obecną jest muzyka, grafika jest w DualPlayfield (2x16 kolorów). Bitmapy są wielkości 320x512 pikseli scrollowane pionowo. Fizyka gry jest jako taka, stale poprawiana lub stale psuta przeze mnie na nowo. Myślę, że kiedyś dojdę do tego, że to będzie grywalne, ale potrzeba sporo czasu i kombinowania.

Wymagania:
A1200 z 8MB Fast Ram

Sterowanie:
LShift+RShift - łapki odbijające piłeczkę
joystick - ręczne sterowanie piłeczką na moje potrzeby testowania fizyki gry
DOWN ARROW - wybijanie piłeczki
SPACE - powrót piłeczki na start

Dodatkowo:
F1 - wyświetlenie bitmapy roboczej, z której jest czerpana calutka fizyka gry
ESC - wyjście

TUTAJ jest ADF z obecną wersją. Proszę o przetestowanie, kto chętny i wyrażenie opinii :)
9
[#2] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

test grania pod WinUAE:



czemu czasami po wypadnięciu piłeczki ekran przesuwa się do góry? (a potem zjeżdża w dół)
na 2:23 piłeczka jakby zatrzymała się na prawym flipperze - odniosłem wrażenie, że po jego opuszczeniu stoi tam zbyt długo.
pod winuae granie shiftami może być kłopotliwe, bo winda ma jakiś swój porypany skrót, który po wciśnięciu 5*shift otwiera okienko z pytaniem "Czy chcesz włączyć funkcję Klawisze Trwałe?". x|
3
[#3] Re: Powstawanie nowej gry w Blitz 2

@snajper, post #2

Czapki z głów. Kolega Tukinem to czarodziej.
2
[#4] Re: Powstawanie nowej gry w Blitz 2

@snajper, post #2

W pinballa grasz jak paralita , nie wiedzialem, ze jestes taki cienki
1
[#5] Re: Powstawanie nowej gry w Blitz 2

@snajper, post #2

Po wypadnięciu piłeczka dalej się przesuwa a z nią idzie scroll. Nie powinna wypadać poza ekran, ale to już moje zmartwienie żeby ona nie wypadała.

Co do zatrzymania na łapce, to ciągle walczę z tym. Wszystko muszę dopracować, żeby było wierne odwzorowanie fizyki. Opanowałem łuki na 100%. Odbijanie od ścian jest, od podłogi też. Jeśli uda Ci się dobić piłeczką w prawą rampę to piłeczka wpadnie w metalowe tunele i będzie się kulać w nich ale to graniczy z cudem niestety narazie.

Co do Shiftów, to zostawię to i ewentualnie dołożę sterowanie poprzez LAmiga i RAmiga. W oryginalnym Pinball Dreams na DosBox też jest problem i trzeba wyłączyć komunikat o klawiszach trwałych w windows.

Nie zamierzam rezygnować ze sterowania shiftami przez wady Windy. To gra dla Amigi

Oczywiście wielkie dzięki za przetestowanie i filmik.

Ostatnia aktualizacja: 12.12.2022 18:26:19 przez tukinem
1
[#6] Re: Powstawanie nowej gry w Blitz 2

@selur, post #4

po prostu chciałem dać Ci fory, ale widzę, że jak dotąd nawet nie zdołałeś wcelować dyskietką do stacji.
[#7] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #5

Nie testowalem, ale z tego co widzę to słabo wygląda ta fizyka, odnoszę wrażenie, że bardziej niz kombinowanie to przydałoby się zrobić to zgodnie z zasadami fizyki, a dopiero potem kombinować.
W ramach ćwiczenia to napaisałbym sobie najpierw prosty rzut piłką pod danym kątem i siła (coś jak w schorched tanks). Musisz uwzględnić też masę pilki. Możesz poszukać tutoriala jak to zrobić (w innych językach), albo wziąć książkę do fizyki z liceum i zobaczyć sobie jak się liczy rzuty ukośne (ba nawet przy swobodnym spadku piłka ma przyspieszenie - w twoim pinballu zachowuje się jakby nie miała masy).

Kolejne ćwiczenie to zwykle odbicia piłki od powierzchni (tu proponowałbym zrobić to w jakims dzisiejszym języku) i przy użyciu funkcji trygonometrycznych zrobić przeliczanie takiego odbicia. Później dopiero przenosiłbym to na Amigę, robiąc uproszczenie przy wyliczaniu kąta oraz korzystając ze stabilicowanych wartości sinusa i cosinusa.

No i jeszcze, żeby już tak wszystko ogarniać to zderzenia piłek. Tu możesz wrócić do swojej gry beach volley I zakładając że głowa jednego bloba to piłka zrobić poprawne wyliczenie (siatkowke widziałem tylko na SACP, także mogę nie do końca pamiętać). Bo zdarza się przecież w pinballu, że pojawia się więcej niż jedną piłka :)
[#8] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

do ekramu masz maskę z odcieniami szarosci reprezentującymi kąty czy inna logika?

Ostatnia aktualizacja: 12.12.2022 20:25:52 przez michal_zukowski
[#9] Re: Powstawanie nowej gry w Blitz 2

@Mir3k, post #7

No właśnie fizyka piłki jest w takiej grze najważniejsza. Co ciekawe - pecetowa wersja zarówno Pinball Dreams 1 jak i 2 ma tę fizykę skopaną. Kto nie wierzy, niech sobie porówna jedynkę z amigowym oryginałem.

@Tukinem Szacun za chęci. Jak to doszlifujesz, to może być bardzo fajny port. :)
[#10] Re: Powstawanie nowej gry w Blitz 2

@Mir3k, post #7

Nie przesadzajmy. W Pinball Dreams nie ma ani tarcia piłki, ani nachylenia stołu. Moja fizyka sprawia, że piłka puszczona pod kątem będzie opadać. Ruch po łuku piłki jest zrobiony w każdym przypadku spadania piłki.

Błędy w mojej wersji to głównie miejsca, gdzie się łączą łuki z prostymi przeszkodami i kolory sprawdzania fizyki się łączą. Sprawdzane są współrzędne środka, boków, góry, dołu i narożników piłki. Zależy od sytuacji.

Myślę że rzeczy które uważam za gotowe są w 100% zgodne z oryginałem. Reszta to reakcja na łapki flippera, odbijanie, turlanie itp.

Jeśli ręcznie przesuniemy piłkę w prawo to trafimy na wymuszony tor dla piłki i ona bardzo fajnie wtedy sunie po torze "metalowym". Jeśli się teraz skupię tylko na odbijaniu piłki, to uda mi się wkońcu stworzyć wierną kopię oryginału.
[#11] Re: Powstawanie nowej gry w Blitz 2

@snajper, post #2

pod winuae granie shiftami może być kłopotliwe, bo winda ma jakiś swój porypany skrót, który po wciśnięciu 5*shift otwiera okienko z pytaniem "Czy chcesz włączyć funkcję Klawisze Trwałe?". x|

To jest jedna z pierwszych rzeczy, które należy wyłączyć po zainstalowaniu Windy. ok, racja
[#12] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

Najlepiej to uzyc tych samych procedur, co sa w Pinball Dreams na Amige. Wtedy to bylaby konwersja lepsza niz PC-towa. Podobno Pinball Hazard (polska gra) ma procedury rypniete z Pinball Dreams, ale nie sprawdzalem tego. Kiedys czlonkowie grupy Union (tej od docenta), AMST i Thom, i chyba obaj Big Towers (grafika) o ile dobrze pamietam po tylu latach zamierzali zrobic jakis polski pinball. Nawet chyba mieli juz grafike na jeden stol i jakis kod odpowiadajacy za fizyke kulki.
[#13] Re: Powstawanie nowej gry w Blitz 2

@Don_Adan, post #12

Nie no kod chciałbym napisać sam. Grafikę zerżnąłem, muzykę zerżnąłem, pomysł zerżnięty... trzeba coś dać od siebie hehe
1
[#14] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

Fajne, z PD2 podobał mi się stół Safari OK
Co do fizyki, nie dałoby się jej wyciągnąć z wersji PC po deasemblacji, albo użyć amigowej z pierwszej części?


Ostatnia aktualizacja: 13.12.2022 06:56:16 przez Jacques
[#15] Re: Powstawanie nowej gry w Blitz 2

@Jacques, post #14

No właśnie... Tylu tu mistrzów asemblera. Któryś by mógł wyrypać co trzeba, napisać ładny artykuł o tym jak działa taki pinball z epoki i pomóc koledze. Ja z chęcią takie coś też bym przeczytał;)
[#16] Re: Powstawanie nowej gry w Blitz 2

@teh_KaiN, post #15

Poszukaj może jakiegoś portu Box2D dla BlitzBasic.
[#17] Re: Powstawanie nowej gry w Blitz 2

@teh_KaiN, post #15

Może Cię zainteresuje, że opracowałem swego czasu edytor plansz do gry Benefactor. Poznałem jak taka gra działa w ciągu kilku miesięcy - na podstawie kodu w asemblerze.

Benefactor napisali ludzie z Digital Illusions, autorzy Pinball Dreams, Fantasies i Illusions.

Tutaj przeczytasz dokument, który opracowałem 3 stycznia 2003 roku, na temat specyfikacji poziomu w tej grze:

https://coreprogramming.pl/Benefactor/BME.html
[#18] Re: Powstawanie nowej gry w Blitz 2

@teh_KaiN, post #15

do pinball fantassies są nawet źródła dosowe wypuszczone:
https://github.com/historicalsource/pinballfantasies
[#19] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #13

No widzisz slawny jestes, juz masz watek na EAB o tej konwersji. A co do wyrypania procedury obslugujacej fizyke kulki z Pinball Dreams to pewnie by sie dalo ja zdeasemblowac. Ale opisywac to musialby juz ktos sie na tym zna, chyba ze to jest tylko czysta matematyka.
[#20] Re: Powstawanie nowej gry w Blitz 2

@Jacques, post #14

Pisałem, że nie chcę zżynać czyjegoś kodu. Wydaje mi się że to kwestia zarówno dogrania bitmapy roboczej, na której są kolory reakcji dla piłki, jak i samego napisania reakcji piłki na te kolory. 4 kolory mam w 100% gotowe. Kolejne 4 w 90%. Reszta do dopisania + poprawienie bitmapy roboczej.

@Don_Adan: już tam jest wątek? No to niedobrze. Jeśli mi się nie uda tego napisać i dokończyć to będzie wstyd na cały świat. Po drugie co z takiej sławy jak ja tam mam konto zablokowane szeroki uśmiech

Wzorowałem się na tym projekcie i stąd moja bitmapa robocza.

Ostatnia aktualizacja: 13.12.2022 11:02:03 przez tukinem
[#21] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

Klasyczny (do tego scrollowany) flipper to nie jest najłatwiejszy projekt. Brawo za odwagę i to, że projekt osiągnął już tak zaawansowane stadium. To na serio działa i (co chyba najważniejsze we flipperach) piłeczka zachowuje się zupełnie normalnie, przewidywalnie i zgodnie z zasadami do jakich przyzwyczaiła nas grawitacja na naszej (zużytej nieco) planecie. I to jest Blitz Basic? Duże brawa! Trzymam kciuki za ukończenie projektu. Warto. OK
[#22] Re: Powstawanie nowej gry w Blitz 2

@MDW, post #21

Dziękuję.

Tak to jest Blitz Basic 2, ale jestem zdania, że gdyby Amos obsługiwał AGA, to też by dał radę. Narazie tu jest tylko sterowanie sprajtem piłki i bobami łapek do odbijania, więc nie ma szału Tu największą kwestię odgrywa teraz odpowiednie przeliczanie prędkości piłki. A zaczynałem od piłeczki spadającej w dół. Później była piłeczka wyrzucona w górę, tracąca swoją prędkość Y przez zmienną g (grawitacja). Miałem użyć jej jako stałej, ale ułamka o wartości 0.01 nie da się tak przypisać, więc jest zmienną.

Wybrałem akurat ten pinball bo tu jest fajna muzyka w pliku select.mod. ogólnie ten pinball był niezbyt udany o ile nie najgorszy z całej serii. Staram się pisać uniwersalny kod, który będzie można użyć w innych stołach a nawet innych grach typu pinball.

Myślę, że góra miesiąc i fizyka gry będzie gotowa.
1
[#23] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #22

Amos, a raczej jego nowsza wersja obsługuje AGA. Piszę w nim to i owo.

Ostatnia aktualizacja: 13.12.2022 15:38:37 przez Stoopi
[#24] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #20

Zakladajac, ze nie zostales zbanowany to pewnie dlugo nie pisales tam. Oni tam maja dziwny wymog antyspamowy, ze trzeba bodaj 30 czy 50 wpisow miec, zeby konto nie zostalo automatycznie wylaczone. A wylacza sie bodaj po 3 lub 6 miesiacach nie pisania albo nie logowania, juz nie pamietam. Przez to wielu ciekawych uzytkownikow ma na EAB wylaczone konto, moderatorzy mogliby znanym uzytkownikom sami weryfikacje konta zrobic, omijajac ten wymog, bo nie kazdemu sie chce tyle wpisow pisac.
[#25] Re: Powstawanie nowej gry w Blitz 2

@Stoopi, post #23

Próbowałem kiedyś, ale ale miałem jakąś dawną wersję Amos X Professional. Chyba tam był problem z kompilatorem.

@Don_Adan: Dokładnie tak. Założyłem konto dawno temu, ale nie udzielałem się i mam blokadę. Pisałem maila niedawno do admina, ale bez skutku. No trudno, nie mam zamiaru zakładać nowego konta.
1
[#26] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #25

A to się zgadza.
[#27] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #20

Masz przerabne, ktos tam wrzucil na EAB juz twoje probki i juz kazdy czeka na Pinball Dream 2 w najlepszej odslonie
[#28] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #25

Ja mam tyle pytań...
Jak dawno temu zacząłeś programowanie na amidze? Masz jakieś poprzednie doświadczenia na innych platformach? Jak zaczynałeś? Jakie książki polecasz?
Wiele tego publikujesz. Ile czasu poświęcasz na takie projekty tygodniowo? Czy zawodowo pracujesz przy komputerach?
Jeszcze raz gratulacje, bo kolejny raz nas zaskoczyłeś. Jak tak dalej będziesz szedł za ciosem, to będzie z Ciebie jakiś Laxity.
[#29] Re: Powstawanie nowej gry w Blitz 2

@tukinem, post #1

...

Ostatnia aktualizacja: 14.12.2022 01:49:10 przez selur
[#30] Re: Powstawanie nowej gry w Blitz 2

@selur, post #27

Dlaczego przerabane? Juz mu grafike stolu poprawili (?). Teraz tylko musisz swoim okiem marudy ocenic czy jest wystarczajaco dobra. A oczekiwania pewnie i tak beda duze.
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