atarionline.pl Dude Story - historia Kolesia - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    Rozpoczynam wątek, w którym podzielę się od czasu do czasu informacjami o postępach prac nad nową grą, którą tworzę.

    Dude Story - to tytuł owej gry, czyli po polsku historia Kolesia. Bohaterem jest Koleś. Po prostu Koleś. Można powiedzieć, że to jego takie coś w rodzaju imienia:-)

    Gra będzie rozbudowaną platformowo-przygodową produkcją, rozgrywającą się w dużym różnorodnym świecie. Koleś będzie musiał rozwiązywać różne zagadki, zbierać przedmioty, unikać przeszkód i pułapek. Po drodze spotka jakieś tam postacie, od których będzie się dowiadywał różnych informacji na temat dalszej rozgrywki itp. Całość będzie miała spójną fabułę i w trakcie gry będziemy odkrywać kolejne elementy historii Kolesia.

    Zasadniczo nie należy się spodziewać szybkiego ukończenia gry przeze mnie, ponieważ produkcja będzie raczej długa i przewiduję się nie spieszyć. Geneza faktu rozpoczęcia prac nad grą jest taka, że od dziecka marzyłem o napisaniu "prawdziwej" gry na Atari i w końcu się za to zabrałem. A że zabrałem się po 30 latach od pierwszych zalążków owego marzenia, to też kilka miesięcy czy nawet lat na tworzenie tej gry wydaje się być mgnieniem oka:-)

    W najbliższych dniach postaram się wrzucić kawałek silnika gry, bo silnik już jest w dużej mierze gotowy. W sumie mam to na tyle poskładane, że jest już coś tam do pokazania, ale muszę to trochę uporządkować i wtedy wrzucę tutaj w tym wątku.

    Na razie natomiast przedstawiam Kolesia: oto i on:-)
    • 2: CommentAuthorzbyti
    • CommentTime21 May 2020
     
    N I E A K T Y W N Y
    Dude na gif-e wygląda znakomicie, a Twojego silnika jestem strasznie ciekaw.

    Powodzenia! :]
    • 3: CommentAuthorrosomak
    • CommentTime21 May 2020
     
    Świetne podejście, życzę powodzenia w spełnianiu marzenia, jeśli reszta będzie na poziomie animacji kolesia to bez przesady można mówić o bardzo wysokim poziomie.
    • 4:
       
      CommentAuthorKaz
    • CommentTime21 May 2020
     

    Mq:

    A że zabrałem się po 30 latach od pierwszych zalążków owego marzenia, to też kilka miesięcy czy nawet lat na tworzenie tej gry wydaje się być mgnieniem oka:-)


    Cieszę się, że w końcu zrobiłeś come-out z projektem i oczywiście również przyłączam się do grona osób kibicujących realizacji marzeń! Trzymam kciuki, a znając już Twoje solidne podejście z "The Last Disk" przewiduję, że produkcja będzie na najwyższym poziomie :)
    • 5: CommentAuthorPecet
    • CommentTime21 May 2020
     
    "Na razie natomiast przedstawiam Kolesia: oto i on:-)"

    Hahaha, brakuje mu tylko butelki z piwem w ręku. Ponieważ jestem z trójmiasta, to skojarzył mi się ze stoczniowcem idącym z/do pracy. Przy okazji przepraszam wszystkich stoczniowców żyjących w trzeźwości:)
    • 6: CommentAuthormakary
    • CommentTime21 May 2020
     
    @Mq: Big Lebowski? :)
    • 7: CommentAuthorgorgh
    • CommentTime21 May 2020
     
    dóóóóóóóóóóód to jest mióóóóóód
    • 8:
       
      CommentAuthorxeen
    • CommentTime21 May 2020
     
    klimatem przypomina mi bubba and stix.
    powodzenia, trzymam kciuki
    • 9: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    Dziękuję wszystkim za kibicowanie:-)

    @zbyti, co do silnika gry, to dojdziemy do niego za kilka dni pewnie, na razie chcę po kolei opisywać proces powstawania gry i doścignąć w tym bieżący moment, bo nad grą pracuję już od jakiegoś czasu, ale nie opisywałem tego nigdzie dotychczas.

    @makary: trochę mnie przejrzałeś:-) Tzn. gra nie nawiązuje ani trochę do filmu, nie ma z nim nic wspólnego, choć to jeden z moich ulubionych filmów:-) Natomiast samo imię bohatera faktycznie zainspirowane było filmem, bo gdzieś tam z tyłu głowy chodziło mi "Koleś":-)

    Wrzuciłem tego gifa, bo to był początek prac, a chcę to tak w miarę po kolei przedstawiać i dopisywać trochę do tego historii. Chcę też zdradzić częściowo warsztat, może komuś się to przyda jako inspiracja, choć niektóre szczegóły pozostawiam w tajemnicy:-)

    Zacząłem od wymyślenia i animacji postaci. Nie jestem grafikiem, nie jestem animatorem, ale robię wszystko sam, bo mi to sprawia frajdę:-) Pewnie dlatego trwa to u mnie baaardzo długo. Prace nad postacią zacząłem jakoś w listopadzie lub grudniu 2019. Przeryłem internet w poszukiwaniu prostych, ale funkcjonalnych programów do animacji. Mój wybór padł na program GraphicsGale. W międzyczasie poszukałem literatury i poradników na temat tworzenia animacji postaci, skorzystałem z różnych szablonów i gotowców w celu opracowania samego ruchu idącej postaci. W ten sposób powstały kontury sylwetki postaci, które zanimowałem w Gale.

    Jak już miałem kontur animowany, to przyszła pora na zmierzenie się z możliwościami Atari. Żeby stworzyć postać do gry, przeczytałem od deski do deski to: ->link<-
    W międzyczasie wybrałem Mad Pascala jako środowisko pracy i rozpocząłem różne testy z wykorzystaniem powyższej literatury.
    Podjąłem decyzję, że postać głównego bohatera jest ważna, ma być duża i wyraźna, a więc wykorzystam na jej narysowanie wszystkich czterech graczy. Tak też zrobiłem, postać rysuję na czterech połączonych obiektach playerów i ma całkowitą wielkość 16 prostokątnych pikseli atarowych szerokości na 40 pikseli wysokości. Czyli licząc w kwadratowych pikselach hiresu to jest 32x40 i na takiej matrycy rysuję sobie klatki animacji w Gale. Postać idąca z załączonego gifu jest trochę węższa, ale ma jeszcze zapas miejsca w klatce, bo szersze będą klatki animacji skoku postaci.
    Chciałem sprawdzić czy jestem w stanie szybko wyświetlać grafikę w trybie znakowym i animować jednocześnie taką dużą postać. Na tym etapie również dobrałem kontrastujące kolory graczy tak, aby uzyskany trzeci kolor był też kontrastujący, miałem również z grubsza pomysły jaka będzie kolorystyka pozostałej grafiki, żeby postać była wyróżniona na jej tle.
    Z tych pierwszych testów pozostał mi mały programik, w którym mamy już ustaloną mniej-więcej paletę kolorów, sklejone 4 playery, można poruszać graczem joystickiem w lewo i prawo, a gracz się animuje (tu jeszcze nie było narysowanej postaci Dude'a).
    Załączam jako ciekawostkę ten programik. To w zasadzie jedna z pierwszych kompilacji, z której później rozwinął się silnik gry.
    • 10: CommentAuthormuffy
    • CommentTime21 May 2020
     
    Ten chód mi się jakoś skojarzył z tym

    ->link<-
    • 11: CommentAuthorMq
    • CommentTime21 May 2020
     
    @xeen i @muffy: co do skojarzeń, to faktycznie są podobieństwa. Tak jak napisałem powyżej, korzystałem z różnych gotowców opracowując postać, i porównywałem z różnymi animacjami swój pomysł. Czytając na temat animacji postaci człowieka można dowiedzieć się o różnych cechach charakterystycznych chodu. Jak się trochę zgłębi temat, to teraz jak patrzę na różne animacje postaci, to od razu widzę te wszystkie szczegóły i widać gdzie animację robiono wg tych "podręcznikowych" zasad, a gdzie tego nie zrobiono i widać wyraźne błędy i nienaturalność animacji. Takich szczegółów składających się na naturalny ruch postaci jest całe mnóstwo, ale przykładowo chodzi o takie rzeczy jak to, że postać idąca pochyla się do przodu, głowa porusza się po linii zbliżonej do sinusoidy, odpowiednia synchronizacja kolejności i zakresu ruchu rąk i nóg lewych i prawych itd. Widać to często w starych grach: np. postać wyprostowana i tylko przebiera sztywno nogami, podczas gdy w trakcie ruchu powinna ruszać się cała sylwetka. Dodam jeszcze, że w miejscach, w których w animacji mi coś nie pasowało, to czasami sam chodziłem przed lustrem i patrzyłem jak wygląda synchronizacja w rzeczywistości jak się po prostu idzie i nie myśli o tym:-)
    • 12: CommentAuthorxxl
    • CommentTime21 May 2020
     
    mam nadzieje ze bedzie jak z Pitfalem, autor tez zaczynal od postaci glowego bohatera - ktory tak sie spodobal ze nie bylo wyjscia, trzeba bylo stworzyc hit. czego i tu zycze.
    • 13:
       
      CommentAuthorIRATA4
    • CommentTime21 May 2020
     
    ... od siebie dodam że postać jak i animacja bardzo fajne,ale to chyba nie wszystkie animacje,ciekawe jak ludek zawraca,czy kuca no i jak będzie się wspinał po drabinkach o ile będzie to fajnie jakby dało się stosunkowo łatwo,bez celowania pixel perfect wejść na drabinkę ;)
    • 14: CommentAuthorastrofor
    • CommentTime21 May 2020
     
    A ostatni to modne jest umieszczanie swoich nowych projektów na gitlabie, albo githubie - patrz archon adventures. Zawsze można się czegoś nauczyć. Ewentualnie ktoś może podrzucić jakieś sugestie...Także ja niczego nie sugeruję, ale było by super zobaczyć nowy otwarty kod.
    • 15: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    Co do animacji: na razie jest chodzenie lewo-prawo, i animacja stojącego Kolesia, który wtedy mruga oczami, rusza sobie palcem w bucie, trochę oddycha i się jakby lekko buja - w sensie postać jest cały czas animowana, nie ma stania w bezczynności i "martwego" bohatera.
    Jest gotowa działająca grawitacja.
    Jest też już zrobiona mechanika skoku w boki oraz podskoku do góry, ale nie ma jeszcze narysowanych klatek tej animacji - są w trakcie tworzenia.
    Będzie kucanie, ale też jeszcze nie ma...
    Drabinki, to nie wiem, zobaczymy czy w ogóle coś takiego będzie, bo na razie graficznie świat przedstawiam za pomocą szeregu platform, po których się po prostu skacze. Są też elementy "pod górkę" w sensie, że jak idziemy zwyczajnie, to na określonych elementach postać sama podchodzi wyżej, bez żadnego skakania.
    Jeśli chodzi o poruszanie/zawracanie i te sprawy. Postać jest responsywna w sensie że nie musi wykonywać pełnych sekwencji animacji, idąc możemy zawracać w dowolnym momencie. Tak samo jak skaczemy, to w zależności jak długo trzymamy skok, tak daleko skaczemy, jak puścimy wcześniej, to spadamy wcześniej, a jak w trakcie skoku zawrócimy, to też możemy to zrobić i sterować trochę postacią w locie. Bardzo mocno wziąłem sobie tu do serca uwagi Borsuka i Larka z ich ocen gier w Gramy na Gazie, które oglądam zawsze od dechy do dechy:-)

    Z resztą przetestujecie sami jak wrzucę niebawem testowego xex-a. A na razie podrzucam kilka zrzutów ekranu, żeby pokazać jak to całościowo wygląda graficznie i napisać parę słów o grafice...
    • 16: CommentAuthorMq
    • CommentTime21 May 2020
     
    O grafice.

    Równolegle z rysowaniem postaci bohatera przemierzam morze testów możliwości sprzętowych Atari. Jako elektronik znam dość dobrze wnętrze sprzętu i widzę oczyma wyobraźni jak działają poszczególne scalaki, więc teraz odnosząc to do tego co piszemy w kodzie jest mi jakby łatwiej skumać jakie są możliwości i jakie ograniczenia.

    Ponieważ przewiduję, że świat będzie dość rozległy, a chcę żeby był różnorodny, to postanowiłem robić coś, co nazwałem sobie "recyklingiem znaków". Polega to na prostej rzeczy: rysuję jak największą ilość rzeczy tymi samymi znakami. Godzę się na kompromisy i zamiast dopieszczać każdy piksel danego zaokrąglenia czy innego elementu, dopasowuję w tym miejscu znak który już posiadam, a mniej-więcej pasuje do koncepcji. W ten sposób z tych samych znaków rysuję korony drzew, chmury, konary drzew pierwszoplanowych i elementy drugoplanowe. Całość robię w trybie Antic 4, a więc mam te same znaki już na starcie w drugim kolorze, a dodatkowo zmieniając kolory w DLI otrzymujemy kolejne znaki.
    Zasada, której się trzymam jest prosta: cała lokacja ma się mieścić w jednym zestawie znaków, włącznie z przedmiotami, które będziemy zbierać i z przeszkadzajkami, których na razie jeszcze nie ma, ale na które są przewidziane wolne znaki. Na obecny moment to co widać na zrzutach jest narysowane z użyciem około 80 znaków, a więc zużyłem na razie 2/3 zestawu. Z tych znaków narysowałem na razie kilka ekranów takiego oto leśnego świata, i rysuję sobie dalej nie dokładając już nowych znaków, bo te które mam wystarczają na wszystko czego potrzebuję.

    Do rysowania lokacji używam programu Tiled.
    Narysowałem sobie do niego tilesy identyczne z tymi, które mam w zestawie znaków Atari i po prostu składam to w w/w programie jak z klocków. Program jest bardzo wygodny w użyciu od strony składania map, a przy tym ma drugą zaletę taką, że zapisuje całą mapę w pliku xml, w którym mamy numerkami tilesów po przecinku wypisane znaki. Ponieważ tilesy są ułożone tak jak charset Atari, to numerki odpowiadają numerom znaków, więc z pliku mapy programu Tiled zaznaczam sobie zwyczajnie całość, kopiuję i wklejam do zmiennych playfieldów które mam w Mad Pascalu i gotowe.

    Co do githubów i innych tego typu. Moda -modą, ale ja kodu w całości udostępniać nie zamierzam. Robię ten opis powstawania gry od zaplecza, gdzie dzielę się informacjami w jaki sposób pracuję nad poszczególnymi elementami gry, jakich używam narzędzi itp. O technikach jakie wykorzystuję w programowaniu też piszę i będę pisał, chętnie odpowiem na szczegółowe pytania jeśli kogoś coś zainteresuje. Nie jest to jednak kurs programowania, piszę sobie grę i szanuję swoje własne prawa autorskie. Gra docelowo zostanie przeze mnie udostępniona za darmo w wersji plikowej, ale bez źródeł. Dodatkowo bardzo prawdopodobne, że będzie wydana w wersji kartridżowej, ponieważ tak projektuję mapę pamięci, żeby dało się grę doczytywać z banków kartridża, z pamięci rozszerzonej, z dyskietki. Na razie jeszcze nie wiem jak to będzie rozwiązane, ale z góry na razie pozostawiam odpowiednie części pamięci wolne pod te rozwiązania. Na razie tak długo jak się da piszę grę pod stockowe Atari z 64kB RAM. Jak już się przestanę mieścić, to zaplanuję ile potrzeba i podejmę decyzje dotyczącą obsługi doczytywania/rozszerzenia RAM/kartridża.
    • 17: CommentAuthorzbyti
    • CommentTime21 May 2020 zmieniony
     
    N I E A K T Y W N Y
    Bombowo :D Może być jedna z lepszych platformówek na A8!

    Te zrzuty aż sugerują paralaksę, ale jej raczej nie będzie, prawda?

    To będzie gra komnatowa czy scroll?
    • 18: CommentAuthorMADRAFi
    • CommentTime21 May 2020
     
    Zazdrosc :)
    Gratuluje pomyslu i zycze wytrwalosci w skonczeniu :)
    • 19: CommentAuthorMq
    • CommentTime21 May 2020
     
    Początkowo miała być komnatowa, bo nie wiedziałem, że tak łatwo sobie poradzę ze scrollem:-) Natomiast dla testów zacząłem się bawić w scrollowanie i zrobiłem scroll:-). Scroll jest już działający, te zrzuty które pokazałem są zrobione już z działającego silnika. Tu jeszcze dodam, że scroll jest co dwa cykle koloru, czyli co pół znaku. Chciałem zrobić co piksel, żeby było jeszcze płynniej, ale nie pasuje mi z timingami. Dude porusza się z precyzją o dwa cykle koloru w lewo i prawo (czyli najmniejszy ruch postaci to pół znaku). Animacja postaci ze względu na założoną prędkość chodzenia jest robiona klatkę na trzy ramki. Dlatego scrolling też jest robiony o te pół znaku raz na trzy ramki, żeby bohater nie wyprzedzał scrollingu idąc, a scrolling żeby za nim nadążał. Tak jest wszystko zgrane w timingu.
    Gdybym chciał zrobić scroll co piksel, to musiał bym albo dołożyć ten piksel w drugiej lub trzeciej ramce, co było by nieregularne i i tak by nie było płynne, albo zrobić animację bohatera co dwie ramki, ale wtedy chodzi za szybko, albo co 4 ramki, ale wtedy chodzi za wolno... Jeszcze będę z tym kombinował, ale na razie zostawiam tak jak jest.

    Paralaksa też mi chodziła po głowie, ale dałem sobie spokój. Kwestia kompromisów, bo z racji mojej techniki "recyklingu znaków" nie jestem w stanie tak narysowanej grafiki poddać paralaksie. Wyobrażam sobie, że trzeba by było jakoś rolować znaki w tle, albo coś. Ja mam w tle różne elementy graficzne, więc przesuwanie tego wszystkiego ręcznie... nie wyobrażam sobie tego nawet:-)
    Patrzyłem na Crownland: nie wiem jak to zrobiono od strony kodu, ale tam widać, że paralaksie podlega rząd identycznych znaków, prawdopodobnie jeden znak jest rolowany o piksel. W taki sposób chcę zrobić animację wody (jeszcze tego nie ma, ale powinno być łatwe).
    Patrzyłem też na paralaksę w Flimbo's Quest. Tu oczywiście też nie wiem jak to zrobiono w kodzie, ale widać, że grafika w tle narysowana jest w jednolity i powtarzalny sposób, a "okna" przez które ją widać też są jednolitego kształtu, więc podejrzewam, że to podobna technika z rolowaniem znaków może być.
    W Dude Story staram się tą grafikę zarówno na pierwszym jak i na dalszych planach rysować różnorodną, żeby było wrażenie, że każde miejsce, w którym jesteśmy jest jedyne, nic się nie powtarza pełnymi sekwencjami. Np. każda chmura na trzech powyższych zrzutach jest trochę inna, tak samo z każdym drzewem, konarem, podestem itp.
    • 20: CommentAuthorMq
    • CommentTime21 May 2020
     
    Aha, odpowiadając jeszcze precyzyjnie czy gra będzie komnatowa, czy scroll: będzie to połączenie jednego z drugim. Poszczególne lokacje będą scrollowane w poziomie, ale będą przejścia do innych lokacji "w przód" i w "tył" oraz "w górę" i "w dół" - i te przejścia będą zrealizowane jak w komnatówce, w sensie, że przejdziemy do innej lokacji scrollowanej.

    Każda lokacja scrollowana w obecnym silniku może mieć różną dowolną szerokość od 40 znaków (jeden ekran) do 255 znaków (co daje łącznie ponad 6 ekranów). Każda taka lokacja jest opisana mapą, która może być narysowana innym zestawem znaków, czyli w praktyce będzie to tak, że np. las z powyższych zrzutów może mieć kilka lokacji, a później zupełnie inna sceneria kilka swoich lokacji itd.
    Dlatego pisałem, że świat ma być rozległy i różnorodny.

    Z grubsza mam pomysł całej fabuły, takich rodzajów lokacji będzie coś koło 7-8, każdy rodzaj na swoim foncie i ze swoją osobną muzyką. W każdym typie lokacji może być kilka. Z grubsza zakładałem od początku, że cała gra ma mieć powyżej 100 ekranów. Ekrany są dość duże, bo samo pole rozgrywki ma 40x24 znaki.
    • 21: CommentAuthormav
    • CommentTime21 May 2020
     
    Z tym recyklingiem znaków to zdaje się, że Mario też był tak zrobiony. Dobry trop i dobra robota!
    • 22: CommentAuthormono
    • CommentTime21 May 2020
     
    @Mq: Super to wygląda! Trzymam kciuki za ukończenie projektu. Swoją drogą to ogromny komfort, że kod, grafikę i muzykę jesteś w stanie zrobić sam. Zazdroszczę :)
    • 23: CommentAuthorMq
    • CommentTime21 May 2020
     
    Dzięki @mav. Tak, ja podejrzewam, że spora część moich pomysłów nie jest wcale nowatorska. Nawet możliwe, że ta nazwa "recykling znaków" to też nie musi być mój własny wymysł:-). Tzn. ja to sobie sam wymyśliłem, ale możliwe, że takie pojęcie funkcjonuje gdzieś, lub ktoś już go wcześniej użył przede mną, mogłem to kiedyś usłyszeć też gdzieś i po prostu ukryło się gdzieś na lata w jakichś zwojach z tyłu głowy:-)

    Dzięki również @mono. Szczerze mówiąc komfort ten polega głownie na tym, że można lepiej zadbać o pamięć i cykle robiąc to wszystko samemu. A dodatkowo każda z tych rzeczy, to dla mnie frajda, więc nie pozbył bym się tego. Nie jestem dobrym grafikiem, nie jestem w sumie wcale grafikiem, samemu nic nie narysuję od zera, ale biorę jakieś wzorce, przerabiam po swojemu i coś tam mi z tego wychodzi, a matematycznie pikselowanie to dla mnie super zabawa:-)

    Sam proces tworzenia grafiki do scenerii lasu zrobiłem tak, że wziąłem jakieś zwykłe zdjęcie drzew z internetu (normalne zdjęcie). Za pomocą IrfanView zmniejszam ilość kolorów do kilku, potem zwykłym Paintem zamalowuję "na gładko" poszczególne obszary, pikseluję trochę żeby powyrównywać krawędzie itp. Następnie jak już mam kontury tego co mi jest potrzebne, to znowu na przemian IrfanView używam do dalszego zmniejszania liczby kolorów i rozmiaru obrazu, a Painta do rysowania ręcznie poprawek. Na koniec, żeby otrzymać prostokątne piksele, to w IrfanView zmniejszam szerokość obrazu o połowę bez zachowania proporcji, po czym zwiększam z powrotem i mam prostokątne piksele.
    Pierwszy taki gotowy rysunek tła w rozmiarze 320x192 zaimportowałem do G2F. Po takim imporcie rysunku mamy kilka zestawów znaków zapełnionych, ale teraz zaczyna się zabawa na długie godziny. Po kolei klikam każdy znak i patrzę ile razy jest wykorzystany na rysunku. Zaczynam od tych znaków, które wykorzystane są tylko raz i zamieniam je na inne podobne znaki, żeby się ich całkowicie pozbyć. To pogarsza trochę rysunek (kompromisy), ale w ten sposób zszedłem z całym tłem pierwotnie do dwudziestu kilku znaków.
    Podesty, jabłka, wodę itp. pikseluję sobie na kolejnych znakach już ręcznie jako powtarzalne elementy.
    Jak już wykonałem powyższą żmudną robotę, to przerysowałem wszystkie znaki jako tilesy i dalej już w Tiled układa się z tego bardzo szybko i łatwo nowe kształty elementów tła, podesty itd. Jak mi gdzieś wybitnie brakuje znaku w jakimś kształcie, to dorysowuję taki jeden znak i wykorzystuję znowu gdzie się tylko da.
    Jak już się ma kawałek lokacji gotowy, to w Tiled łatwo jest rysować dalej, bo można kopiować jakieś fragmenty, trochę zmienić znaki, przesunąć itp, to już jest przyjemność i chwila-moment:-)

    Co do muzyki, to akurat się na tym znam, szczerze mówiąc muzykę już mam niemal gotową, bo kiedyś skomponowałem zestaw muzyki do podobnej fabuły, ale tej muzyki nie wykorzystałem nigdy i ją po prostu mam. Tyle że to kompozycje zrobione na pececie, więc muszę to zaadoptować do możliwości Atari, jednak będę głównie bawił się składaniem tego i brzmieniem, a pomysły na tematy muzyczne pasujące do gry są już w zasadzie gotowe.
    • 24: CommentAuthorzbyti
    • CommentTime21 May 2020 zmieniony
     
    N I E A K T Y W N Y
    @Mq technika znana na GameBoy-u :] Widziałem rok temu ten materiał i szczerze polecam:



    • 25: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    @zbyti: fajny efekt paralaksy z tymi falami na Gameboyu. W sumie łatwe do zrobienia, a bardzo efektowne.
    • 26:
       
      CommentAuthorzbylu
    • CommentTime21 May 2020
     
    Świetnie zapowiadająca się gra! Trzymam kciuki i czekam na pierwsze tech demo, żeby można je było zareklamować i wrzucić na YT oraz newsa do ING :-).
    • 27: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    A dobra, to macie testa:-)

    Chciałem tam poprawić co nie co zanim wrzucę, dorobić niektóre rzeczy itd., ale ostatecznie zawsze coś będzie póki co do zrobienia, bo to w końcu WIP. Tak że wrzucam tak jak jest na ten moment.

    Sterujemy joyem, skaczemy na ukos (tu nastąpi prawdopodobnie zmiana i skok będzie docelowo na fire, bo góra będzie potrzebna do wchodzenia wgłąb scenerii). Przy skoku trzymamy dłużej jak chcemy doskoczyć do podestu (jak za szybko puścimy, to spadniemy).

    Jabłek Dude na razie nie zbiera, ale działa licznik jabłek, który testowo zwiększa się na fire. Po zebraniu 100 jabłek dopisują się życia do 9. Licznik żyć tez działa, jak wpadniemy do wody, to giniemy. Jak stracimy wszystkie życia, to mamy od nowa 5.

    W tle leci bardzo krótki fragment muzyczki, to jest tylko fragment testowy w celach wydajnościowych w trakcie kodowania. Niemniej jest to fragment jednej z muzyczek, które pojawią się w grze docelowo.

    @zbylu gdybyś robił faktycznie filmik, to ustaw proszę jakąś paletę zbliżoną do Atarowej. Z resztą dotyczy to wszystkich, którzy chcą zobaczyć jak faktycznie wygląda gra. Ja robię wszystkie testy na prawdziwym Atari i tam dobieram kolory, a pod emulatorem Altirra używam palety Olivier PAL, która chyba najlepiej oddaje kolory Atari. Wspominam o tych kolorach, bo gra ma ich całkiem sporo i potrafi wyglądać równie źle na beznadziejnej palecie - jak i dobrze na sensownej:-)
    • 28: CommentAuthorzbyti
    • CommentTime21 May 2020
     
    N I E A K T Y W N Y
    @Mq jednym słowem świetne! :]
    • 29: CommentAuthorxxl
    • CommentTime21 May 2020 zmieniony
     
    genialne.

    popracuj nad skokami, zeby taki detal nie zepsul zabawy...
    • 30:
       
      CommentAuthorshanti77
    • CommentTime21 May 2020
     
    Wygląda super.
    • 31: CommentAuthorastrofor
    • CommentTime21 May 2020
     
    fajne tylko krótkie, w jaskini pająków nie ma pająków.
    • 32: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    Dzięki.

    @xxl skoki zupełnie inaczej będą wyglądały jak tam wsadzę te brakujące klatki animacji. Na razie są te prostokąty kropkowane/kreskowane itp, bo mi były potrzebne do liczenia pikseli jak implementowałem ten ruch poklatkowo. Tak samo robiłem ze zwykłym chodzeniem jak zaczynałem, też bez klatek animacji. Po dołożeniu ich gra nagle ożyła. Teraz podczas skoku jest złudzenie niedopasowania momentami, bo prostokąt otacza całą klatkę, która nagle robi się większa. Postać zajmie wewnątrz tylko część miejsca i będzie się trochę wewnątrz klatek jeszcze przesuwała. Jak narysuję te klatki, to dopieszczę oczywiście jeszcze trochę sam ruch postaci.

    @astrofor:
    1. To jest właśnie to o czym pisałem: zmień tą paletę na jakąś normalną, bo mi tu straszysz odbiorców:-)
    2. Fajne tylko krótkie? Stary, to jest kawałeczek mapy pokazujący silnik przyszłej gry, której jeszcze nie ma:-)
    3. W jaskini pająków nie ma pająków? Hmm... zastanówmy się... może dlatego że zaliczają się do grupy obiektów zwanych przeszkadzajkami, a których to jeszcze w ogóle nie ma nawet w plikach roboczych z tymczasowymi testowymi kodami:-)
    • 33: CommentAuthorpirx
    • CommentTime21 May 2020 zmieniony
     
    @Mq - mam programik w pytongu, ktory bierze obrazek, logosuje go (zamienia na fonty) a następnie zmniejsza liczbę znaków do zadanej wartości (np. 128, żeby się mieściło w 1 zestawie), oczywiście zastępując znaki jak najbardziej podobnymi.
    Oczywiście nic nie zastąpi ręcznego macerowania, ale może by Ci to nieco przyszybczyło proces.
    Rezultat możesz obejrzeć w demku No Signal --> tam tak obrobiłem znaczki, żeby weszły do 1 charsetu.

    Problemem jest dobre określenie miary - odległości - podobieństwa pomiędzy znaczkami. To można zrobić na różne sposoby, zdaje się, że w tym demku miałem zwykłą odległość kartezjańską, ale ona słabo działa, gdy w różnych miejscach znaku są takie same pixele.
    Potem w rysunku BW robiłem tak, że jeśli w danym miejscu pixele są identyczne to dodawałem 1, a jeśli różne, to odejmowałem 1. Wtedy wartość "64" oznaczała znak identyczny, "-64" znak w inverse, itp.

    Jakby wymyślić dobrą miarę dla znaczków w GR.15, to możnaby zarzucić jakieś fancy klastrowanie z maszin lerningiem i po prostu zarządać 128 klastrów :]
    • 34:
       
      CommentAuthorDracon
    • CommentTime21 May 2020 zmieniony
     
    @pirx Możesz udostępnić ten programik? Mam pythonga 3.6 32-bit pod W10 zainstalowane. :)
    Jakie wymagania musi spełnić obrazek do obrobienia?
    • 35: CommentAuthorpirx
    • CommentTime21 May 2020 zmieniony
     
    chyba tylko doinstalowany PIL (a raczej pillow)
    pip install pillow

    Teraz nie dam rady, ale spróbuję jutro wrzucić na githubka razem z całym nosignal
    • 36: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    @pirx: też bym chętnie zobaczył jak to działa.

    Aha, jeszcze odnośnie pająków, których nie ma w jaskini pająków, to zapomniałem o jednym szczególe scenariusza: pająki są, tylko ich na razie nie widać, bo nie wylazły:-) Ale tego już mocniej nie mogę zdradzać - scenariusz i cała fabuła zostanie tajemnicą raczej do końca produkcji, bo by nie było zabawy. Gra nie będzie zręcznościówką, ani arcadówką na punkty z biegnięciem byle dalej, tam będzie trzeba rozwiązywać trochę zagadki, wracać w różne miejsca, w których będą następowały zmiany w miarę upływu czasu, miejsca będą zmieniały wygląd, będą się pojawiały w nich nowe rzeczy itp.
    • 37:
       
      CommentAuthorDracon
    • CommentTime21 May 2020 zmieniony
     

    Mq:

    Jak już wykonałem powyższą żmudną robotę, to przerysowałem wszystkie znaki jako tilesy i dalej już w Tiled układa się z tego bardzo szybko i łatwo nowe kształty elementów tła, podesty itd. Jak mi gdzieś wybitnie brakuje znaku w jakimś kształcie, to dorysowuję taki jeden znak i wykorzystuję znowu gdzie się tylko da.
    Jak już się ma kawałek lokacji gotowy, to w Tiled łatwo jest rysować dalej, bo można kopiować jakieś fragmenty, trochę zmienić znaki, przesunąć itp, to już jest przyjemność i chwila-moment:-)

    A czy mógłbyś bardziej rozwinąć temat jak się robi w TILED od nowa, jak po kolei przenosiłeś tam grafikę?
    • 38: CommentAuthormav
    • CommentTime21 May 2020
     
    Mówiłeś, że przesuw kolesia jest równy z przesuwem ekranu, ale to nieprawda, kiedy koleś skacze ;)
    • 39: CommentAuthorfder
    • CommentTime21 May 2020
     
    Super, mnie się kojarzy trochę z Dizzy.
    • 40: CommentAuthorMq
    • CommentTime21 May 2020 zmieniony
     
    @mav: faktycznie jest tak jak mówisz. Generalnie jest tak, że Koleś idąc normalnie porusza się o dwa piksele (w sensie dwa cykle koloru) na klatkę animacji. O tyle samo robi się zawsze scroll. Zarówno scroll jak i procedura wrzucająca kolejną klatkę w grafikę PMG są wywoływane w przerwaniu VBlank i zdążają z tym wszystkim przed wyświetlaniem obrazu przez Antic. Musi być tak zrobione jeżeli chcemy, żeby przy scrollingu postać przesuwała się idealnie równo z całym scrollowanym obrazem.

    Kiedy następnie dodałem skok, to chciałem żeby przemieszczenie postaci w jego trakcie było bardziej dynamiczne niż w przypadku zwykłego chodzenia, więc zacząłem przemieszczać postać w trakcie skoku o 4 piksele zamiast o dwa jak przy chodzeniu. Muszą być 4 piksele, bo to upraszcza mi obliczenia, stąd wszystko jest o 2 lub 4 i wszystko liczę tylko zawsze parzyście. I teraz okazało się całkiem przypadkiem, że bez robienia jakichkolwiek zmian w procedurze scrollowania ekranu uzyskałem ciekawy fajny efekt, że można uciec przed scrollingiem cały czas skacząc, a scrolling wtedy nas spokojnie dogania. Dzieje się tak dlatego, że procedura scrollingu sprawdza, czy pozycja kolesia jest większa niż określone miejsce ekranu i jeżeli tak, to robi scroll o dwa piksele. Jak skaczemy, to przemieszczamy się o 4, więc uciekamy a scrolling ze spokojem za każdym przebiegiem przesuwa się o dwa aż nas powoli dogoni. Bardzo mi się to spodobało i postanowiłem tak zostawić. Podobny efekt jest w Boulder Dash, w Robbo, czy w Laurze.

    @Dracon, ja na Tiled przeszedłem z G2F praktycznie od razu, kiedy miałem tylko około 20 znaków w użyciu. Znak w trybie Antic 4 ma 4 cykle koloru na 8 linii, więc spreparowałem sobie te znaki w zwykłym pliku png w taki sposób, żeby miały 16x16 pikseli. Trzeba połączyć sobie takie kafelki ze sobą w matrycę, przy czym można to zrobić dowolnie: możesz np. 256 znaków ułożyć jeden obok drugiego, albo w kilku rzędach jeden pod drugim. Ja zrobiłem sobie układ 16 znaków w wierszu na 16 wierszy, bo wygodnie z tego się korzysta. W Tiled jak zaczynasz pracę, to tworzysz sobie tileset i możesz podać wtedy, że masz swój tileset w pliku, podajesz ten plik png ze wszystkimi znakami i podajesz ile w tym pliku jest kolumn, ile wierszy, jaka jest rozdzielczość obrazka, kafelka. Na tej podstawie Tiled sobie podzieli Twój plik na kafelki którymi później operujesz. Trzeba tylko pamiętać, że znaki w Atari są numerowane od zera, a w Tiled od 1, ale to nie problem, bo w Tiled brak znaku oznaczany jest jako 0. Tak że na zerowym znaku w Atari zostawiamy spację, a w pliku png rysujemy wszystko od znaku nr 1 od początku pliku (lewy górny róg obrazka połączonych tilesów). Jak już się tym zacznie bawić, to widać o co chodzi. Teraz dalsze prace robię już w zasadzie wyłącznie w Tiled, a jeśli potrzebuję dorysować znak, lub zmienić jakiś znak, to po prostu ręcznie robię to w pliku png z tilesami oraz za pomocą Atari Font Maker wprowadzam od razu równolegle te same zmiany w swoim foncie Atari.
    Jeżeli chcę dorysować coś zupełnie nowego z zupełnie nowych znaków (np. jak dorysowywałem ostatnio jabłko), to eksportuję sobie mapę z Tiled do png, albo robię zrzut z Altirry i po prostu rysuję nową rzecz na takim zrzucie, żeby dopasować - tu nie ma siły, to już ręczne pikselowanie - po czym robię z tego również ręcznie znaki w tilesach w png i w foncie Atari. Trochę tego dłubania jest, ale jak już się ma znaki, to tylko później układamy jak chcemy, możemy przesuwać itp. No i na koniec ten xml w Tiled, to jest po prostu bajka: kopiuj i wklej do Mad Pascala bezpośrednio, kompiluję i mam zmiany widoczne w grze od razu.

    Aha, jedna ważna uwaga: w Tiled nie widzę zmian kolorów w DLI, nie widzę pasków na niebie robionych w DLI. Po prostu traktuję te rzeczy w sposób umowny. Natomiast rysuję sobie tilesy w różnych kolorach, żeby mieć przejrzyściej, bo nie ma to znaczenia dla Atari, które dostaje tylko numery znaków od Tiled, a kolory ustawia sobie już samo po swojemu.
    • 41:
       
      CommentAuthorIRATA4
    • CommentTime21 May 2020
     
    @ Mq
    ...ale się rozpisujecie ;).
    ...fajna grafika,czytelna,choć spody niektórych platform odciąłbym czernią co zwiększyło by czytelność,generalnie spoko jest,fajny i czytelny drugi i trzeci plan,mnie się podoba,dobrze że masz swoje spojrzenie i nie kopiujesz sprawdzonych pomysłów,grafika oryginalna,niebo niebieskie,będzie fajnie.
    Zapowiada się na wysyp platformówek-przygodówek,cieszę się również że puki co każda idzie w swoją stronę,moja gra będzie całkiem inna i mroczna,twoja wesoła,pogodna,tylko nie spiernicz i zrób zakończenie ;),no i nie zdradzaj za dużo,niby w porządku cała ta moda na pokazywanie nieskończonych produkcji,ja natomiast myślę że nie ma co za dużo pokazywać,by nie psuć przyjemności graczom :D.
    Pozdrawiam i trzymam kciuki :D.
    Jak będziesz chciał to mogę potestować i poszukać błędów jak będziesz miał działającą wersję.
    • 42:
       
      CommentAuthorzbylu
    • CommentTime21 May 2020
     
    Słowo się rzekło, film na YT jest. Gra prezentuje się świetnie, robi niesamowite (jak na pierwsze demo) wrażenie.
    • 43: CommentAuthorMq
    • CommentTime21 May 2020
     
    @zbylu, dzięki za filmik, bardzo ładnie wyszło:-)

    @IRATA: jeśli chodzi o pokazywanie, to tak chwilowo tylko.

    Otóż, to co pokazałem do tego momentu, to jest efekt moich prac nad grą, które rozpocząłem około listopada 2019. Tak że właściwie można powiedzieć, że pół roku już nad grą pracuję. Z tego wynika chwilowa duża ilość wpisów, bo nadganiam to co chciałbym powiedzieć o tym pół roku czasu. Dużą część czasu zajęło jednak budowanie warsztatu, dobór softu, zrobienie narzędzi pośrednich itd, itp. Kolejna lwia część czasu to jest nauka programowania i testy różnych mechanizmów w Atari, o których istnieniu wiedziałem, ale których wcześniej nie oprogramowywałem na taką skalę jak to robię teraz. Muszę zatem przebrnąć przez wiele rzeczy, które programiści wieloletni już wiedzą, a ja dopiero doświadczalnie odkrywam. To są tematy typu ile czasu mam w DLI, ile wsynców mogę odpalić, żeby nie zjeść za dużo cykli, co zrobić przed wsync, a co po, co wrzucić do VBI, do czego użyć stronę zerową, do czego szóstą, jak zorganizować pamięć, żeby wszystko się zmieściło, jak zrobić grę na kartridżu, jak doczytywaną, jak użyć pamięci rozszerzonej, gdzie trzymać ekran, gdzie dane, kiedy co animować.

    Krótko mówiąc nie spodziewajcie się, że teraz z dnia na dzień będę wrzucał postępy, bo raczej wrzucę tu coś dopiero za dłuższy czas, jak postęp jakiś znaczący nastąpi. Przy tym jest tak jak mówi IRATA: gra ma pozostać w tajemnicy jako całość, a to co jest to tylko zajawki, gra będzie rozbudowana i będzie w niej chodziło o coś więcej niż skakanie po platformach:-)
    • 44:
       
      CommentAuthorPhilsan
    • CommentTime21 May 2020
     
    Cool game!
    • 45: CommentAuthorastrofor
    • CommentTime21 May 2020 zmieniony
     
    czy ktos jeszcze znalazl w grze tego easter egga ?
    • 46: CommentAuthorpirx
    • CommentTime22 May 2020
     
    yo, wrzuciłem no signal razem z tym pythonowym programikiem tutaj: ->link<-
    to jest pytong 2.x (w folderze /gfx/), w dodatku bardzo brzydki, nie polecam. co gorsza tam są procki tylko do grafiki 9+10 i 8, nie ma do gr.15. jak znajde chwile to spr. dorobic.
    • 47: CommentAuthorastrofor
    • CommentTime22 May 2020
     
    @pirx: rewelacja!
    • 48: CommentAuthorgorgh
    • CommentTime22 May 2020
     
    Mq: jeśli będziesz potrzebował pomocy przy duszkach programowych, to napisz do mnie
    • 49: CommentAuthorMq
    • CommentTime22 May 2020
     
    @gorgh: bardzo dziękuję, na pewno skorzystam z oferty pomocy jak tylko będę jej potrzebował.
    Jeszcze nie doszedłem do tego momentu. Co prawda z góry zaplanowałem jak zrobię przeszkadzajki i inne animowane elementy w grze, ale jeszcze tego nie testowałem nawet, więc najpierw zacznę to robić po swojemu, a w trakcie odezwę się jeżeli będę potrzebował zasięgnąć porady. Na razie na wiele spraw mam swoje autorskie pomysły rozwiązań i póki co sprawdzają się, więc dopóki nie napotykam problemów nie do przeskoczenia, to staram się to robić po swojemu, a dopiero później ewentualnie porównywać z utartymi już rozwiązaniami stosowanymi wcześniej. W taki sposób istnieje możliwość, że przypadkiem wynajdę jakieś techniki, których wcześniej nikt nie stosował i uda się porobić coś na tym naszym Atari, czego jeszcze nie było:-) Oczywiście równolegle istnieje szansa, że w wielu miejscach tym sposobem wynajduję od nowa koło, albo walczę z wyważaniem otwartych drzwi - to takie ryzyko, ale najważniejsze, że przede wszystkim świetnie się z tym bawię i mam sporo satysfakcji z każdej samodzielnie wykonanej rzeczy:-)
    • 50: CommentAuthorpirx
    • CommentTime22 May 2020
     
    :thumbsup: