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

@recedent, post #1860

P.S. A dyskusję w wątku sprowokowałeś sam. Ostatni wpis był z grudnia, po czym przedwczoraj przyszedłeś i wkleiłeś "aktualny raport z pracy nad Magazynem". Nie narzekaj więc, że brak Ci sił na odpowiadanie - najwyraźniej o taką właśnie reakcję Ci chodziło.

Nie chodziło mi o taką reakcję kiedy publikowałem raport 16 lutego.

Zaś w poprzedniej wypowiedzi mnie chodziło o ciągłe wygłaszanie krytyki po publikacjach z wczoraj i dzisiaj, notabene po wypowiedziach kolegi Recedenta, Ingenica i Anioła.

Chciałem tymi wpisami, w których prezentowałem postęp, tę krytykę zakończyć, albo przynajmniej stonować - ale koledzy dalej dolewają oliwy do ognia.

Kolego, nie musisz tego powtarzać - wszyscy na tym forum zdają sobie sprawę z Twojej choroby. I zdają sobie sprawę, że szansa na dokończenie przez Ciebie "Magazynu" jest minimalna (albo - jeśli mają jakieś złudzenia - zdadzą sobie sprawę z tego za kilka lat, gdy znowu będziesz przepisywać silnik). Pisz sobie na zdrowie.

Szanse rosną z każdym miesiącem. Dla kolegi sytuacja się powtórzy. Mam szczerą nadzieję, że ta zła prognoza się nie ziści.

Zobaczymy - będę wklejał postępy z dalszej pracy.

