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
     
    Tajemnica tkwi w użytym trybie graficznym :)
    • 2: CommentAuthorMq
    • CommentTime6 Oct 2020
     
    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
     
    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
     
    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
     
    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
     
    @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
     
    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
     
    znam takiego jednego, który po cichu liczy że w końcu odnajdą się te brakujące rejestry koloru :)
    • 9: CommentAuthorMq
    • CommentTime6 Oct 2020
     
    @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:
       
      CommentAuthorIRATA4
    • CommentTime6 Oct 2020
     
    @ 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 zmieniony
     
    @tebe: żebym nie napisał w złą godzinę... Smaku?
    • 12: CommentAuthorMq
    • CommentTime6 Oct 2020
     
    @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
     
    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:
       
      CommentAuthorIRATA4
    • CommentTime6 Oct 2020
     
    @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
     

    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
     
    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
     
    @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 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
     
    :-) swietne @TheFender, milo przypomniec. moze jeszcze raz taki konkurs :-)
    • 20:
       
      CommentAuthorIRATA4
    • CommentTime7 Oct 2020 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
     
    Kiedy Mortal na Atari? w zeszlym roku ekipa z A8 pokazala dzialajaca gre na Lynxie.
    • 22:
       
      CommentAuthorIRATA4
    • CommentTime7 Oct 2020
     
    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
     

    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
     

    xxl:

    Kiedy Mortal na Atari?


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

    Czyje Atari jest bardziej atari! :D
    • 26: CommentAuthorGonzo
    • CommentTime7 Oct 2020
     
    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
     
    @Gonzo zależy jak zdefiniujemy Mortal Kombat ;)
    • 28: CommentAuthorMq
    • CommentTime8 Oct 2020
     
    @mono, tak, ja dostrzegam zalety. Jak za kilka lat znajdę chwilkę, to pewnie się pobawię tymi trybami:-)
    • 29:
       
      CommentAuthorjhusak
    • CommentTime8 Oct 2020
     
    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 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
     
    Musiałaby być baaardzo specyficzna gra, żeby takie ograniczenia dało się zaakceptować.
    • 32:
       
      CommentAuthorKaz
    • CommentTime8 Oct 2020
     
    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
     
    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 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
     
    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
     
    nie tylko oszczedny bo nie potrzeba masek ale takze najszybszy, silnik eor mozna zaobserwowac np w grze Gremlins
    • 37:
       
      CommentAuthorKaz
    • CommentTime11 Oct 2020
     
    Ale w tych 16 znakach można jednak tło urozmaicić, choćby kamieniami, strzałkami kierunkowymi, etc.
    • 38: CommentAuthortebe
    • CommentTime11 Oct 2020 zmieniony
     
    ->link<-

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

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