[#151] Re: Ami Robbo 2

@tukinem, post #126

Ktoś to stworzył, czy bezduszny generator wygenerował?
[#152] Re: Ami Robbo 2

@amikoksu, post #151

Co takiego?
[#153] Re: Ami Robbo 2

@tukinem, post #152

Tę grafikę tytułową. Całkiem spoko.
[#154] Re: Ami Robbo 2

@amikoksu, post #153

To grafika Rafała, który wyrysował całego Tonego. No ale będzie poprawiać jeszcze, bo to jest sequel Amirobbo a nie atarowskiego Robbo
[#155] Re: Ami Robbo 2

@tukinem, post #150

Ale to co gra nie pojdzie na A600 z tylko 2MB chip?
Albo na golej A1200?
Masz naprawde troche dziwne podejscie do wymagan swoich gier wedlug mnie.
Ogolnie cos robisz zle.

Tu masz przyklad znanej gry stworzonej w BlitzBasic-u, i dzialajacej na A500/A600 z 1MB RAM.

link
[#156] Re: Ami Robbo 2

@amikoksu, post #151

Ale to chyba pytanie retoryczne, co? ;)
Nawet ta kolorystyka taka jakaś typowa dla niektórych modeli AI.

@tukinem
Jestem teraz na wakacjach ale jak chcesz to za jakiś tydzień chętnie popatrzę wspólnie z tobą na wymagania na fast w BB. W mojej grze mam takie same problemy i walczę aby zmieścić się w 512+512
Odezwę się na priv po powrocie.

A co z tym podwójnym buforem? Potrzebny jest?
[#157] Re: Ami Robbo 2

@Don_Adan, post #155

Na 2MB Chip pójdzie. Problem stanowi A500 z 0.5MB CHIP.
Uruchomiłem sobie na konfigu 0.5 chip + 1.0 fast i w niektórych momentach wyplułem wolną pamięć:


Już wiesz o co chodzi? Mając 0.5 MB fastu gra zdechnie, bo fast będzie zapchany i dane wylądują w chip ramie, który ledwo dyszy (51 KB wolnego miejsca). Zauważ, że zaraz po uruchomieniu gry, zaalokowaniu danych w fast ramie (tablice, dane w blokach DC itp. zostało już poniżej 500KB fastu). Pisałem że to jest Blitz to jest basic i on tworzy sporych rozmiarów pliki uruchamialne - w tym przypadku 247KB. Może to też fakt że uruchamiam z kickstartu 3.2.2, aby mieć dostęp do dysku w PFS3 z grą.

Fakt faktem i tak gra jest nieskończona więc jeszcze kod urośnie (podejrzewam, że do około 300KB) więc nie będę się bawić w aptekarza. I tak wiara uruchomi na WinUAE.

Tutaj uruchomiłem na konfigu 2MB Chip bez fastu:


Działa dobrze i jeszcze muzykę wczytał dodatkowo.

@c64portal: Tu akurat podwójnego bufora już nie usunę tak łatwo. Gdy wrócisz z urlopu, to Ci wyślę kod gry i i zobaczysz dlaczego. Tam jest bardzo dokładnie rozwleczone sterowanie, blitowanie, mnóstwo Select / Casów w zależności od kierunku, styczności z danym obiektem, a dodatkowo nie używam komendy Blit, a własnego statementu Blituj{}, który jednocześnie blituje i dodaje do listy blitów dane do drugiego bufora. Po przeskoku do kolejnej ramki i wykonaniu Unbuffer pętla sprawdza całą listę i blituje do drugiej bitmapy wszystko z listy, jednocześnie kasując każdą pozycję. Bardzo fajna sprawa. Wcześniej miałem stałą tablicę do tego, ale odkąd poznałem listy, to stworzyłem listę na 100 pozycji tak dla pewności.

Ostatnia aktualizacja: 22.07.2024 23:17:18 przez tukinem
[#158] Re: Ami Robbo 2

@Don_Adan, post #138

Swoja droga to dodatkowo wyjasnia dlaczego gry Amigowe, zabijaly system i przejmowaly kontrole nad wczytywaniem danych.

Według mnie powodów jest wiele, a najważniejszy jest taki, że zwyczajnie miałeś więcej pamięci do dyspozycji. Jak dobrze pamiętam, zyskujesz około 100 kb gdy ubijesz system. A to jest bardzo dużo bo aż 1/5 z 512 kilobajtów.
[#159] Re: Ami Robbo 2

@c64portal, post #156

Jesli chodzi o niewielka ilosc pamieci typu paredziesiat KB, to sa mozliwe dwie proste rzeczy:
1. procedury typu add21k lub add44k
2. wylaczyc inne stacje dyskietek niz DF0: kazda aktywna stacja czy HD, zzera pamiec jesli gra dziala nie wylaczajac systemu, ludzie o tym zapominaja pod WinUAE i czesto maja aktywne 4 stacje dyskietek.
[#160] Re: Ami Robbo 2

@asman, post #158

Tak, ale mi tu raczej wyglada, ze on nie uzywa tylko samej df0: ale moze sie myle.
[#161] Re: Ami Robbo 2

@tukinem, post #157

Przeciez Ci niewiele brakuje, zeby gra dzialala na 1MB.
Sprobuj uzyc add21k, wylaczyc inne stacje dyskietek i HD.
1
[#162] Re: Ami Robbo 2

@c64portal, post #144

ja bym olał podwójne buforowanie bo tu wg mnie nie będzie potrzebne. tzn ja w BB bym zaczął to robić bez podwójnego bufora i zobaczyl czy bedzie potrzebny dopiero potem jak bedziesz animowal obiekty na ekranie


W pojedyńczym buforowaniu jest tylko takie wyzwanie że trzeba uważać gdzie i w jakim czasie kopiujesz obiekty, bo jeśli akurat w tym samym czasie kopiujesz co omiatana jest wiążka ekranu to będą przekłamania w grafice. Najłatwiej to wygenerować czekając na zadaną linię ekranu i kopiowanie blitterem w to miejsce.

Przy takim ekranie 512x512 i dużej ilości animowanych obiektów na całej takiej planszy mogą być spowolniena. Wystarczy odpalić sobie EmeralMine na a500 i przejść do bodajże 3 czy 4 planszy gdzie są spadające krople. Jest jeszcze plansza gdzieś około 40 gdzie jest pełno biedronek/żuków i też są spowolnienia. Właśnie w Emerald Mine jak dobrze pamiętam jest ekran 512x512 ale w 16 kolorach. W każdym razie by uniknąć spowolnien musi być przemyślany design plansz.
[#163] Re: Ami Robbo 2

@Don_Adan, post #159

Jak sprawdzałem kiedyś to tylko add21k działało, add44k wywalało mi się do guru.
[#164] Re: Ami Robbo 2

@Don_Adan, post #161

Tutaj masz podobny program do add21k, ale tego nigdy nie uzywalem, to nie wiem czy dziala:


link
[#165] Re: Ami Robbo 2

@asman, post #163

Ja tez uzywalem add21k glownie albo jedynie, ale juz nie pamietam.
No i chyba na EAB byl watek, gdzie Ross stworzyl bootblock kontrolujacy, ktory zwalnial jeszcze wiecej pamieci chip.
Wiec wystarczyloby taki bootblock dodac, zamiast zwyklego OFS, i nie potrzebne bylyby te addXXk.
[#166] Re: Ami Robbo 2

@Don_Adan, post #165

Znalazlem.
Sprawdz z tym bootblockiem o ile bedziesz mial wiecej wolnej pamieci:

link
[#167] Re: Ami Robbo 2

@asman, post #162

@asman
- wklejać można tylko to co widoczne w danym momencie i pomijać to co i tak jest poza planszą 320x200 (czy ile tam widać na raz)
- dodatkowo można wklejać boby przeciwnik co kilka ramek. i tak poruszają się skokowo więc 1, albo 2 boby w ramce nr1 boby 3 i 4 w ramce nr 2 itd.
- no i musowo na tym etapie kodowania cały czas sprawdzać ile czasu zajmuję procedury. najlepsza jest stara metoda move #$0fff, $dff180 :)
stety albo niestety kodowanie na retro maszynki to zabawa w takie triki :) ja np to lubię

@tukinem
napisz może jeśli to nie problem na co aż 1mb fastu idzie. moze wspólnie wszyscy tutaj coś wykombinujemy.

pozdrawiam

Ostatnia aktualizacja: 23.07.2024 10:56:23 przez c64portal
1
[#168] Re: Ami Robbo 2

@Don_Adan, post #161

Nie wiem co to jest add21k, a stacje mam ustawione dwie.

Może gra by poszła na 0,5+0,5 pod kickstartem 1.2, który nie jest aż tak pamięciożerny, ale nie będę się z tym męczyć. Kod gry jeszcze urośnie, dojdą inne dźwięki, dojdzie fabuła gry, miny, zbieranie dodatkowych żyć, zmieni się ładowanie map, bo póki co jest tylko jeden stały bank grafik, a będą się zmieniać, więc kod urośnie. Już ograniczyłem "red ledowcom" grę, bo zablokowałem wczytywanie muzyki gdy ktoś posiada tylko 0,5 MB chipu.

@c64portal: wrzuciłem wcześniej zrzuty ekranu jak wygląda zjadanie fast ramu. Po samym uruchomieniu gry na kick 3.2.2 zostało już wolnego miejsca poniżej 0,5MB więc zjadło ponad ten dopuszczalny limit. Nie dogodzi się wszystkim. Jedni chcą gier, które będą dobrze grywalne, inni chcą 256 kolorów na OCS-ie, a jeszcze inni chcą żeby to działało na Amidze 500 0.5+0.5. Z tego co zauważyłem, to tworzenie bitmapy w pamięci wraz z jej strukturą nie zapycha wcale fast ramu. Wszystkie dane bitplanów, rozmiary itp siedzą i tak w chip ramie.

Dodałem za to nowego kafelka murku tak, aby nie raziło w oczy i oto efekty:


Grafiki Koyota jeszcze nie są zgrane z stałą paletą, stąd na belce kolory są pomieszane.
1
[#169] Re: Ami Robbo 2

@tukinem, post #168


Nie wiem co to jest add21k, a stacje mam ustawione dwie.

Może gra by poszła na 0,5+0,5 pod kickstartem 1.2, który nie jest aż tak pamięciożerny, ale nie będę się z tym męczyć. Kod gry jeszcze urośnie, dojdą inne dźwięki, dojdzie fabuła gry, miny, zbieranie dodatkowych żyć, zmieni się ładowanie map, bo póki co jest tylko jeden stały bank grafik, a będą się zmieniać, więc kod urośnie. Już ograniczyłem "red ledowcom" grę, bo zablokowałem wczytywanie muzyki gdy ktoś posiada tylko 0,5 MB chipu.


To nie lepiej mimo wszystko już "zacząć oszczędzać" RAM? Wyłączenie DF1 dla produkcji 1-dyskietkowej(?) ma ogromny sens, a użycie add21k nic nie kosztuje. Nie wiesz co to jest? Masz Internet i Aminet i już wiesz

Po samym uruchomieniu gry na kick 3.2.2 zostało już wolnego miejsca poniżej 0,5MB więc zjadło ponad ten dopuszczalny limit.


No raczej Amigi z 3.2.2 w 99.9% przypadków nie mają zaledwie 1MB RAM-u, więc logiczne jest, że gra się toczyłaby raczej o stock z rozszerzeniem pod klapką


Ostatnia aktualizacja: 23.07.2024 11:46:18 przez Jacques
[#170] Re: Ami Robbo 2

@Jacques, post #169

Ale jeśli gra ma być bootowalna to mam do startup-sequence dodawać ten programik z aminetu? Tam jest add-36k i on zwalnia do 36KB ale chip ram. Co mi to daje? Dopiszę za chwilę dodatkowe linijki kodu, plik uruchamialny urośnie i wtedy nie będzie zabierać przykładowo 520KB a 620KB. Co wtedy? Znowu będę dłubać i rzeźbić, żeby zadowolić malkontentów, którzy i tak będą mieć pretensje że nie mają muzyki w grze? Szkoda zachodu bo i tak większość odpali na winuae lub na youtubie...

Teraz sprawdziłem i gra działa na kicku 1.2 0,5MB+0,5MB więc wtedy nie działało przez kick 3.2.2. Ale ostatecznie mierzę w konfig 0.5+1. Po wyjściu z gry wyszło guru


Ostatnia aktualizacja: 23.07.2024 12:03:38 przez tukinem
1
[#171] Re: Ami Robbo 2

@tukinem, post #168

Jakbys przeczytal ten watek, ktory podalem z bootblockiem Rossa to bys wiedzial, ze 1MB chip to jest mniej niz 0.5MB chip i 0.5MB slowfast.
Niby nie jest to zbyt logiczne ale tak pod systemem to jest.
Po prostu czesc gier dzialajacych na A500 (512k +512k), nie dzialalo na A500+ (1MB chip).
Dlatego Ross napisal/stworzyl ten bootblock, o ile on zwieksza pamiec to nie wiem, ale zwieksza dostepna pamiec pod OS.
Bootblock jest zawsze jako pierwszy uruchamiany, nim odpali sie s-s.
Wiec moze dac wiecej wolnej pamieci niz addXXk.

Wczesniej pisalem, ze robisz cos zle, bo taka gra powinna chodzic na 1MB.
Druga aktywna stacja, zzera pamiec pod OS, nie pamietam 10 czy 15 KB.
Czesto przy grach Amigowych jest taki tekst "Turn off external drives!"
I druga sprawa, nie testuje sie gry na A500 z kickiem 3.2 i 1MB RAM.
Bo cos takiego w przyrodzie NIE WYSTEPUJE.
Kick 3.2 wymaga pod OS minimum 2 MB RAM, o ile pamietam wymagania.
Wiec jak ktos ma kick 3.2 to musi miec minimum 2MB RAM.

Testuj tylko na:
A500 kick 1.3 0.5 MB chip i 0.5MB slow, 1 stacja dyskietek
A500+ kick 2.0 1MB chip, 1 stacja dysietek

To sa standardowe konfigi
Jak na tym pojdzie to bedzie dzialac tez na innych konfigach.
2
[#172] Re: Ami Robbo 2

@tukinem, post #170

Wyprobuj bootblock Rossa, programy typu addXXk nie sluza do tego, zeby wracac do systemu.
Ale do jednorazowego uruchomienia gry z dyskietki.
[#173] Re: Ami Robbo 2

@Don_Adan, post #171

No nie zgodzę się że kick 3.2 wymaga 2MB RAM, bo ten kick jest sprzedawany dla A500/A600/A2000 i wcale nikt nie musi instalować workbencha. AmigaDOS wystartuje na 0,5+0,5.

Przedstawiam wyniki zżerania pamięci przy uruchomieniu na 0.5+0.5, jak to teraz wygląda:

kickstart 1.2:


kickstart 2.05 (37.350):


kickstart 3.1:


kickstart 3.2.2:
[#174] Re: Ami Robbo 2

@tukinem, post #173

W sumie jak ktoś ma 3.2.2 to i pewnie z marszu HDD i więcej ramu, bo po co komu obsługa dużych dysków bez posiadania dysku, a jak już ma dysk i duuuuuże partycje, to po co by mu były bez rozszerzenia pamięci :).

A jak już ma to wszystko, to sobie Amirobbo2 odpali przez whdload.
1
[#175] Re: Ami Robbo 2

@c64portal, post #167

@c64portal
- wklejać można tylko to co widoczne w danym momencie i pomijać to co i tak jest poza planszą 320x200 (czy ile tam widać na raz)

Pewnie że można. To komplikue trochę sprawę :)
- Musisz wiedzieć w którym "prostokącie" planszy jesteś, czyli mieć zmienne które określają pozycję (X,Y ) startową i końcowa planszy.
- Musisz porównywać obiekty czy są w tym prostokącie, i podejmowac decyzje czy kopiować, czy wstawiać w jakąś kolejkę, czy aktualizować obiekty dopoiero po przesuwaniu. To chyba jest najbardziej pracochłonne i błędnogenne.
- AI przeciwników i tak musi się odbywać w tym przypadku. I teraz wiadomo dlaczego w niektórych grach scrollowanych jak przesuwamy ekran to przeciwnik zawsze jest w tym samym miejscu, szczególnie jak wracamy w to samo miejsce :)

Stąd to już blisko do normalnego scrolla.

- dodatkowo można wklejać boby przeciwnik co kilka ramek. i tak poruszają się skokowo więc 1, albo 2 boby w ramce nr1 boby 3 i 4 w ramce nr 2 itd.

Wiadomo, bo przy ruchu co 16 pikseli, ruch co ramkę jest za szybki dla gracza.

- no i musowo na tym etapie kodowania cały czas sprawdzać ile czasu zajmuję procedury. najlepsza jest stara metoda move #$0fff, $dff180 :)

Ja tam cały czas tego używam, chyba że gra nie wymaga tego jak Chase, bo tam się niedużo dzieje. mimo że wygląda jakby się dużo działo.
[#176] Re: Ami Robbo 2

@asman, post #175

Stąd to już blisko do normalnego scrolla.


Tu w Amirobbo 2 nie ma normalnego scrolla. Normalny scroll jest w Superfrogu. Poszedłem tu na łatwiznę rysując całą planszę na dużej bitmapie.

Oczywiście pomijane są tu blity przeciwników jeśli są poza ekranem (+- 2 kafle w rzędach i kolumnach dla pewności). Normalnie cała lista obiektów jest przeliczana, potem sprawdzam, czy obj()\x jest w zasięgu poza widzenia funkcją QWrap, to samo tyczy się obj()\y i w razie czego jest komenda blituj{}.

Tu jest przykład na nietoperzach latających poziomo:


Ten kod wykonuje się co 4 ramki chyba. Najpierw jest sprawdzana kolizja z robocikiem. Następnie jest blitowane tło (zawsze). Później są dwa warianty. W pierwszym (Case 0) są przeliczenia do przesunięcia i blitowanie, jeśli znajduje się w obrębie naszego widoku. Drugi wariant (Case 1) to jedynie blitowanie drugiej klatki animacji.
[#177] Re: Ami Robbo 2

@tukinem, post #176

Mimo że dałbym radę, to jednak myślę że ten Blitz to nie dla mnie. Niemniej jestem pod wrażeniem że to ogarniasz, bo jak dla mnie to mało czytelne.
[#178] Re: Ami Robbo 2

@tukinem, post #173

Przez kogo jest sam kick 3.2 sprzedawany?
Jakies piraty?
Tylko w komplecie z systemem 3.2.

Masz tu FAQ-a:

1.1 * What are the minimum hardware requirements for AmigaOS 3.2?

A) Kickstart ROM 3.2 (recommended), or a 3.1.4 one, or older 3.1
Kickstart ROM. We recommend the former as it will boot faster, require
less RAM, and also includes fixes in the hardware configuration
process, the latter of which cannot be replaced by code loaded from
disk.

B) 2 MB of total memory. Total memory is calculated by adding
Chip RAM and Fast RAM. Consider an additional half megabyte if you are
not using a physical Kickstart ROM 3.2.

C) 10 MB of free hard disk space.

And of course, an Amiga is needed. We cannot ensure that OS 3.2
operates correctly under all the different types of emulation since we
cannot control these environments. We tried our best, however, to keep
it as compatible as possible.

Ostatnia aktualizacja: 23.07.2024 13:29:22 przez Don_Adan
[#179] Re: Ami Robbo 2

@Don_Adan, post #178

I tak Amirobbo 2 jest bardziej uniwersalny niż gry na A500 na dyskietkach które na procku 030 już nie startują i trzeba whdload. To można sobie odpalić zarówno na A600 jak i na A4000 z 060 i nie wykrzaczy się. Za to spora część gier uruchamianych z dyskietek na wyższych prockach czy kickach potrafi się wykrzaczyć (szczególnie te piraty zawierające dziwnie pisane cracktra).
[#180] Re: Ami Robbo 2

@tukinem, post #179

Tak sobie przejrzalem pobieznie dokumentacje do BB2.
Oczywiscie masz ustawione w OPTIONS Make Smallest Code?
Bo exec jest dosc duzy, moze da sie go zmniejszyc zmieniajac opcje kompilacji?
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