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

@mmarcin2741, post #2610

Syntezy mowy nie ma w tej grze. Jeżeli chcesz sobie pograć w tego typu grę, to polecam Worms DC na Amigę. Pamiętam, jak zgrywałem własny głos by podmienić mowę robaków.

Hej,

Zbliżają się Święta, nie chcę Was zostawiać z pustymi rękoma. Prace nad grą niestety jeszcze nie dobiegły końca, mimo intensywnych prac. Udało mi się jednak przygotować coś na kształt "rolling-demo", czyli dema niepełnego. Jest to edytor plansz do gry w wersji 1.6.

Wiele elementów silnika zostało w tym edytorze zaimplementowane.

W edytorze są dostępne Kafle (wybiera się je na dole klikając lewym lub prawym klawiszem myszy w ikonkę obok napisu "Kafel").

Opcje dyskowe jeszcze niedostępne. Program opuszczamy klawiszem Esc.

Jest dostępny szereg kafelków, w tym taśmociągi.

Mam już pomysł jak to wszystko sfinalizować i postaram się w miarę szybko dostarczyć grę w wersji 1.6.

Chciałbym w tej wersji dodać zadania, tzn. w każdym poziomie będzie napisane "Ułóż 4 skrzynie", ale też zadania dodatkowe jak "Zbierz 3 wiśnie" itp., żeby urozmaicić grę.

Edytor pobierzecie stąd: https://coreprogramming.pl/Magazyn_pliki/MagazynED1.6.lha Standardowo załączoną czcionkę instalujemy.

Edytor wymaga do pracy minimum OS3.0 oraz zainstalowanych Datatypów, przynajmniej ILBM do wczytania grafiki.

P.S. Wiem, że to ciągnie się zbyt długo, ale jeszcze raz proszę o wyrozumiałość. Chcę wydać finalną grę możliwie najszybciej. Udało się od wielu miesięcy wyklarować sprawę z grafiką, elementami i gameplayem. Dopracowałem różne techniki użyte w programie.

Jedyne, co mi obecnie przeszkadza w pracy na Amidze, to toporna myszka, która słabo reaguje na ruch.

Z każdą nową wersją robię pewien postęp, choć może się wydawać, że stoję w miejscu.

Jeśli ktoś skomentuje pozytywnie, będę szczęśliwy, ale przyjmę i konstruktywną krytykę.

Kiedy dokładnie gra będzie gotowa? No cóż, chciałbym by było to już teraz, ale często pojawiają się nieoczekiwane przeciwności. Mimo to jestem dobrej myśli i pełen nadziei.

Pozdrawiam.

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

@Hexmage960, post #2611

Hej,

Przed uruchomieniem dema, proszę o ustawienie większego stosu niż standardowe 4096 bajtów, np. 10000 bajtów!

Aktualnie gra przechowuje większość danych na stosie (w tym wszystkie struktury i planszę).

Pozdrawiam.

