[#1] Electroman dla Amigi
Myślę, że już na tyle gra dojrzała, że można ją przedstawić światu.

Proszę Państwa, oto przedstawiam port gry, którego tworzę chyba od półtora miesiąca. Poza pinballem, który nie był do końca przekonujący, to moja druga próba stworzenia czegoś pod AGA. Tym razem jest lepiej.

Wszystko rippowałem sam ręcznie po zrzutach ekranu z Dosboxa-x. Zdarzenia dźwiękowe z serwisu Youtube zgrabbowałem do IFF. Muzykę do gry stworzyłem sam w Protrackerze. Silnik gry jest w dużej mierze kopią silnika z Tonego, ponieważ gry są bardzo podobne do siebie. Do rzeczy.

Przedstawiam amigową wczesną wersję (alfa?) Electroman, czyli wersję zagraniczną gry Electrobody, stworzoną kiedyś przez panów Janusza Pelca i Macieja Miąsika na platformę MS-DOS. Gra, jak pisałem wymaga Amigi z AGA. Narazie dobrze mieć fast ram, ale ostatecznie nie trzeba będzie go posiadać żeby płynnie pograć.

TUTAJ można sobie pobrać grę.
- sterowanie uniwersalne joy/klawiatura ze spacją
- gdy staniemy na teleporcie, to sterując w dół przenosimy się w inne miejsce w grze
- cała mapa pierwszego levelu jest odtworzona
- mamy kilka rodzajów strzelania, wszystko odtworzone
- przeciwnicy są w pełnej animacji odtworzeni, jednak jeszcze została mi ich logika, kiedy chodzą i kiedy stają i strzelają
- animacja głównego bohatera moim zdaniem jest w miarę wiernie odwzorowana, chociaż zawsze można było by lepiej
- na upartego wystarczą 2MB chip ram bez fast ramu, ale w niektórych komnatach będzie wolniej (dokładnie tam, gdzie jest część grafiki nakładana na gracza), ale to będzie naprawione z biegiem czasu


- oczywiście są miejsca z lekkimi błędami, bo to wczesna wersja
- nie ma jeszcze wszystkich zdarzeń dźwiękowych
- nie ma jeszcze wszystkich kolizji obiektów oraz kolizji strzałów z kaflami

Nie użyłem tu bitmapy z kolizjami, jak zwykle to robię. Wszystko opiera się na kaflach mapy, co z jednej strony jest oszczędniejsze co do pamięci RAM, ale jest trudniejsze i wolniejsze w wyliczaniu.

To teraz kilka screenów:










14
[#2] Re: Electroman dla Amigi

@tukinem, post #1



2
[#3] Re: Electroman dla Amigi

@selur, post #2

skąd ja wiedziałem, kto pierwszy skomentuje :D
1
[#4] Re: Electroman dla Amigi

@tukinem, post #1

Grę oczywiście wszyscy w Polsce znają nawet jeżeli nigdy peceta nie używali. OK
Serio wycinałeś grafikę ze zrzutów ekranu, a dźwięk z YouTube? Nie dało się jakoś wyrżnąć tego z pecetowych plików? No... szacun, że Ci się chciało. To wymagało sporej cierpliwości, uporu i dokładności.

Ostatnia aktualizacja: 10.09.2023 22:35:05 przez MDW
3
[#5] Re: Electroman dla Amigi

@MDW, post #4

Jedna z moich ulubionych gier :D
2
[#6] Re: Electroman dla Amigi

@MDW, post #4

Kafle tutaj są 24x24 pix. Grafiki w Irfan View zapisywałem do PNG, a dalej PPaintem przekolorowywałem do utworzonej palety do gry, a reszta w Brilliance.

Tutaj fotka (trochę niepełna) z grafik animacji postaci. Kolor niebieski w grze jest czarny:


Dźwięki przygotowuję w Adobe Audition, który jest chyba plagiatem dawnego Cool Edit. Ścieżkę dźwiękową z gameplay'u Electromana z PC zgrałem sobie właśnie w taki sposób. Sample do Pro Trackera z muzyki tak samo. No i moduł już poskładałem z tych sampli, co wyciąłem.

Animacje zerżnąłem tak, że cykle CPU w Dosbox-x zjechałem do minimum i klatka po klatce F11+P do pliku. Dalej już albo kopiowałem sobie wycinki z plików, albo ręcznie przepikslowałem sobie.

Powoli do celu :)

Ostatnia aktualizacja: 10.09.2023 22:42:27 przez tukinem
5
[#7] Re: Electroman dla Amigi

@Ralpheeck, post #5

Miała taką bardzo ośmiobitową mechanikę i (pomijając grafikę) przypomina liczne platformówki dla Atari XL/XE powstałe w okresie polskiego renesansu Atari (1989-94). Zawsze traktowałem "Elektro Body" jak taką trochę "Misję" na PC. To pewnie też trochę przez autorów i wydawcę.
4
[#8] Re: Electroman dla Amigi

@MDW, post #7

No tak. Koderzy gry pracowali później w LK Avalon :)
4
[#9] Re: Electroman dla Amigi

@tukinem, post #6

No to się trochę narobiłeś z samym przygotowaniem grafiki. To na serio wymagało sporej dokładności i cierpliwości.
A sam program jak i w czym powstał? Używasz jakiegoś silnika?
2
[#10] Re: Electroman dla Amigi

@MDW, post #9

Tradycyjnie Blitz Basic 2.

Sporo wyciągnąłem z gry Tony, która powstaje jednocześnie, ale że teraz czekam na dalsze grafiki do gry, no to stwierdziłem, że przez ten niedosyt kolorów muszę stworzyć coś podobnego do Tonego. Postawiłem na Electromana z racji, że grę znam dobrze z dzieciństwa jeszcze (w 95 roku pierwszy raz zagrałem w Electrobody jako 8-latek :P )
5
[#11] Re: Electroman dla Amigi

@tukinem, post #1

Ogromne gratulacje. OKOK

Cenię sobie Janusza Pelca za Robbo, o tej jego grze na platformę PC DOS słyszałem, ale nie grałem.

Według mnie dokonałeś niemożliwego.
3
[#12] Re: Electroman dla Amigi

@Hexmage960, post #11

Niemożliwe dopiero przede mną. Jak przeglądam kolejne levele w grze to patrzę i nie wierzę co mnie czeka. Lasery animowane z dużymi grafikami, tła, które bardziej powinny być jako pionowe rainbowy, niż kafle, no ale jakoś to ogarnę w kaflach, w jednym levelu są grafiki rysowane jakby ręcznie. Wiele przede mną. I pomyśleć, że oni to w 9 miesięcy napisali w asemblerze x86 łącznie z projektowaniem, tworzeniem grafik i ścieżki dźwiękowej.

Gdyby ktoś był ciekawy, jak wyglądają pełne levele, to stąd sobie ściągnąłem mapki wszystkiego do gry.

Ostatnia aktualizacja: 10.09.2023 23:03:45 przez tukinem
2
[#13] Re: Electroman dla Amigi

@tukinem, post #1

Elegancko! No i brawo za ogarnięcie kolizji po kaflach zamiast bitmap. OK
3
[#14] Re: Electroman dla Amigi

@mastaszek, post #13

No niestety zaraz pewnie dostanę ochrzan za to, jak sprawdzam kolizje, ale niestety zamiast Point(), które są szybciutkie w Blitzu musiałem użyć dzielenia. Poza Tonym, nigdy nie ukrywałem przed innymi co drzemie w moich kodach, więc:

to wylicza się co 3 ramki.

Tablica c(nr) to tablica kolizji, gdzie 0,1 to górny lewy i prawy róg, 2,3 to dolny lewy i prawy róg, a 4 i 5, to piksel poniżej do wykrywania podłogi. mc(x,y) to tablica kafli w danej komnacie. Wszystko dzielone niestety przez 24, ponieważ kafle są 24x24 pix. Nie mogłem tutaj użyć przesuwania bitów, czyli LSR, co pewnie znacznie by przyspieszyło. Na szczęście, skoro jest AGA, to jest 68020 14MHz :)
1
[#15] Re: Electroman dla Amigi

@tukinem, post #12

Ja głównie serdecznie gratuluję Ci ogarnięcia gry takiego typu. To jest dla mnie coś w sferze marzeń - zrobić komnatówkę. Jest to bardzo złożony gatunek.

Zobacz, że z Sokobanem, czy Robbo sobie ledwo daję radę.

A kolega wyczarował kolejną grę o złożonej mechanice.

W wolnej chwili zagram w Twój port gry Electro Body, a ostatnio pracuję na Amidze intensywnie.

Ostatnia aktualizacja: 10.09.2023 23:19:48 przez Hexmage960
2
[#16] Re: Electroman dla Amigi

@Hexmage960, post #15

Szczerze Ci polecam Blitz Basic, a jeszcze bardziej AmiBlitz. Możesz tam używać jednocześnie asemblera, bibliotek systemowych, a dodam jeszcze, że w AmiBlitz masz o wiele wiele więcej bibliotek. Nawet obsługa RTG jest.
3
[#17] Re: Electroman dla Amigi

@Hexmage960, post #15

To jest dla mnie coś w sferze marzeń - zrobić komnatówkę.

dla mnie jest to dokończenie 8bit gry Montezumas revenge/ Preliminary monty
:)

Ostatnia aktualizacja: 10.09.2023 23:46:28 przez Cezarykl
1
[#18] Re: Electroman dla Amigi

@tukinem, post #6

Dźwięki przygotowuję w Adobe Audition, który jest chyba plagiatem dawnego Cool Edit.
Nie jest to plagiat, nastąpiła zmiana nazwy programu. Adobe kupiła Cool Edit Pro od Syntrillium Software w maju 2003 roku i zmieniła jego nazwę na Adobe Audition. Od tego czasu rozwija go i ulepsza. Wersje AA 1.0 i 1.5 wyglądały tak jak Cool Edit Pro 2.1, wprowadzały tylko kilka dodatkowych funkcji. Od wersji 2 zmieniono też wygląd interfejsu i rozpoczął się duży proces wprowadzania wielu różnych ulepszeń, który trwa do dzisiaj. Obecnie najnowsza wersja nosi numer 23.6.1 ;)

Co do gry, to podoba mi się OK
2
[#19] Re: Electroman dla Amigi

@tukinem, post #1

pfffff...! 😑



Ostatnia aktualizacja: 10.09.2023 23:53:39 przez snajper
[#20] Re: Electroman dla Amigi

@brain030, post #18

Ja właśnie używam Audition w wersji 1.5, bo lata temu używałem właśnie Cool Edit 2.1. Wersja 2000 nie przypadała mi do gustu zbytnio.

Co do Electromana, nie spodziewałem się, że wszyscy tu będą tak zadowoleni. Naprawdę zanim opublikowałem dzisiaj go, to powoli i skrupulatnie sobie wszystko tworzyłem bez jakiejkolwiek gonitwy. Jeden dzień przykładowo poświęciłem na wyripowanie sobie grafik tych pająków (alienów/stworów czy jak to tam nazwać), inny dzień od satelitek, które się poruszają na liniach i strzelają do nas z góry.

Na początku zrezygnowałem z kafli, które zakrywają strzałki, które nas kierują po komnatach. Tak samo zrezygnowałem z kafli z telefonami i obróconymi kwadratami. Gdy już uporałem się z tymi pająkami, satelitami, to stwierdziłem, że jednak dodam te kafle zakrywające i dam im kolizje od naszych strzałów, aby zbliżyć się jeszcze bardziej do oryginału.

W tym tygodniu właśnie wprowadziłem te kafle oraz animację dymku, który się wyświetla jak w coś strzelimy, lub gdy coś nas zabija. No i oczywiście dźwięki i muzyka też zostały wprowadzone w tym tygodniu.
2
[#21] Re: Electroman dla Amigi

@snajper, post #19

Hehe :D spróbuj uruchomić bez RTG :) nie testowałem tego tak. To też eksperymentalna funkcja, którą napisałem w asemblerze od wykrycia AGA.

Może ktoś z wiedzą poprawi ten kod od wykrycia AGA.

Teraz sprawdziłem pod RTG i ładnie przełącza się z RTG w AGA i uruchamia, a po wyjściu powraca do RTG. Testowałem na emulacji Voodoo3 w Winuae.



Ostatnia aktualizacja: 11.09.2023 00:04:12 przez tukinem
1
[#22] Re: Electroman dla Amigi

@tukinem, post #14

Dzielisz często przez tę samą liczbę 24, to zrób sobie tablicę z przeliczonymi wcześniej dzieleniami i zamiast dzielić, to pobieraj wartość z tej tablicy. Będzie szybciej. Jeśli masz gdzieś też mnożenia przez te same liczby, to tak samo można to prekalkulować w tablicach.

Czyli mniej więcej tak:
For i=0 to iletampotrzeba
tablica(i)=i/24
next

a potem w pętli zamiast np. zmienna=x/24, wstawiasz zmienna=tablica(x)



Ostatnia aktualizacja: 11.09.2023 00:09:21 przez mastaszek
2
[#23] Re: Electroman dla Amigi

@mastaszek, post #22

to będzie spora tablica... ekran to 312x192 pix :D
1
[#24] Re: Electroman dla Amigi

@tukinem, post #23

Czyli przez 24 dzielisz liczby z zakresu 0-312?
1
[#25] Re: Electroman dla Amigi

@tukinem, post #21

u mnie to raczej nie pójdzie - taka już dola wompierzy. Najwyżej odpalę sobie pod WinUAE.
[#26] Re: Electroman dla Amigi

@mastaszek, post #24

Jak widać po kodzie. Chodząc po planszy mamy różne współrzędne. W poziomie 0-311, w pionie 0-191. Ekran tu jest zwężony z 320 na 312 pix, ale sama bitmapa jest dużo większa, żeby można było wyjść bobem poza ekran. Copperlista jest też zwężona po to żeby zakryć boba gdy wychodzimy w prawo. Sama bitmapa to 312+128x192+128. Czyli po 64 pix za ekranem z każdej z 4 stron świata.

@snajper: inne gry z AGA też Ci nie działają? Mogę usunąć z kodu wykrywanie AGA następnym razem i może wtedy odpalisz grę.
1
[#27] Re: Electroman dla Amigi

@tukinem, post #26

Czyli x (z przediału 0-311) dzielisz przez 24 i y (z przedziału 0-191) też dzielisz przez 24.

Czyli tablica z dzieleniami przez 24 będzie miała tylko 312 bajtów, bo 311 to największa liczba którą poddajesz dzieleniu.

Ostatnia aktualizacja: 11.09.2023 00:34:14 przez mastaszek
2
[#28] Re: Electroman dla Amigi

@tukinem, post #14

szczerze mowiac, to nie rozumiem tego co tam jest 'stworzone'

w kazdym razie... ja mam swoj pomysl, najlepiej stablicowac wspolrzedne "mapki" z dokladnoscia do 4 pikseli (powinno starczyc).
Czyli wpisac w tablice 320/4 * 200/4 = tablica 80*50 (* 2 bo bajty dla Xt i dla Yt), koncowe wspolrzedne Xt,Yt tilesa 24*24 piksele.
I dopiero majaca wspolrzedne Xt,Yt odczytac po tych wspolrzednych z tablicy mapy tilesow, wartosc koncowego duzego tilesa.


Czyli zamiast /24 bedzie najpierw wspolrzedna ekranu /4 (czyli przesuniecie bitowe 2 razy) a pozniej pobranie ze specjalnej tablicy 80*50 pobranie wspolrzednej potrzebnej do porbania wartosci tilesa.
[#29] Re: Electroman dla Amigi

@mastaszek, post #27

Aha no tak racja. Dzielenie pozycji Y to ta sama tablica

Niby tu mam 8 dzieleń co 3 ramki, ale dojdą jeszcze wylicsenia dla samych strzałów, czy nie wpadają w ścianę, bo strzały nie mogą przelatywać przez ściany. Masz rację. Będę to tablicować OK

@Selur. Mamy bitmapę podzieloną na kafle 24x24. Wybierając dowolny piksel w bitmapie musimy jego współrzędne podzielić przez 24 żeby wyliczyć nr kafla w jakim się znajduje. Na podstawie tego numeru pobiera z tablicy kafli komnaty mc() konkretny numer. 0 - wolne pole, 1 - ściana 2 - podłoga. Tyle tylko tam jest i więcej nie potrzeba. Stablicuję dzielenia przez 24 do osobnej tablicy i będzie ok.

Ostatnia aktualizacja: 11.09.2023 00:42:30 przez tukinem
2
[#30] Re: Electroman dla Amigi

@tukinem, post #29

No jak mowi Mastaszek, tablicowac mnozenia i dzielenia wszystkiego co sie da.





tak z innej beczki.... w dziale gielda pojawil sie ciekawy 'post':

"Poszukuję zdolnego programiste, który będzie potrafił przeportować grę z engine GameMaker Studio 2 (PC) na Amigę (nie ważne w jakim języku ale jak pamiętam był AMOS ew. chyba coś jeszcze)"

Nie wiem jak sie portuje cokolwiek z game makerow wiec w Amosie nie ma szans ale moze jakis asemblerowy koder sie rzuci na glebokie wody i wielka kase
"...po opłaceniu podatku dzielimy się 50/50." czyli 50zl w kieszeni bedzie jak nic
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