[#271] Re: Magazyn - informacje nt. nowopowstającej gry

@peceha, post #270

az mam ochote zrobic pewien zarcik rysunkowy ale nie wiem czy Moderatorowie beda wyrozumiali i puszcza mi to plazem
[#272] Re: Magazyn - informacje nt. nowopowstającej gry

@peceha, post #270

Dzięki za wrzutę.

Staram się by następny Release był już bliski końcowemu, dlatego będzie mnóstwo nowości (o których już pisałem). Aktualnie porządkuję gruntownie cały kod, a jest jego sporo.
[#273] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #272

Po co "porzadkujesz kod" ? Przeciez to gra, ktora wymaga Atari z 1Mhz a najslabsza Amiga ma 7Mhz
[#274] Re: Magazyn - informacje nt. nowopowstającej gry

@selur, post #273

Ale gdyby ktoś chciał przeportować tę grę na inną platformę sprzętową, albo mobilną, to kod będzie porządny, czytelny, okomentowany, wolny od endianowych pułapek...
[#275] Re: Magazyn - informacje nt. nowopowstającej gry

@selur, post #273

Dlatego, że kodu napisałem bardzo dużo i zrobił się mały bałagan.

Tak to jest jak człowiek wstrzymuje się z release, bo chce dopracować.

A mogłem wrzucić to co miałem w tej chwili gotowe z Menu i Edytorem, ale wtedy przyczepił by się kto inny, że wrzucam za często.

Gra wizualnie będzie poprawiana o bogatszą animację.

Ostatnia aktualizacja: 07.10.2019 20:10:54 przez Hexmage960
[#276] Re: Magazyn - informacje nt. nowopowstającej gry

@recedent, post #274

Święta Racja!
Na smierdź zapomnialem o PC'towcach, ktorzy marza aby w koncu na ich platforme pojawil sie Sokoban
[#277] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #275

Jak to napisales "duzo kodu" ? w Sokobanie ? Piszesz to w HTML'u ??
[#278] Re: Magazyn - informacje nt. nowopowstającej gry

@selur, post #277

Piszę w języku C.
[#279] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #278

To przerzuc sie w koncu na AMOS'a, przynajmniej bedzie malo kodu i przejrzyscie ok, racja
[#280] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #265

Ponieważ używam kilku funkcji OS3 oraz wielu z OS2. Z OS3 są to AllocBitMap() oraz LoadRGB32().

Rozumiem, przerabialem ten sam problem jak pisalem z Leonem AmiBOXa.
Dlatego moge Ci zaprezentowac kod zastepujacy AllocBitMap(). Moze ci sie do czegos przyda.

struct BitMap *allocBitMap(int width, int height, int depth)
{
        struct BitMap *bm;
        int i, plsize;

        if((bm = AllocVec(sizeof(struct BitMap), MEMF_PUBLIC | MEMF_CLEAR)) == NULL)
        {
                return NULL;
        }

        InitBitMap(bm, depth, width, height);

        bm->Planes[0] = AllocRaster(bm->BytesPerRow * 8, bm->Rows * bm->Depth);
        bm->Flags    |= BMF_INTERLEAVED;

        if (bm->Planes[0] == NULL)
        {
                FreeVec(bm);
                return NULL;
        }

        plsize = bm->BytesPerRow * bm->Rows;

        for (i=1; i<depth; i++)
        {
                bm->Planes[i] = bm->Planes[i - 1] + plsize;
        }

        return bm;
}

void freeBitMap(struct BitMap *bm)
{
        if(bm)
        {
                if(bm->Planes[0])
                {
                        FreeRaster(bm->Planes[0], bm->BytesPerRow * 8, bm->Rows* bm->Depth);
                }

                FreeVec(bm);
        }
}


Palete moglbys wczytac przez
LoadRGB4(&Ekran->ViewPort, (UWORD*)(Kolory), liczba_kolorow);


Ostatnia aktualizacja: 07.10.2019 23:18:00 przez Phibrizzo
[#281] Re: Magazyn - informacje nt. nowopowstającej gry

@Phibrizzo, post #280

Tylko że to co zaprezentowałeś nie jest zgodne z trybem interleaved, którego flagę w kodzie ustawiasz. ;)

Trzeba tę flagę usunąć albo zrobić to porządnie. żeby być w pełni w zgodzie z tym co robi OS, gdy robi bitmapę interleaved, to:

- Planes[0] musi wskazywać na początek alokowanej pamięci
- Planes[1] musi wskazywać na &Planes[0][BytesPerRow]
- Planes[2] na &Planes[1][BytesPerRow]
- itd.
- Na koniec BytesPerRow powinno zostać przemnożone razy Depth.

A potem sprawdzić czy reszta OSu to przyjmie. Na 1.3 mogą być spore problemy więc to dopiero początek ręcznej reimplementacji wyższego api. ;)

Przerabiałem to podczas pisania ACE'a, jak siliłem się na próbę kompatybilności z OS na KS1.3. Jest to dość łatwe do sprawdzenia - polecam sobie wyprintować pola zwrócone w Bitmapie od AllocBitmap.
[#282] Re: Magazyn - informacje nt. nowopowstającej gry

@teh_KaiN, post #281

Mozliwe ze masz racje.
Jednak ten fragment kodu podpatrzylem w innej produkcji gdzie ktos dokladnie taki kod zastosowal.
W kazdym badz razie: u mnie dziala :)
[#283] Re: Magazyn - informacje nt. nowopowstającej gry

@Phibrizzo, post #282

@Phibrizzo: Dzięki za podzielenie się tym kodem!

Teh_KaiN ma rację co do tego, że Twoja bitmapa nie jest typu Interleaved.

Ale Twoja procedura jest poprawna - tworzy BitMapę standardową ale w jednym bloku pamięci graficznej Amigi.

Widzę tylko drobniutkie niedopatrzenie - zmienna plsize powinna być typu ULONG, tak na wszelki wypadek, bowiem int może oznaczać UWORD i przyjmować max. wartość 65535 bajtów.

Generalnie ja nie potrzebuję BitMapy typu Interleaved. Wystarczy zwykła. I nawet nie potrzebuję bitmapy wyświetlanej, tylko taką do przechowania grafiki. Bo uwaga: bitmapa wyświetlana ma restrykcję co do dosunięcia danych graficznych, a AllocBitMap() sobie z tym radzi.

--
A teraz chciałbym raz definitywnie zakończyć dysputę nt. działania mojej gry pod różnymi rozwiązaniami.

Podstawowa wersja gry będzie działać na OCS/ECS i Amiga OS3, czyli jak teraz.

Zauważcie, że obsługa systemu Amigi w wersji 1.3, systemu OS3 oraz RTG się troszkę wykluczają. Obsługa wszystkich możliwych kombinacji konfiguracji jest co najmniej kłopotliwa.

Przygotowanie wersji dla OS1.3 dla gołych Amig 500 jest możliwe, ale wymaga wielu modyfikacji oraz zrezygnowania z wielu zastosowanych rozwiązań. Poza tym, co istotne, ja przyzwyczaiłem się do pisania pod OS3.

Co do NG, to ja piszę grę zgodnie z wytycznymi pisania systemowych gier na Amigę i nie moja wina, że pod NG nie działa wiele poprawnie użytych funkcji systemowych, w tym przerwań software'owych, niestandardowych bibliotek, czy audio.device, albo gameport.device.

Problem z RTG jest też taki, że tam nie ma BOBów z maską i nie można tego zrobić tak naturalnie jak na OCS/ECS/AGA. Trzeba procesorem modyfikować piksele, a potem wrzucać przez WritePixelArray8().

Aktualnie BOBy z maską będą mi potrzebne dla lepiej wyglądającej animacji. Co prawda jest jeszcze BltMaskBitMapRastPort(), który pod RTG zadziała.

Jednak NG nastręcza masę problemów z systemowym odtwarzaniem muzyki i dźwięków, a o AHI czy CGX w kontekście gry przeznaczonej dla OCS/MC68000 nie chcę słyszeć.

Podsumowując:
1. Docelowym systemem jest Amiga OS3 + OCS.
2. Jak się uda, powstanie odrębna wersja dla Amiga OS1.3, ale dopiero po wydaniu tej pierwszej.
3. Z racji użycia (systemowych) gameport.device, audio.device oraz innych, których nie ma na NG, wsparcia dla NG może niestety nie być.

Ostatnia aktualizacja: 08.10.2019 12:22:06 przez Hexmage960
[#284] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #283

Hej,

Chciałem tylko dać znać, że prace idą cały czas do przodu.

Aktualnie troszkę pracowałem nad szatą graficzną dla mojej gry, bo chcę by wyglądała ładnie.

Prócz tego dodaję do samej rozgrywki dodatkowe elementy.

Poniżej elementy szaty graficznej. Widoczna belka i przyciski.

Pracowałem też nad efektem, którego chyba nie było dotąd w grach na Amigę!

Zdradzę tajemnicę. Jest to przesuwanie okienka wraz z zawartością.

Udało się ten efekt uzyskać, ale nie obiecuję, że będzie w tej wersji.

Okienka służą do wyświetlania komunikatów (będzie instrukcja do gry itp.), jak i służą za ładne obramowanie dla planszy do gry.

Tak więc finalna gra będzie miała atrakcyjną oprawę.



Ostatnia aktualizacja: 28.10.2019 18:29:52 przez Hexmage960
[#285] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #284

Może zainteresuje Was kolejna nowa sceneria do Magazynu. Dość długo nad nią pracowałem.

Jak widzicie troszkę pracowałem nad grafiką, ale musicie mnie zrozumieć - że postęp z rysowaniem odbywa się stale. Dlatego ją jeszcze dopracowuję. Myślę, że dzięki temu gra będzie zdecydowanie atrakcyjniejsza, zarówno tutaj na PPA, jak i gdzie indziej.

Wieści z placu boju są takie:

- Robię grę na okienkach systemowych intuition, zdobiąc je własną grafiką. Po to systemowe - bo załatwiają mi mnóstwo spraw.

- Sterowanie docelowo będzie w praktyce tylko joystick - ew. klawiatura.

- Z silnikiem jest całkiem sytuacja OK. Dzięki okienkom systemowym nie muszę martwić się wieloma rzeczami przy rozwijaniu gry oraz edytora.

- Prócz tego, z ciekawostek - odkryłem sposób na całkowite zastąpienie ruchu okienek systemowych własnymi procedurami. Udaje mi się całkowicie zastąpić dość powolne funkcje systemowe za pomocą triku. Aktualnie tego nie używam w grze Magazyn, ale ogromnie się to przyda w innych sytuacjach.

Pozdrawiam serdecznie.



[#286] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #285

ja mam parę pytań. Czemu magazynier ma czapkę Robin Hooda i ubranko bobasa, czemu chodzi po szachownicy i do czego służy złoto w skrzyniach?
[#287] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #286

Dobre pytania.

Co do czapki, to miałem taki zamysł. Cieszę się, że została rozpoznana! Co do ubranka - nie miałem takiego zamysłu.

Skrzynie ze złotem to aktualnie obrazek ulokowanych skrzyń. Za ulokowane skrzynie i tak naliczane są punkty, więc to złoto nie ma aktualnie dodatkowej funkcji. Chyba, że zrobię, że tylko niektóre, wybrane skrzynie będą miały złoto (dodatkowe punkty), a inne nie - lub coś w tym rodzaju.

Ostatnia aktualizacja: 31.10.2019 21:10:42 przez Hexmage960
[#288] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #287

Lepiej zakończ ten projekt jak najprędzej i weź coś nowego na tapetę. Jeśli już ci nie zbrzydło dłubanie przy tej grze, to niedługo zbrzydnie i kolejna szansa na zrobienie czegoś do końca zaprzepaszczona. A to nie nastraja człowieka pozytywnie.
[#289] Re: Magazyn - informacje nt. nowopowstającej gry

@Aniol, post #288

Zbrzydnąć nie zbrzydło. Ale wiesz, mam pewne inne ważne prace do wykonania aktualnie, dlatego pewne przerwy w publikacjach postępu.

Sądzisz, że niedługo mi zbrzydnie? A ja widzę inny trend - coraz bardziej mi ta gra się podoba. Chętniej przy niej siedzę. Myślę, że jest szansa, że ją dokończę.
[#290] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #289

Z doświadczenia, jak nie ma jakiegoś rodzaju bata nad tylna częścią ciała to człowiek zaczyna coraz bardziej zapadać się, w obiektywnie nieistotnych detalach.
Warto wiec wyrobić w sobie tego wewnętrznego policjanta który powie -Stop
[#291] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #286

"Czemu magazynier ma czapkę Robin Hooda"

bo legenda glosi ze Robin Hood schodzil do podziemi zamku Nottingham zeby ukrasc zloto schowane przez szeryfa a pozniej rozdac je wiesniakom za darmo (tak samo jak Hans Gorg Kambel rozdawal Amigi 4000 amigowcom) !!!
[#292] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #241

Oh my.... Holy c[----]p. Przeczytałem CAŁY wątek.

To ja może poproszę tego ludzika pod palmami w stylu reklamy Pepsi z roku 1995, ale zamiast Cindy Crawford niech będzie młodziutka Torri Higginson, taka jak w pierwszych sezonach serialu "TekWar". Albo nie. Zaraz sam napiszę tego "Magazyniera" w Amosie, pod UAE na Raspberry Pi4, a grafika będzie jednobitowa 8x8 generowana poleceniami GET z linii DATA.

[Infinity facepalm]
[#293] Re: Magazyn - informacje nt. nowopowstającej gry

@niebuszewo, post #292

Hmm... kolega ma najwyraźniej problem z pisaniem w wątku "na temat".

Skoro już odświeżyłeś wątek, to wrzucę jak wygląda zrzut ekranu z aktualnych prac nad moją grą.

Poprawiłem i ulepszyłem grafikę, dodałem kilka nowych kafelków m.in. ze skarbami.

Ale oprócz grafiki napisałem też dużo kodu. Zrzuty pochodzą z działającego edytora plansz, który pozwala na wygodne tworzenie etapów.

Miałem plan odświeżyć wątek dopiero po ukończeniu prac nad grą, w której do zagrania będzie 15 etapów.

Co do historii powstawania gry, błądzić jest rzeczą ludzką.

[#294] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #293

mnie korciło, żeby odpowiedzieć na post kolegi wyżej cytując urywek z #64 powtórzony w #65, jednak ugryzłem się w język.
Ale, kurła... Co te wisienki tam robią? Zmieniłeś plany i robisz węża?
[#295] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #294

Zmieniłeś plany i robisz węża?

Niee. Wisienki to po prostu skarby, takie same jak te złote obrączki. Początkowo miały one być ukryte w skrzyniach i wyzwalane po ulokowaniu skrzyń na swoje miejsca. Żeby nie było za łatwo, to czaszka miała być pułapką ukrytą w niektórych skrzyniach.

Aktualnie jeszcze nie wiem jak dokładnie dodam te elementy do Sokobana, zastanawiam się jeszcze trochę. Zawsze mam do dyspozycji dodatkowe, ładne kafle, które mogę dodać jako skarby i zróżnicować troszkę grę.
[#296] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #295

Fajny motyw z tymi Czaszkami. W sumie mozna by dodac jeszcze weze i skorpiony. No i moze troche przerobic silnik i mielibysmy niezlego hiciora z 8-bit

[#297] Re: Magazyn - informacje nt. nowopowstającej gry

@selur, post #296

Fajny motyw z tymi Czaszkami. W sumie mozna by dodac jeszcze weze i skorpiony. No i moze troche przerobic silnik i mielibysmy niezlego hiciora z 8-bit

Nie ma węży ani skorpionów. Rzut jest z góry i są skrzynie do przesuwania.

Wiesz, takie dalekie porównania na bazie jednego elementu to można robić.

Skoro są skrzynie, to może nie jest to Sokoban, tylko Last Ninja 2 i Basement? Skoro wisienki - to może to platformówka Superfrog.

Czaszki to bardzo popularny motyw w grach komputerowych. Tutaj chciałem je dodać jako pułapki.

Ostatnia aktualizacja: 20.11.2019 11:03:02 przez Hexmage960
[#298] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #297

Skończył mi się czas edycji poprzedniego posta. W sumie chętnie porozmawiałbym na temat wykorzystania tych dodatkowych elementów. Może macie, koledzy jakieś sugestie?

Bo mi początkowo wydawało się, że wiem jak je zastosować, a obecnie mam wątpliwości.

Główny problem to taki, że chciałem by zawartość skrzyń (owoce, skarby, czaszka) była niewidoczna do momentu ulokowania na miejscu docelowym. Sprawia to pewne problemy.

Jeżeli macie wskazówki, to proszę o podzielenie się nimi - żeby mnie naprowadzić.

Najlepiej w punktach:
1. Owoce,
2. Skarby,
3. Czaszki.

Z góry dziękuję.

Jak nie będzie sugestii - nie ma problemu, poradzę sobie.

Ostatnia aktualizacja: 20.11.2019 11:20:28 przez Hexmage960
[#299] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #298

Moze odbiegne od zalozen ale:
1 skoncz gre
2 skoncz gre, przestan rysowac poboczne rzeczy
3 skoncz gre, przestan wymyslac
[#300] Re: Magazyn - informacje nt. nowopowstającej gry

@stefkos, post #299

Dobrze, taka odpowiedź jest też pomocna. Wykorzystanie tych dodatkowo narysowanych elementów jest opcjonalne. Nie wprowadzę ich do rozgrywki, jeśli rzeczywiście nie będzie to miało większego sensu.
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