Ostatnia aktualizacja: 21.12.2021 17:13:39 przez Hexmage960
[#2613] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2612

a przetestowałeś Ty to tak chociaż z pół raza?
uruchomienie na WinUAE A1200 8MB CHIP z rozdzielczością 720xcoś:

nie reaguje na żadne kliknięcia lewym, prawym, przednim czy tylnym. Da się tylko wyjść ESC.

przełączenie rozdzielczości na 320x240 podczas próby uruchomienia skutkuje komunikatem, że... "Resolution must be at least 320x240". Oczywiście stos ustawiony na 10000, a potem i na 100000, czcionki skopiowane, i dupa blada. ( ​ )( ​ )

Ostatnia aktualizacja: 21.12.2021 18:02:59 przez snajper
1
[#2614] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2612

po co zrzucać całą plansze na stos zamiast trzymać jej adres w jednym rejestrze na stałe? te absurdalnie wysokie wartości dla stosu kojarzą mi się z kiepsko przeportowanymo grami z pc.. jeszcze rozumiem jakby tu była potrzebna głęboka rekurencja, no ale nie jest :)
1
[#2615] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2611

Kiedy dokładnie gra będzie gotowa? No cóż, chciałbym by było to już teraz, ale często pojawiają się nieoczekiwane przeciwności. Mimo to jestem dobrej myśli i pełen nadziei.


To ta gra nie została jeszcze wydana?
2
[#2616] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #2613

@Snajper

Rozdzielczość musi być co najmniej 320 x 256. Zrobiłem tak dlatego, bo niektórzy mają np. NTSC 320 x 200. Plansza do gry wymaga tych wymiarów.

Brak reakcji na mysz - zobaczę. Póki co uruchom w PAL, powinno wszystko działać. Aha, gra pobiera tryb monitora z Workbencha.

Bardzo Ci dziękuję za testy.

Sam testowałem grę na swojej Amidze - A1200 z Blizzardem 1230 i pamięcią FAST.

Ostatnia aktualizacja: 21.12.2021 18:44:58 przez Hexmage960
[#2617] Re: Magazyn - informacje nt. nowopowstającej gry

@juen, post #2614

@Juen

Tak, rzeczywiście te dane nie muszą być trzymane na stosie. Wystarczy, że dodam słowo kluczowe "static" i będą rezerwowane na stercie, bądź zarezerwuję pamięć.

Minusem "static" jest to, że tych danych już nie będzie można zwolnić w czasie działania programu.

Stos powinno się rzeczywiście używać tylko do zmiennych tymczasowych, jak zmienne lokalne.

Myślę, że najlepsza będzie alokacja dynamiczna do planszy i większych struktur.

@Mailman

Powiem tak, gra będzie mieć te 20 poziomów i będzie ukończona.
[#2618] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2616

ok, z PAL działa. Można sobie stawiać kafelki i... to tyle (?). No i napisy sobie jeżdżą. Nie wiem, czy tylko ja spodziewałem się, że jednak będzie można sobie chociaż przetestować ten level, jak już się go wyedytuje.
[#2619] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2617

spoko. ale stosu w trakcie też nie zwolnił byś ;)
[#2620] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2611


W takim razie co to była za wersja finalna?
1
[#2621] Re: Magazyn - informacje nt. nowopowstającej gry

@nostrum666, post #2620

@Nostrum666

W Graffiti zamieściłem zrzut ekranu z finalnej wersji, nad którą jeszcze pracuję. Napisałem, że "wrzucę link do gry, jak gra będzie gotowa".

@Juen

Tak, rozmiar maksymalny stosu jest ustalony, ale w programie stos jest dynamicznie alokowany i zwalniany. Wystarczy że wrócę z funkcji, która ma dużo zmiennych żeby ten stos zwolnić.

Ale tutaj deklaracja statyczna też nie zaszkodzi, wszak jedna plansza w pamięci powinna być. Dynamiczna alokacja przydaje się np. jak mamy np. tworzymy listę np. 10 elementów, z których potrzebujemy jednocześnie przechowywać np. 5 (liczba elementów jest zmienna) i ogólnie do dużych obiektów.

Ostatnia aktualizacja: 21.12.2021 20:18:21 przez Hexmage960
[#2622] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2621

A ja myślałem, może naiwnie, że wersja finalna oznacza że już nie trzeba nad niczym pracować. Nieważne...
2
[#2623] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2617

Powiem tak, gra będzie mieć te 20 poziomów i będzie ukończona..


Pół roku temu napisałeś, że jest ukończona i zamykasz projekt.
4
[#2624] Re: Magazyn - informacje nt. nowopowstającej gry

@mailman, post #2623

Tak, powiedziałem tak pod pewnym nazwijmy to naciskiem ze strony zniecierpliwionych osób.

Powinienem sobie już poradzić z dorobieniem tych poziomów.
[#2625] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2617

Tak sie ze stosem nie robi. Amiga to nie PC-et ani Linux. To jest bardzo zly sposob programowania. A Ty juz zdaje sie, ze licencjat z informatyki zrobiles. A tu wyglada, ze gorzej programujesz niz wczesniej. No i zmien "20 pokojów" na "20 pomieszczeń".
2
[#2626] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2624

Brak instrukcji instalacji w pliki teksowym, uruchomienie programu gdzie klikając po planszy mozna stawiac titlesy i to wszystko... Zniechęcenie i niezrozumienie tego co stworzyłeś skutkuje naciśnięciem klawisza ESC i wyrzuceniem tego wszystkiego do kosza. klawisz ESC również nie jest oczywisty.
5
[#2627] Re: Magazyn - informacje nt. nowopowstającej gry

@Stoopi, post #2626

Dzięki za sprawdzenie. Instrukcja jest udzielana w postach. Postaram się przygotować pełną instrukcję, choć staram się też, by program był intuicyjny.

Zrobiłem wreszcie te opcje dyskowe. Guziczki ze strzałkami do wybierania poziomu do odczytu działają.

Okno jest też obsługiwane. Można je zamykać i otwierać opcją w menu na dole. Zamiana grafiki/funkcji okienek działa sprawnie.

Nowe archiwum z kolejną rewizją 1.6 wrzucę niedługo.

Z ciekawostek to gra działa na kaflach - rysując element na ekranie sprawdza, czy się kafelek zmienił i tylko wtedy go rysuje. Niektóre kafelki są tworzone na bieżąco w pliku z grafiką. Łatwo dzięki temu też dokonywać przycięć operacji rysujących do okienek.

Silniczek gry z płynną animacją jak pokazywałem w poprzednich nagraniach jest opracowany, ale będę jeszcze wklepywał trochę kodu.

Co ciekawe płynna animacja też działa na kaflach.

Po zrobieniu porządnie tych opcji dyskowych nie powinno być już większych trudności z realizacją reszty edytora (wcześniej chciałem zrobić listę plansz z suwaczkiem).

Celuję po prostu w te 20 poziomów z taśmociągami. Tak jak pisałem, na każdej planszy będzie lista zadań - oprócz układania skrzyń będzie też zbieranie wisienek.

Czaszki będą chodzić po ustalonej trasie na planszy. Zrealizuję to w prosty sposób za pomocą "kropeczek" na polach. Takie pole będzie wyglądało w grze jak zwyczajna podłoga - a czaszka będzie chodzić tylko pomiędzy takimi polami.



Ostatnia aktualizacja: 22.12.2021 20:28:13 przez Hexmage960
[#2628] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2627

ja się zastanawiam, po grzyba Ty to wszystko tutaj opisujesz. Masz swoją stronkę, wisi już od pięciu czy dziesięciu lat - zajrzałem na nią, a tam:
1. "Kod źródłowy gry" - pusto
2. "Ilustracje" - dwa screeny
3. "Pliki do pobrania" - wersja 1.5 RC. Koniec. No i informacja, że Magazyn to klon Sokobana.
nie zaglądałem tam często, ale pamiętam, że kiedyś było na niej pełno treści o różnych projektach - Dune, jakieś Robby i inne cuda niewidy - już pomijając, czy dokończone, czy nie. A tu nagle się okazuje, że strona sobie wisi praktycznie nie wiadomo po co i nie wiadomo w którym miejscu jest to "core programming". Co jest niezrozumiałe tym bardziej, że dumnie afiszujesz się z nią w podpisie.
gdybym mógł coś zasugerować - wydaje mi się, że wygodniej dla wszystkich byłoby móc w każdej chwili znaleźć tą całą instrukcję gry przedstawioną (i aktualizowaną) krótko i zwięźle na stronie, obok screenów i downloadu ostatniej wersji/archiwum oraz listy planów rozwojowych, bugfixów itp., niż przegrzebywać tysiące postów, żeby dojść, co, gdzie, jak, kiedy, ile i dlaczego. W ten sposób dajesz tylko pożywkę dla mnie i pozostałych atestowanych trolli PPA. Jak już musisz - to sobie pisz dalej tego bloga tutaj, ale nadal dobrze byłoby mieć jedno stałe miejsce z wszystkimi aktualnymi informacjami dotyczącymi gry, potrzebnymi do jej odpalenia i zrozumienia.
btw - sposób wyboru elementów w edytorze jest bezsensowny, trzeba się przeklikiwać przez wszystkie kolejne, żeby znaleźć jeden wybrany. A stosowanie elementów planszy w charakterze ikonek w "menu" na powyższym obrazku wypada mało czytelnie/estetycznie - okienko zlewa się z planszą (chodzi mi o te "Opcje dyskowe", a nie dolne menu).

P.S. "Poniższe ilustracje pochodzą z najnowszej wersji 1.5, którą rozwijam i która będzie wersją końcową" - he, he...

Ostatnia aktualizacja: 22.12.2021 23:09:53 przez snajper
3
[#2629] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #2628

Tam nikt nie zagląda i nie ma interakcji z ludźmi. To jest powód dlaczego. Do emerytury Roberta ta gra nie powstanie. Początkujący programista klon Sokobana pisze w tydzień, a doświadczony w jeden wieczór. Robert będzie musiał zrobić docenta habilitowanego, aby móc grę ukończyć.
2
[#2630] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #2628

Dune, jakieś Robby i inne cuda niewidy


Można przejrzeć w Internet Wayback Machine. Czego tam panie szanowny nie było. Mój "faworyt" to Polska Strona Komputera Amiga - oczywiście "do przeczytania wkrótce".

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

@mailman, post #2629

Hej,

To ja wytłumaczę, że niby to prosty Sokoban, jednak na co dzień w tym projekcie zmierzam się z naprawdę trudnymi wyzwaniami programistycznymi. Dlatego dość spora obsuwa.

Największą trudność sprawia mi zebranie w całość tych różnych technik programistycznych, jak również umiejętny podział projektu.

Proszę, oto przykładowy aktualny kod odpowiedzialny za rysowanie graficznych elementów na ekranie.

https://coreprogramming.pl/Magazyn_pliki/Images.c.txt

Dzięki temu kodowi mogę przycinać grafikę w wygodny sposób do okienek. Zrealizowane jest to według mojego pomysłu.

Używam Blittera i jest trochę roboty z wyliczaniem tzw. przesunięć i masek.

Jak widać po załączonym kodzie, jest to dosyć trudne zadanie. Dzisiaj spędziłem na to dużo czasu, by ten kod był (w miarę) bezbłędny. Zawiera w pełni uniwersalną funkcję rysującą, której używam do rysowania:
  • Okienek,
  • Obiektów animowanych,
  • Kafli.

Teraz obiekty nie muszą być dosunięte do kafli - a nadal można je przycinać. Przyda się to w poprawieniu okienek np. z opcjami dyskowymi, tak by okno miało ramkę. Jeżeli kafel wymaga przesunięcia to jest najpierw przesuwany w obrębie swojej bitmapy.

Dzięki tej sztuczce nie muszę już martwić się w ogóle o przesuwanie, więc rysowanie obiektów z maską w okienkach staje się dużo prostsze.

Sercem tego kodu jest funkcja przeznaczona do rysowania dowolnego fragmentu obiektu graficznego na dowolny obszar docelowy.

Aktualnie po testach działa dobrze i mogę przystąpić do dalszej pracy.

Co do strony to aktualnie się nią nie zajmuję - wolę poświęcić czas i energię na pisanie gry.

Ostatnia aktualizacja: 23.12.2021 20:42:42 przez Hexmage960
[#2632] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2631

Hexmage, czy możesz wytłumaczyć, co nowego wnosi ten Twój nowy kod, służący do przycinania grafiki? Co konkretnie daje nowego, co nie było możliwe w ostatniej grywalnej wersji Twojej gry? Bo z tego co pamiętam, to graficznie już tam wszystko pomykało jak trzeba.
1
[#2633] Re: Magazyn - informacje nt. nowopowstającej gry

@marskow, post #2632

Tak, procedury do rysowania od pewnego czasu były bez zastrzeżeń zarówno do rysowania kafelków jak i obiektów animowanych.

Nowa procedura wnosi przede wszystkim to, że mogę teraz rysować dowolne obiekty animowane w okienka na ekranie i nie wymaga to dosunięcia grafiki do kafelków.

Dzięki temu mogę zrobić np. ramki w okienkach i wiele innych elementów. Poprawi to estetykę i funkcjonalność.

Ponadto jak ostatnio zastanawiałem się, jak zrobić przycinane obiekty animowane, to wpadłem wstępnie jak się okazało na fatalny pomysł, żeby podzielić rysowanie takich obiektów na kafle.

Ostatecznie obiekty animowane mogą być rysowane w częściach lub całości, w przesłonięte fragmenty ekranu, bardzo dogodnie.

I nie ma tego problemu, że dzielę rysowanie jednego obiektu na dwie części.

Ostatnia aktualizacja: 24.12.2021 07:21:01 przez Hexmage960
[#2634] Re: Magazyn - informacje nt. nowopowstającej gry

@marskow, post #2632

Nowy kod wnosi to co zawsze wnosił, czyli możliwość przepisywania całej gry od nowa. Dzięki temu można intensywnie pracować nad grą nie przybliżając się do jej ukończenia.
5
[#2635] Re: Magazyn - informacje nt. nowopowstającej gry

@xylaz, post #2634

Nowy kod ma też taką zaletę, że można go w nieskończonośc porządkować :)
3
[#2636] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2611

20 Pokoi jakoś lepiej brzmi niż pokojów.
Coś jakby 20 koniów. Obecnie rzekomo pokojów jest też poprawnie ale jak tak dalej pójdzie...
[#2637] Re: Magazyn - informacje nt. nowopowstającej gry

@ede, post #2636

Hej,

Tak się to przedstawia na dzień dzisiejszy. Dodałem te ramki do okienek, uczyniłem graficzny interfejs użytkownika bardziej czytelnym.

Stosuję własne funkcje do warstw, chociaż korzystam z systemowych struktur (patrz: przypis [1]).

Zrzut ekranu pochodzi z działającego programu. Widoczne jest okno w tle z planszą oraz 3 okienka - informacyjne, wybór kafelka oraz wybór poziomu z dysku.

Nie wszystkie elementy GUI jeszcze działają.

Jeśli chodzi o pracę, to wszystko się stabilizuje. Rzeczywiście przyznam, że wielokrotnie porządkuję i przepisuję kod na czysto. Robię to jednak coraz rzadziej i udaje mi się zachować porządek na bieżąco.

Coraz lepiej wychodzi mi technika dzielenia programu na niezależne moduły oraz kontrola zależności pomiędzy plikami źródłowymi.

Zrealizowałem od dawna zaprojektowany schemat GUI - tzn. na górze jest Menu z opcjami. Każdej z opcji jest przypisane okienko, które można otwierać lub zamykać (opcjonalnie przesuwać).

Pracuję dalej i dokańczam grę.

Wiele rzeczy nie wymaga już żadnych poprawek, są to:
  • Ekran, podwójne buforowanie,
  • Obsługa joysticka,
  • Tworzenie maski dla obiektów animowanych
  • Rysowanie i animacja,
  • Warstwy,
  • Czytanie/zapis plansz,
  • Edytor plansz,
  • Schemat silnika.

To co wymaga dopracowania to elementy GUI, jak wybór poziomu z listy, niektóre elementy silnika.

[1]. Czasami niektóre rozwiązania okazują się problematyczne i potrzebuję je poprawić. Tak jest np. z przesuwaniem warstw po ekranie. Napisałem własną funkcję, która korzysta z systemowych struktur, jednak nie działała w pełni poprawnie. Aktualnie funkcja działa dobrze.

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

@Hexmage960, post #2637

Tak się to przedstawia na dzień dzisiejszy.

Imponujące!
[#2639] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #2637

Mam nadzieję, że ktoś to wyda w pudełku :) :)
[#2640] Re: Magazyn - informacje nt. nowopowstającej gry

@slawekwozniak, post #2639

Jeżeli ukończy i ostatni amigowy wydawca tego dożyje...

Ostatnia aktualizacja: 31.12.2021 16:15:11 przez mailman
2
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