atarionline.pl Software Sprite Engine - 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:
         
        CommentAuthorlaoo
      • CommentTime6 Oct 2020 08:10
       
      Tajemnica tkwi w użytym trybie graficznym :)
      • 2:
         
        CommentAuthorMq
      • CommentTime6 Oct 2020 10:10
       
      Też mnie interesuje jak to jest zrobione. Czy mógłby ktoś (laoo?) wyjaśnić choćby z grubsza na czym to polega?
      • 3: CommentAuthorxxl
      • CommentTime6 Oct 2020 10:10
       
      to jest tryb GTIA. zerknij na GR.9, GR.10, GR.11, i zwroc uwage, ze tryb GTIA mozna wlaczyc takze dla trybow znakowych...
      • 4:
         
        CommentAuthorlaoo
      • CommentTime6 Oct 2020 11:10
       
      Też przez chwilę liczyłem kolory i myślałem ocokaman, ale po paru minutach zorientowałem się, że rozdzielczość pozioma jest dość charakterystyczna, więc to tryb GTIA w trybie znakowym. I softsprite w takim trybie to prościzna, bo preshifting jest 4-bitowy.
      • 5:
         
        CommentAuthorMq
      • CommentTime6 Oct 2020 11:10
       
      Programuję już trochę na Atari i wydawało mi się, że już sporo wiem i umiem, ale używacie takich słów, że ni huhu nie wiem o co chodzi:-) No nic, muszę doczytać i się dokształcić, bo widać jeszcze dla mnie za wysokie progi:-)
      • 6:
         
        CommentAuthorlaoo
      • CommentTime6 Oct 2020 11:10
       
      @Mq Nie ma tu większej filozofii. Organizacja pamięci ekranu Atari jest pozioma na poziomie bitowym, to znaczy, że jak piksel zajmuje 4 bity, to zajmuje cztery kolejne bity z bajtu i w bajcie mieszczą się dwa piksele. Żeby mieć możliwość umieszczenia sprajta w dowolnym miejscu, trzeba dysponować dwoma kombinacjami obrazu bitowego tego sprajta: dosunięty do lewej oraz przesunięty o 4 bity w prawo. Można liczyć to online albo mieć już obliczone i zapamiętane. To jest właśnie preshifting - obliczanie wszystkich przesunięć bitowych na zapas. Tu są tylko dwa i zajmuje to mało pamięci. W trybie czterokolorowym, gdy mamy 2 bity na piksel, są możliwe cztery przesunięcia sprajta w bajcie więc potrzeba dwa razy więcej tablic.
      • 7: CommentAuthorTrachu
      • CommentTime6 Oct 2020 13:10
       
      laoo: można jeszcze dodać ze ze względu ze małe Atari posiada jedynie 9 rejestrów koloru to mimo ze 4 bity pozwalają na 16 różnych wartości mamy ograniczenie w tym trybie do 9 kolorów
      • 8: CommentAuthortebe
      • CommentTime6 Oct 2020 13:10
       
      znam takiego jednego, który po cichu liczy że w końcu odnajdą się te brakujące rejestry koloru :)
      • 9:
         
        CommentAuthorMq
      • CommentTime6 Oct 2020 18:10
       
      @laoo, to już lepiej:-) Przeczytałem ze 4 razy to co napisałeś że "nie ma większej filozofii" i zrozumiałem o co biega:-) Dobrze wyczułeś, chodziło mi o ten preshifting właśnie, tego nie wiedziałem w sensie nazwania zjawiska. Dzięki za wyjaśnienie.
      • 10:
         
        CommentAuthorCOR/ira4
      • CommentTime6 Oct 2020 18:10
       
      @ Mq
      ... ale fajną gierkę robisz na "swoim warsztacie" ... a zobacz jakie nieodkryte możliwości :D,ja generalnie nie programuję więc z moją grą poszedłem w animacje i RAM :D. ale jak się wszystko uda to będzie latała z Karta.
      • 11:
         
        CommentAuthorsun
      • CommentTime6 Oct 2020 18:10 zmieniony
       
      @tebe: żebym nie napisał w złą godzinę... Smaku?
      • 12:
         
        CommentAuthorMq
      • CommentTime6 Oct 2020 19:10
       
      @IRATA4: ja z kolei bawię się w optymalizacje pod kątem szybkości i małego zajęcia RAM-u, i cisnę, żeby grę zmieścić w stock Atari. Już na obecnym etapie widzę, że na pewno dam radę zrobić kartridżową wersję na stock 64k i na pewno zmieszczę plikówkę na stock 130XE. Cisnę dalej i może będzie pod tym kątem jeszcze lepiej.
      Ale odbiegamy od tematu. Zmierzam do tego, że otwierają się powoli oczy na te nieodkryte możliwości, i widać, że do granic jeszcze jest bardzo daleko, grą ostateczną będzie połączenie optymalizacji, pomysłu, grafiki i animacji, oraz demoscenowych sztuczek. Wszystko razem rozbije bank, ale czy taka superprodukcja kiedyś faktycznie powstanie?
      • 13:
         
        CommentAuthorMq
      • CommentTime6 Oct 2020 20:10
       
      Hej, dopiero teraz zajarzyłem:-) Oglądam po raz któryś z kolei ten filmik i zakumałem na czym polega złudzenie optyczne:-) Oglądamy filmik na pececie w małym okienku i spodziewamy się, że to jest rozdzielczość 160 pikseli i tak na to patrzymy, a tam jest 80 pikseli, tylko że nie odbieramy włąściwie proporcji w małym okienku:-) Teraz wszystko jasne, czar prysł:-)
      • 14:
         
        CommentAuthorCOR/ira4
      • CommentTime6 Oct 2020 20:10
       
      @Mq
      ... a co powiesz na to ?


      można by zrobić taką grę jak poniżej,wygląda bardzo chaotycznie jednakże w rzeczywistości tak nie jest,pełna kontrola,ekstra się w to gra.
      • 15: CommentAuthorAdam
      • CommentTime6 Oct 2020 20:10
       

      laoo:

      W trybie czterokolorowym, gdy mamy 2 bity na piksel, są możliwe cztery przesunięcia sprajta w bajcie więc potrzeba dwa razy więcej tablic.

      Tak, zwykle się robi przesunięcie o piksel, ale musu nie ma, w trybie czterokolorowym również można stosować preshifting o dwa piksele (4 bity) - tak jest to zrobione np. w Hobgoblinie.
      • 16: CommentAuthormono
      • CommentTime6 Oct 2020 21:10
       
      Ekran zajmuje w tym trybie 40*48 bajtów czyli 1920 ($780) bajtów - niecałe 2KB. Scroll w pionie cały czas może być co linię skanningową (choć wystarczyłby pewnie co 2 linie najgęściej).
      Kwestia sprawdzenia czy da się uzyskać dodatkowe kolory priorytetem 0 sprajtów i nakładaniem sprajtów.
      No i ciągle co DLI można zmieniać rejestry kolorów :)
      • 17:
         
        CommentAuthorlaoo
      • CommentTime7 Oct 2020 06:10
       
      @Adam oczywiście można założyć sobie pewne ograniczenia co do pozycjonowania sprajtów i można na tym zaoszczędzić. To są bardzo fajne tricki. Pisząc, co napisałem, miałem w głowie to co robiliśmy w Time Pilocie. Tam sprajty mogą być w dowolnej pozycji.
      • 18:
         
        CommentAuthorTheFender
      • CommentTime7 Oct 2020 16:10 zmieniony
       
      @irata4: kiedyś był taki konkurs na mock-up z gry. Wystawiłem tam propozycję Gladiatora właśnie :)
      (choć wiadomo, bez szans na realizację w takiej formie).

      Do kompletu z G'n'g i Flying Shark :D
      ->link<-
      • 19: CommentAuthorxxl
      • CommentTime7 Oct 2020 17:10
       
      :-) swietne @TheFender, milo przypomniec. moze jeszcze raz taki konkurs :-)
      • 20:
         
        CommentAuthorCOR/ira4
      • CommentTime7 Oct 2020 19:10 zmieniony
       
      @ TheFender
      o widzisz :D. Problem z Gladiatorem jest taki że w to trzeba zagrać inaczej Atarianie mogą kojarzyć z "Predatorem"albo co gorsza z "Renegade",kolejnym problemem byłoby rozwiązanie jedno przyciskowej kontroli nad ruchami postaci tzn tarcza/miecz,chociaż trzymając wciśnięty fire plus kierunki/ukosy osłona tarczą,szybkie x2 wciśnięcia atak mieczem -musiało by zostać to nieco uproszczone,ale samo zasłanianie się i centralny atak mogły by dać radę(tak myślę),problem jest taki że osoby robiące gry na Atari często nie są graczami i nie rozumieją że grę trzeba czuć-nie dotyczy wszystkich autorów,ale często tak jest,równie często grywalność w takich produkcjach to wypadkowa dokładności sterowania,grafiki,muzyki a nad tym nikt nie czuwa.

      Edit
      Przejrzałem ten konkurs,no nieźle,zbudowaliście bibliotekę takich tytułów że hey :D.
      • 21: CommentAuthorxxl
      • CommentTime7 Oct 2020 19:10
       
      Kiedy Mortal na Atari? w zeszlym roku ekipa z A8 pokazala dzialajaca gre na Lynxie.
      • 22:
         
        CommentAuthorCOR/ira4
      • CommentTime7 Oct 2020 19:10
       
      Mortal by się przydał,mógłby chyba być w takim trybie jak gra z bananami,byle by sterowanie było mortalowe oraz,krew,flaki FATALITY !
      • 23: CommentAuthormono
      • CommentTime7 Oct 2020 21:10
       

      Mq:

      Oglądamy filmik na pececie w małym okienku i spodziewamy się, że to jest rozdzielczość 160 pikseli i tak na to patrzymy, a tam jest 80 pikseli, tylko że nie odbieramy właściwie proporcji w małym okienku:-) Teraz wszystko jasne, czar prysł:-)

      Tak, rozdzielczość to 80x96. Ale co powiesz na 22 kolory do wykorzystania w linii nawet z BASIC-a, bez konieczności używania assemblera (włączone sprajty + nakładanie sprajtów + priorytet 0) i pamięć ekranu o rozmiarze $1E0 bajtów, pamięć PMG $280 bajtów i generator znaków lub 2 w razie potrzeby?
      • 24: CommentAuthorpin
      • CommentTime7 Oct 2020 22:10
       

      xxl:

      Kiedy Mortal na Atari?


      na twoim się nie uruchomi.
      • 25:
         
        CommentAuthorTheFender
      • CommentTime7 Oct 2020 22:10 zmieniony
       
      :D miód
      xxl!=pin round $ffcc0 ; never-ending story mode

      Czyje Atari jest bardziej atari! :D
      • 26: CommentAuthorGonzo
      • CommentTime7 Oct 2020 23:10
       
      zgadzam się z pin'em, mortal nigdy się nie uruchomi na a8 xxl'a, powiem więcej, nie uruchomi się na żadnym a8, i choćby przyszło 1000 atletów i każdy zjadłby 1000 kotletów, to nie uruchomi, taki to ciężar
      • 27:
         
        CommentAuthorlaoo
      • CommentTime8 Oct 2020 07:10
       
      @Gonzo zależy jak zdefiniujemy Mortal Kombat ;)
      • 28:
         
        CommentAuthorMq
      • CommentTime8 Oct 2020 14:10
       
      @mono, tak, ja dostrzegam zalety. Jak za kilka lat znajdę chwilkę, to pewnie się pobawię tymi trybami:-)
      • 29:
         
        CommentAuthorjhusak
      • CommentTime8 Oct 2020 14:10
       
      Ale ale. Mamy możliwość bankowania kartridża przecież. Więc można pamiętać tło, na tło przerzucać obrazy z banków i będzie gites. 1 MB wystarczy. Gorzej z kolorami.
      • 30:
         
        CommentAuthorKaz
      • CommentTime8 Oct 2020 15:10 zmieniony
       
      To jeszcze jeden ciekawy silniczek tego samego autora:

      Vladimir Janković:

      Atari 800XL, 7 x four color, fully masked soft sprites 12x24 over background with front layer. Character screen, each sprite needs 16 characters, so only 16 characters remains for background :)


      • 31:
         
        CommentAuthorlaoo
      • CommentTime8 Oct 2020 15:10
       
      Musiałaby być baaardzo specyficzna gra, żeby takie ograniczenia dało się zaakceptować.
      • 32:
         
        CommentAuthorKaz
      • CommentTime8 Oct 2020 19:10
       
      Oczywiście. Ale przy odpowiedniej pomysłowości da się ciekawie to wykorzystać. No i chyba przecież można parę przerwań wstawić, żeby na ekranie był więcej niż jeden zestaw znaków. Jakby w dolnej części i górnej było po 16 znaków z innego zestawu to już coś tam można podziałać - np. zbudować tunel. A to tylko pierwszy z brzegu pomysł... :)
      • 33: CommentAuthortebe
      • CommentTime9 Oct 2020 07:10
       
      w przykładach do mads-a są przykłady takich silników, zmiany znaków co wiersz nie powodują takich ograniczeń

      powyższy przykład korzysta tylko z jednego zestawu, 7*16=112 i zostaje tylko 16 znaków na tło, silnik Avalonu (Misja, Fred) ma większe możliwości bo korzysta z dwóch zestawów znaków
      • 34:
         
        CommentAuthorKaz
      • CommentTime11 Oct 2020 11:10 zmieniony
       
      No właśnie - raz, że można wykorzystać więcej zestawów znaków na ekranie, a dwa, że są takie gry, w których tło jest jednorodne, za to gwoździem programu są ruchome obiekty. Przykład to "Critical Mass" na C64, gra bardzo znana i lubiana:

      • 35: CommentAuthortebe
      • CommentTime11 Oct 2020 13:10
       
      w przypadku kiedy tło jest jednorodne silnik EOR jest najlepszym wyborem, nie jest potrzebne maska wycinająca tło dla sprajta
      • 36: CommentAuthorxxl
      • CommentTime11 Oct 2020 16:10
       
      nie tylko oszczedny bo nie potrzeba masek ale takze najszybszy, silnik eor mozna zaobserwowac np w grze Gremlins
      • 37:
         
        CommentAuthorKaz
      • CommentTime11 Oct 2020 18:10
       
      Ale w tych 16 znakach można jednak tło urozmaicić, choćby kamieniami, strzałkami kierunkowymi, etc.
      • 38: CommentAuthortebe
      • CommentTime11 Oct 2020 23:10 zmieniony
       


      gwiazdki można zrobić na kilku znakach, do takich kosmicznych strzelanek to się nadaje
      • 39:
         
        CommentAuthorKaz
      • CommentTime11 Oct 2020 23:10
       
      A właśnie!

      • 40:
         
        CommentAuthorCOR/ira4
      • CommentTime12 Oct 2020 18:10
       
      @ Kaz kamieniami,daj że spokój,kamieniem to można oberwać ;),a może by tak jakiś wzór udający glebę ?