Ostatnia aktualizacja: 18.02.2021 18:35:51 przez Hexmage960
[#1862] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1859

Pamiętaj, jest takie powiedzenie: "Done is better than perfect."
Czyli krótko mówiąc, w pogoni za peerfekcją, można nigdy
Nie ukończyć projektu, bo zawsze znajdzie się coś do doszlifowania...
[#1863] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1861

Chciałem tymi wpisami, w których prezentowałem postęp, tę krytykę zakończyć, albo przynajmniej stonować - ale koledzy dalej dolewają oliwy do ognia.


to nie "koledzy" dolewają oliwy do ognia, tylko Ty sam, co już recedent-man zaznaczył. Dwa miesiące po kolejnej zapowiedzi, według której "w następnym wpisie będzie demo do pobrania" (przykładowo - bo pamiętam, że w którymś z wcześniejszych komentarzy też coś w tym stylu pisałeś i po tym nawet selur zarządził ciszę w wątku do Twojego powrotu), przychodzisz i wklejasz raport prezentujący po raz n-ty zmiany w grafice i w kodzie. A potem masz żal do ludzi, że hejtują i że ich reakcje nie są pełne zachwytu wobec dokonywanych postępów.
BTW - do chwili publikacji przedwczorajszego raportu nikt w tym wątku się nie odzywał, więc o jakim "zakończeniu tej krytyki" mówisz?

Ostatnia aktualizacja: 18.02.2021 19:18:14 przez snajper
[#1864] Re: Magazyn - informacje nt. nowopowstającej gry

@snajper, post #1863

Dziwne że obeznani z tematem nie podchodzą już z dystansem do powstającej gry. Hexmage960 kiedyś pisał że grę wyda na początku roku więc cierpliwości.
[#1865] Re: Magazyn - informacje nt. nowopowstającej gry

@amikoksu, post #1864

Hexmage960 kiedyś pisał że grę wyda na początku roku więc cierpliwości.



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

@snajper, post #1863

Chodziło mi o wpisy po moich postach z wczoraj #1848 i #1854, w których relacjonowałem postęp w odpowiedzi na krytyczną dyskusję, która była prowadzona. Mimo ich zamieszczenia, koledzy kontynuowali dyskusję.

Udało mi się jeszcze wczoraj odświeżyć strukturę planszy:

- W pliku Game.h jest ona zdefiniowana,
- W pliku Game.c dodane wstawianie kafli,
- W pliku Tile.c odrysowanie planszy na podstawie struktury.

Zrobiłem też "liniową konwersję" rodzaju kafla na jego grafikę.

Plansze można robić, ale jeszcze nie ma zapisu. W następnej kolejności planuję dorobić menu edytora i robić już plansze. Jak zrobię 10 nowych etapów to się odezwę.

W menu edytora będzie przechodzenie wprzód i w tył po planszach, odtworzenie planszy z pliku, zapis.
[#1867] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1866

Kod programu rośnie jak na drożdżach.

- W pliku Window.c dodałem obsługę wielu menusów, tworzenie gadżetów do menu,
- W pliku Game.c dodałem do pętli głównej obsługę drugiego menu.

Zrobiłem to drugie menu - oraz poprawiłem winiety, obsługę i rysowanie menu. Menusy oczywiście działają - wrzucam statyczne ekrany.

Działa to całkiem sprawnie i menusy są wygodne w obsłudze.

Wkrótce zabieram się za poziomy.





Ostatnia aktualizacja: 19.02.2021 13:51:19 przez Hexmage960
[#1868] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1867

Żebyś zaraz nie musiał go znowu porządkować.
Trzymam kciuki, grafika jest bardzo ładna, natomiast już kilkanaście jak nie kilkadziesiąt updatów było o tym, ze porządkujesz kod przez ostatnie lata.

Można spytać ile fizycznie tego kodu jest, skoro wymaga nieustannych porządków ?
[#1869] Re: Magazyn - informacje nt. nowopowstającej gry

@twardy, post #1868

Tak gdzieś z 5 klas na krzyż... Repo
[#1870] Re: Magazyn - informacje nt. nowopowstającej gry

@MariuszK, post #1869

To jest w c, nie ma zadnych klas. W ogole tam sa tylko jakies szczatki kodu...
[#1871] Re: Magazyn - informacje nt. nowopowstającej gry

@twardy, post #1868

Jak na razie wszystko jest w porządku. Relacjonuję co zmieniam i dodaję w plikach.

Kodu jest średnio dużo, ale go rozwijam. Staram się robić to jednak powoli i z przemyśleniem.

@Docent

Mariuszowi chodziło najpewniej o to, że jest 5 plików #?.c i #?.h o tych samych nazwach. Można uważać to za klasy, nie w dosłownym znaczeniu jak w C++ czy Java, tylko coś jak pakiety w Java.

Program w repo jest w pełni spójny i działający, nie ma szczątków.

Zaraz zaktualizuję pliki, bo w repo nie ma najnowszego zrzutu z Amigi z dodatkami opisywanymi w poście #1867.

Ostatnia aktualizacja: 20.02.2021 04:03:25 przez Hexmage960
[#1872] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1867

Wkrótce zabieram się za poziomy.

No nareszczie!
[#1873] Re: Magazyn - informacje nt. nowopowstającej gry

@docent, post #1870

@Docent

Już wiem o jakie szczątki w kodzie Ci chodziło. Patrzyłeś do katalogu Archiwum w repo. Tam rzeczywiście są takie szczątki - niekompletne kawałki kodu.

Proszę nie zwracać uwagi na zawartość tego katalogu - tam są takie zaszłości.

Aktualnie jak na razie tak jak pisałem idzie wszystko dobrze - zachowuję spójność oraz poprawność kodu. Będę tak jak dotąd relacjonował zmiany w kodzie, a modyfikuję istniejące pliki, dzięki czemu można się przekonać że rozwój się odbywa.

@Amikoksu

Etapy zacznę robić jak tylko wprowadzę dwie brakujące funkcje do programu (odczyt/zapis plansz) dzięki czemu zaimplementuję funkcje menu "Edytor".

Najbliższe release wypuszczę po dodaniu tych funkcji - i będzie można już program przetestować. Chciałbym release wydać kiedy gra będzie grywalna w 100%.

Następnie główne menu ("Magazyn") będzie zawierało przyciski do restartu poziomu oraz rozpoczęcia/kontynuowania gry.

Menu drugie ("Edytor") zostanie uzupełnione o przycisk do testowania poziomu.

Potem dodam opracowane własne etapy.

Przedstawię jeszcze trzy punkty co do dalszych planów:

1. Być może dodam parę animowanych kafelków do gry - bardzo łatwo je teraz dodać.

2. Zamierzam też dodać w dalszych etapach kilka specjalnych kafelków z numerkami - tak żeby umieszczenie skrzyń na polach docelowych powodowało wykonanie akcji typu pokazanie się wisienki lub otwarcie drzwi. Również łatwe do wprowadzenia - wystarczy uzupełnić menu "Kafelek".

3. Dźwięki i muzyka.

Po realizacji tych extra punktów grę uznam za kompletną. No ale po kolei.

Ostatnia aktualizacja: 20.02.2021 13:01:19 przez Hexmage960
[#1874] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1873

Funkcje odczytu i zapisu poziomów były już gotowe prawie rok temu.
W raporcie z grudnia pisałeś, że gra jest grywalna, edytor i menu działa świetnie i robiłeś poziomy. Nagle odczyt i zapis stały się brakującymi funkcjami i razem z tworzeniem poziomów przeszły do działu "plany".
[#1875] Re: Magazyn - informacje nt. nowopowstającej gry

@xylaz, post #1874

Tak, to prawda - tak relacjonowałem w grudniu i rzeczywiście działało to. Ale działało "tak sobie" - kod jak już pisałem zabałaganił się w kolejne dnie pracy, kiedy dodawałem kluczowe komponenty.

Sytuacja teraz po dwóch miesiącach jest bardzo OK. Mogę udowodnić to tylko kolejnymi wpisami, które pokazują, że rozwijam aktualny kod, a nie przepisuję.

Co do plansz - tak robiłem już plansze, ale bym musiał poszukać i sięgnąć do ówczesnego formatu by precyzyjnie go odtworzyć. Będzie po prostu szybciej, jak zaprojektuję poziomy w aktualnym formacie (nie różni się on znacznie od ówczesnego, ale chodzi o dokładny nagłówek i rozmiar itp.)

Ostatnia aktualizacja: 20.02.2021 15:06:26 przez Hexmage960
[#1876] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1875

Hexmage - nie znam się (na programowaniu), więc się wypowiem. Piszesz tę grę kilka lat, jak zerkam na wątek to widzę, że ciągle się skupiasz na edytorze poziomów. Zajmuje Ci to chyba mnóstwo czasu. Jakby to było najważniejsze w całej grze. Teraz masz np. problem, bo zmieniłeś jakoś tam format zapisu poziomów i masz kolejne schody.
Nie umiem kodować (no coś tam tylko liznąłem, ale niewiele), ale wydaje mi się, że gdybym zaczął pisać grę, to nie zawracałym sobie głowy tworzeniem rozbudowanego edytora poziomów, tylko poziomy robiłbym sobie w Notatniku, czy innym dowolnym edytorze tekstowym. Znaki w wierszach i kolumnach w tekście odwzorowywałyby poziome i pionowe rzędy kafelków w grze. Przecież to banalne rozwiązanie, a ile oszczędziłoby Ci czasu. Wczytujesz taki plik tekstowy sobie do gry i widzisz jak dzała, co poprawić, i nie musisz rozwijać dwóch projektów na raz - samej gdy oraz edytora plansz do niej.

Ostatnia aktualizacja: 20.02.2021 16:27:02 przez marskow
[#1877] Re: Magazyn - informacje nt. nowopowstającej gry

@marskow, post #1876

Dziękuję za poradę i opinię.

Tak - w Notatniku też można to zrobić, ale ja po prostu uwielbiam wszelakiego rodzaju gry z edytorami. Chcę by edytor plansz był integralną częścią samej gry.

Jest też mi tak wygodniej projektować poziomy.

Ceną tej wygody edytowania poziomów w samej grze jest rzeczywiście konieczność dodania wielu pomocniczych funkcji do programu, ale są też korzyści.

Z reguły edytory to odrębne programy - tutaj jest to tak naprawdę jeden. Edytor i gra współdzielą sporo zasobów: np. ekran, okna, menu i obsługę klawiatury i myszy.

Tak się składa, że zrobiłem już odczyt/zapis oraz przechodzenie w edytorze między poziomami:

Dodatkowo aktualnie edytowany poziom jest wyświetlony obok przycisku "Edytor".

- W pliku Game.c jest obsługa menu i odczyt i zapis plansz oraz wyświetlanie numeru poziomu.

OK, jest i działa już dużo. Będę mógł niedługo wrzucać release.

Będę raczej musiał dodać jeszcze do programu drobny requester z zapytaniem użytkownika przed wczytaniem nowego poziomu do edytora.



Ostatnia aktualizacja: 20.02.2021 17:05:05 przez Hexmage960
[#1878] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1877

A jest obsługa joysticka?
Czy przewidujesz taśmociągi i możliwość zapisu hi score?
[#1879] Re: Magazyn - informacje nt. nowopowstającej gry

@leptino, post #1878

A jest obsługa joysticka?

Myślałem dziś o obsłudze joya i dodam ją przed wydaniem.

Czy przewidujesz taśmociągi i możliwość zapisu hi score?

Nie przewiduję taśmociągów, ale pole na dodatkowe rodzaje kafli jest. Tak jak pisałem dodam, ale raczej już po release - kafelki z "wydarzeniami" i drobniutkie animacje.

Myślałem też dziś nad planszą wprowadzającą do poziomu i planszę zaliczenia poziomu - będą to zwyczajne okienka z napisami "Gratulacje - zaliczyłeś poziom" itp.

Co do hi-score to myślałem o sposobie punktacji i pewnie wykorzystam górną belkę by punktację wyświetlić.

Gra nie będzie działać na zasadzie kodów do poziomów - będą savegame'y. W menu "Magazyn" będą opcje - rozpocznij i kontynuuj grę oraz restartuj poziom.

Te dodatki powinny być już gotowe przy release.
[#1880] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1879

Kiedy przewidujesz release?
[#1881] Re: Magazyn - informacje nt. nowopowstającej gry

@amikoksu, post #1880

Jako, że większość rzeczy już działa to jutro mógłbym wrzucić release - ale bez poziomów i dodatków, tylko edytor + testowanie.

Wolę zrobić poziomy oraz te dodatki. Spokojnie, planuję release za dwa/trzy dni, a jutro dam znać o postępach.
[#1882] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1877

No ale wszystkie produkcje, nad którymi siedzę mają mapy w formie tekstowej, a germzy nawet mają wbudowany edytor do tychże. Format zapisu przecież w ogóle nie przeszkadza w tym.

Co więcej, w ogóle nie chciałem robić tego edytora - bo przecież txt się łatwo edytuje. No ale Softiron mi robił dziurę w brzuchu to dodałem. Ale nie powstał na samym początku, tylko prawie na samym końcu - jak już wiedziałem co będzie w grze, jak już gra działała, żeby nie trzeba było go zbytnio modyfikować. Oczywiście uległ ze 3 razy częściowej zmianie bo zmienialiśmy delikatnie mechanikę niektórych rzeczy, ale to były niewielkie poprawki. Generalnie warto pisać takie rzeczy na koniec, by napisać je raz.

Z mojego doświadczenia pisanie gier jest procesem iteracyjnym:

- najpierw warto wyklepać tylko tyle kodu by coś się ruszało,
- potem sprawdzić wstępnie pomysł czy jest fajny i grywalny,
- następnie to z 5-10 razy przeszlifować i pozmieniać, wywalić rzeczy wkurzające, dodać niewkurzające
- zamknąć funkcjonalność gry i wywalać bugi. Wszystkie dodatkowe pomysły do następnej gry/wersji po wydaniu.

Po drodze bliżej końca powinna pojawić się docelowa grafika, a na sam koniec dodatki i wodotryski. Edytor jest takim wodotryskiem.

Oczywiście podejść jest bardzo wiele, a takie u nas w miarę sensownie działa - z germzami jesteśmy już na ostatniej prostej z bugami. Może u Ciebie też by się sprawdziło.

Ostatnia aktualizacja: 20.02.2021 22:24:12 przez teh_KaiN
[#1883] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1879

jutro to dobbry dzien na testy :)
[#1884] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1871

Mariuszowi chodziło najpewniej o to, że jest 5 plików #?.c i #?.h o tych samych nazwach. Można uważać to za klasy, nie w dosłownym znaczeniu jak w C++ czy Java, tylko coś jak pakiety w Java.

c to c - ani to java ani c++, zadnych klas nie ma.
[#1885] Re: Magazyn - informacje nt. nowopowstającej gry

@Hexmage960, post #1873

Już wiem o jakie szczątki w kodzie Ci chodziło. Patrzyłeś do katalogu Archiwum w repo. Tam rzeczywiście są takie szczątki - niekompletne kawałki kodu.

Ja dobrze wiem, jaki katalog przegladalem - chodzilo mi wlasnie o zawartosc glownego repozytorium a nie o katalog archiwum.
W glownym repozytorium masz 5 plikow .c+header do kazdego:
screen.c - otwiera ekran
window.c - otwiera okno
iff.c - czyta plik iff
tile.c - rysuje tile na ekranie
game.c - editor mapy
a gdzie gra wlasciwa? obsluga klawiszy, dzwieku, logika samej gry - przesuwanie/animacja postaci, sprawdzanie kolizji, naliczanie score, wyswietlanie hall of fame itp, itd?
Tego wszystkiego tam brakuje, dlatego napisalem, ze sa to szczatki.
[#1886] Re: Magazyn - informacje nt. nowopowstającej gry

@docent, post #1885

a gdzie gra wlasciwa? obsluga klawiszy, dzwieku, logika samej gry - przesuwanie/animacja postaci, sprawdzanie kolizji, naliczanie score, wyswietlanie hall of fame itp, itd?
Tego wszystkiego tam brakuje, dlatego napisalem, ze sa to szczatki.

Funkcje logiki gry robię dzisiaj. W gruncie rzeczy to będą dwie funkcje - właśnie poruszanie i kolizja oraz sprawdzanie ułożenia skrzyń.

Dźwięku jeszcze nie ma, ale będzie muzyka od Pana Marcina Białobrzewskiego! Dzisiaj zaczynam robić też etapy.

Naliczanie punktów będzie w logice gry/po przejściu poziomu.

Ostatnia aktualizacja: 21.02.2021 06:16:05 przez Hexmage960
[#1887] Re: Magazyn - informacje nt. nowopowstającej gry

@teh_KaiN, post #1882

Po drodze bliżej końca powinna pojawić się docelowa grafika, a na sam koniec dodatki i wodotryski. Edytor jest takim wodotryskiem.

Mnie osobiście o niebo wygodniej projektować poziomy w edytorze i uważam nawet że edytor może być podstawą gry i pierwszym opracowanym elementem.

Co do formatu tekstowego - oczywiście masz racje - może być dowolny format i tutaj nie ma różnicy czy będzie to tekst ze znaczkami ASCII, czy też format binarny. Ja korzystam z formatu IFF, bo go lubię - można podzielić sobie dane na części a skanowanie i zapis jest prosty.

Aktualnie część pliku IFF z planszą (chunk PLAN) to jest bezpośredni zrzut struktury planszy. To trudne do uzyskania w formacie tekstowym ASCII.

@Juen

Tak, wiem że dzisiaj niedziela i dobry dzień na testy, bo koledzy mają czas wolny. Ale nie wyrobię się, szczególnie z poziomami. Potestujesz w następny weekend lub kiedy tylko będziesz miał czas.

Ostatnia aktualizacja: 21.02.2021 06:20:23 przez Hexmage960
[#1888] Re: Magazyn - informacje nt. nowopowstającej gry

@docent, post #1870

A to w C nie da się logicznie ładnie poukładać kod ? Moim zdaniem - da się. Mając w C++ klasy też można napisać "brzydki" kod...
[#1889] Re: Magazyn - informacje nt. nowopowstającej gry

@MaaG^dA, post #1888

Hej,

Mam kolejne dobre wieści - załączyłem odtwarzanie muzyki do gry. Poszperałem dziś na Aminecie i znalazłem BFBPlayMaster.library. Muzykę za pomocą tej biblioteki załączyłem w dosłownie kilka minut. Polecam innym programistom. Obsługuje ProTracker, MED, DigiBooster i inne.

Podam linki:

http://aminet.net/package/mus/play/BFBPlayMasterD - archiwum dla deweloperów
http://aminet.net/package/mus/play/BFBPlayMasterU - archiwum dla użytkowników.

Jednakże jeśli wydam grę w wersji komercyjnej - będę musiał poinformować o tym autora tej biblioteki. Nie wiem, czy adres jest aktualny.

Ale to jest biblioteka więc nie muszę jej załączać z grą. Będzie odrębnie do pobrania z Aminetu z powyższych adresów.

Ostatnia aktualizacja: 21.02.2021 12:11:45 przez Hexmage960
[#1890] Re: Magazyn - informacje nt. nowopowstającej gry

@MaaG^dA, post #1888

Tylko to nie jest pisane w C, a w Wąchocku. A w Wąchocku kod się rozwija w dzień, a w nocy przychodzi sołtys i go zwija. Żeby kury nie rozdziobały.
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