atarionline.pl Mix gr. 15 i 11 bez interlace - 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: CommentAuthorilmenit
    • CommentTime1 Sep 2011 zmieniony
     
    Przygotowałem kilka obrazków miksowanego trybu 15 i 11 (bez interlace).
    Oceńcie proszę, czy taka grafika jest wystarczająco czytelna do gry RPG.
    Załączam też pliki wykonywalne (paleta Laoo.act) oraz narzędzie, które pozwala testować różnie miksowane tryby.






    • 2: CommentAuthorlhuven
    • CommentTime1 Sep 2011
     
    Dla pełnoekranowych obrazków wygląda to naprawdę nieźle:)

    1. Realms of Arkania
    2. Might and magic
    3-4 hm.. Ishar?
    5. Daggerfall?
    • 3:
       
      CommentAuthorAlex
    • CommentTime1 Sep 2011
     
    Dla mnie bomba :)
    • 4: CommentAuthorgorgh
    • CommentTime1 Sep 2011
     
    bardzo ciekawe
    • 5: CommentAuthorilmenit
    • CommentTime1 Sep 2011 zmieniony
     
    1-2 Realms of Arkania 1 i 2
    3-4 Ishar
    5 Realms of Arkania 3
    6 Eye of beholder 1 (+zamienione kolory)

    Jak widzę dla zwykłych obrazków mieszanie bez interlace też daje ciekawe efekty:

    Gr. 9 i 10:


    Gr. 10 i 11:
    • 6:
       
      CommentAuthorDracon
    • CommentTime1 Sep 2011
     
    Calkiem niezle wygladaja te eksperymenty... :)
    Jak jest zapotrzebowaniem na pamiec (pewnie dzieki zastosowaniu trybu "harmonijki" jest potrzebne 2x mniej?) ?
    Czy przewidujesz w tej technice jakies animacje?
    • 7: CommentAuthorilmenit
    • CommentTime1 Sep 2011
     
    Zapotrzebowanie na pamięć jest identyczne dla trybów 9, 10, 11 i 15 i nie zmienia się gdy je naprzemiennie wyświetlamy. Na pełnoekranowy obrazek potrzeba ok. 8KB pamięci.
    Gdy w grze mają być przezroczyste obiekty, to konieczna jest oczywiście dodatkowo maska przezroczystości.

    Z animacjami nie ma problemu a i pamięć przy wykorzystaniu np. carta MaxFlash pozwoli na zrobienie dowolnie złożonej graficznie gry.
    • 8: CommentAuthorBluki
    • CommentTime1 Sep 2011 zmieniony
     
    Na małym ekranie wygląda świetnie. Robi wrażenie. Jednak na dużym ekranie, to niestety już tak dobrze nie jest.
    Mimo to sądzę, że śmiało można w tej grafice coś zrobić.
    • 9:
       
      CommentAuthorxeen
    • CommentTime1 Sep 2011
     
    rewelka!
    • 10: CommentAuthorpin
    • CommentTime1 Sep 2011
     
    Ilmienit, a skończysz HDM? :) - bo ponoć czasu na to brakło :P
  1.  
    Looks very nice ...

    There is another possibility, a mode I call DIN ... mixing Gr. 8 with Gr. 15. It requires a display list change on each line, alternating with mode 8 and mode 15, plus a change of register 710 each line as well so that you can have that color available in 15, and have a solid background. should give you 8 colors at Gr. 8 resolution, plus another 8 if you include Gr. 8 artifacting. I did something similar, only using text mode (Gr. 0 + gr. 12) and flickering. if you are only using one screen, you could change the blank line instruction at the top of your display list every VBLANK, have it alternate between 7 and 8 lines. This will enable your scan lines to jump up and down and mix the colors.

    You can also blend two Gr. 9 screens using a color change every scanline on 712, this will get you 256 duo-tone shades. Again, using the same trick to blend colors.
    • 12:
       
      CommentAuthortdc
    • CommentTime2 Sep 2011
     
    Fajne !

    Na Atari eksperymentować zawsze warto;)
    • 13: CommentAuthorilmenit
    • CommentTime2 Sep 2011
     
    @pin - i czasu i chęci. Chęci nie przybyło, by poświęcać czas na poprawki dla kilku osób, którym i tak gra się nie podoba ;)
    • 14: CommentAuthorilmenit
    • CommentTime6 Sep 2011 zmieniony
     
    Dodałem do PicMixera tryb interaktywny, który w czasie rzeczywistym konwertuje grafikę dla wybranego okna. Aby go włączyć trzeba zamiast nazwy pliku do konwersji jako pierwszy parametr podać słowo window.
    Następnie klawiszem Shift wybieramy, które okno chcemy śledzić. Śledzimy oczywiście okno w programie graficznym, co pozwoli nam w czasie rzeczywistym podglądać jak wyglądać będzie grafika po konwersji.

    • 15:
       
      CommentAuthorxeen
    • CommentTime6 Sep 2011
     
    troszkę poeksperymentowałem, efekty są naprawdę więcej niż dobre:)

    może to i lamerskie pytanie - co jest w generowanym pliku bin?
    • 16: CommentAuthorilmenit
    • CommentTime7 Sep 2011 zmieniony
     
    W pliku bin są generowane dane do wyświetlenia na ekranie (by zrobić plik wykonywalny jak w pierwszym załączniku pierwszego posta).

    EDIT: Poprawiłem proporcje wielkości okna podglądu (640x400 zamiast 640x400), więc lepiej pokazywana jest grafika konwertowana z 320x200.
    • 17:
       
      CommentAuthorxeen
    • CommentTime8 Sep 2011
     
    ok, czyli tylko dane obrazka. brak informacji o DL i DLI?
    • 18: CommentAuthorilmenit
    • CommentTime8 Sep 2011
     
    Ze względu na rozmiar ekranu takie DL musi zawierać conajmniej dwa LMS, więc nie ma sensu podawać go jako ciąg bajtów.

    Przykładowe DLI:

    stored_x:
    .byte 0

    _dl_handler:
    pha
    stx stored_x

    lda #$11
    ldx #$0
    sta WSYNC
    sta PRIOR ; zmiana trybu na 9
    stx COLBK

    lda #$C0
    ldx #$7
    sta WSYNC
    sta PRIOR ; zmiana trybu na E
    stx COLBK

    ldx stored_x
    pla
    rti

    W przykładzie napisanym w C display listę generowałem sobie dynamicznie:

    byte display_list_mem[1000];
    word display_list_index=0;

    void display_list_emit_byte(byte to_emit)
    {
    display_list_mem[display_list_index++]=to_emit;
    }

    void display_list_emit_word(word to_emit)
    {
    POKEW((word) &display_list_mem+display_list_index,to_emit);
    display_list_index+=2;
    }

    void set_dlist()
    {
    display_list_emit_byte(DL_BLK8);
    display_list_emit_byte(DL_BLK8);
    display_list_emit_byte(DL_BLK8);

    for (i=0;i<200;)
    {
    display_list_emit_byte(0x0F+DL_LMS|DL_DLI);
    display_list_emit_word((word)&screen_data + (word) i*40);

    ++i;

    display_list_emit_byte(0x0E+DL_LMS);
    display_list_emit_word((word)&screen_data + (word) i*40);

    ++i;
    }

    display_list_emit_byte(DL_BLK8);

    display_list_emit_byte(DL_JVB);
    display_list_emit_word((word) &display_list_mem[0]);

    // Install new display list
    POKEW(0x230, (word)&display_list_mem);

    // Set dli handler
    POKEW(0x200,(unsigned int)&dl_handler);

    // Enable DLI
    POKE(0xD40E,0xC0);
    }
    • 19: CommentAuthorpin
    • CommentTime8 Sep 2011
     
    ... nie mówiłem, że HDM mi się nie podoba, NIE chodzi mi już nawet o poprawki związane z działaniem na dowolnym OS'ie, chodziło mi wyłącznie o ukończenie wersji PL tak, by była w całości wraz z intrem. Czy to jest "kilka osób, którym gra i tak się nie podoba"? ;) -

    Jest to polska gra, gdzie wersja dla "za_granicy" jest pełna, a dla swoich "okrojona". Chyba, że wersja PL została ukończona a ja o tym nic nie wiem ;)-
    • 20: CommentAuthorpin
    • CommentTime10 Sep 2011
     
    proszę bardzo: pin(miałpaaaa) ghnet.pl

    Udostępnij też takową wersję także innym! :)
    • 21: CommentAuthorpin
    • CommentTime11 Sep 2011 zmieniony
     
    Rozumiem :). Właśnie zrzucam grę na Atari.

    ups... ;) - widzę, że o pomyłkę łatwo .. i prywatna korespondencja staje się listem otwartym ;)- brawo ten Pan za pomysł ;)-
    • 22: CommentAuthorilmenit
    • CommentTime13 Sep 2011 zmieniony
     
    Jest to polska gra, gdzie wersja dla "za_granicy" jest pełna, a dla swoich "okrojona"


    Dla mnie "swoi", to miłośnicy małego Atari z całego świata. Nie planowałem wersji polskiej i jak widzę słusznie, bo zainteresowanie nią jest mierne. Tworząc kolejne gry wersji PL też robić nie będę i od razu zastrzegam, że nie będę poświęcał na jej przygotowanie czasu nawet, gdy ktoś przetłumaczy wszystkie teksty na PL. Za dużo roboty z modyfikacją fontów, z łamaniem tekstu, kompilacją, ewentualnymi przeróbkami grafiki, dopasowaniem rozmieszczenia elementów na ekranie do długości tekstu itd.
    • 23: CommentAuthorpin
    • CommentTime13 Sep 2011
     
    .. po pierwsze to zastanów się, dlaczego tak jest. Gra jest bardzo dobra, jednak w pierwotnej wersji potwornie męczy nieczytelny font (który sobie poprawiłem w 15 minut) a i użyty j. angielski nie należy z czego wiem do współcześnie używanych - jak dla mnie osobiście nie jest szczególnie zrozumiały. Czyli wydaje mi się, iż to jest mniej więcej tak, jak byś włochowi znającemu język polski podał do przeczytania ze zrozumieniem gwarę góralską. Tym bardziej trudne zadanie nie zachęcające do dalszego działania. Sukces gwarantowany :)

    Co do problemów przy "spolszczeniu", to nie jest to problem jeśli kod jest pisany wcześniej właśnie z myślą o takiej właśnie modyfikacji. Font - problem żaden, na łamanie tekstu wystarczy zrobić uniwersalną prockę, a tekst nie koniecznie musi być w kompilowanym kodzie. Wystarczy w pliku zewnętrznym z którego dane też można doczytać. Ok, nie wtrącam się - to Twoja gra, zrób jak uważasz - może być nawet po chińsku, skoro rodaków masz w ogólnym poważaniu ... że tak sobie pozwolę napisać :)- no nic, z mojej strony w temacie to tyle.
    • 24: CommentAuthorilmenit
    • CommentTime15 Jul 2013
     
    Dodałem do PicMixera gr.8 oraz zmieniłem trochę sposób przekazywania parametrów.
    Dla testu mix gr.8 i gr.9 przygotowałem interactive.bat

    Dajcie proszę znać, czy o to chodziło.

    Jak tego użyć:
    1. Otwieramy np. MS Painta i obrazek 320x240 pikseli.
    2. Robimy zooma np. na 300 procent oraz pokazujemy miniaturkę.
    3. Uruchamiamy interactive.bat i z kursorem myszki na oknie miniaturki naciskamy Shift.
  2.  
    Suggestion: For better mix of graphics 8 and 9, use floyd steinberg dither on Graphics 8. Also set PF1 to about 10. Here is an example I did using M0 (0+9) mode. Using 8+9 is better though because of less flicker.
    • 26: CommentAuthorAdam
    • CommentTime16 Jul 2013
     
    Dzięki, Ilmenit, za szybką reakcję :)

    Jakoś nie muszę robić zooma w Paincie, żeby najechanie lupą od razu odpowiednio łapało obraz, ale zachowanie PicMixera jest trochę dziwne. Tzn. próbuję otworzyć zrzut ekranu gry z emulatora (336x240) i mam ustawione /mode1=9 /mode2=8 (taka kolejność jest w Assembloids XE), a mimo to otrzymuję obraz jakby te parametry były zamienione, a u góry i po lewej stronie widać jakąś wąską ramkę.

    Hmm... ta część u góry ma 3 linie wysokości i to ona bez wątpienia jest przyczyną zaburzenia parzystości/ nieparzystości wierszy właściwego obrazka.

    Jeśli testowo zamienię te parametry, to pomijając ramkę jest w miarę dobrze, przy czym kolory hiresu muszą być mniej więcej takie same na całym obrazku, bo jeśli część jest zbyt jasna, to te ciemniejsze są pomijane. No ale to drobiazg.

    Co dalej można zrobić z takim przechwyconym obrazkiem?
    • 27: CommentAuthorilmenit
    • CommentTime16 Jul 2013 zmieniony
     
    Kilka uwag.
    1. PicMixer działa aktualnie tylko z 320x240.
    2. Wąska ramka jest przez to, że w oknie edycji obrazka dodaje ją Paint. Dlatego proponowałem wykorzystać do tego miniaturkę. Dodatkowo będzie można wtedy powiększać i przesuwać główne okno edycji.
    3. Odnośnie kolorów hiresu - w Waszej grze zmieniają się w różnych liniach? Aktualnie jest próg - jeżeli jasność piksela jest większa niż 50%, to pixel jest biały. Jeżeli mniej, to czarny. Parametrem można ustawić jasność maksymalną. Dodam też, aby można było ustawić też kolor tła na inny niż czarny.
    4. Co można zrobić z tak przechwyconym obrazkiem to już zależy od programisty :) Ten tool tworzy wynikowo obrazek out.bmp oraz plik pic.bin zawierający pamięć ekranu dla tak przeplatanego trybu (uwaga: nie testowałem pamięci dla trybu 8, ale powinno być chyba OK).
    • 28: CommentAuthorilmenit
    • CommentTime16 Jul 2013
     
    "For better mix of graphics 8 and 9, use floyd steinberg dither on Graphics 8." - that would help with direct conversion. For Adam I prepared a version that should allow pixel-perfect editing.
    • 29:
       
      CommentAuthorxeen
    • CommentTime16 Jul 2013 zmieniony
     
    wow!! dzięki.
    za darmo od razu sprawdziłęm mix 15 i 8 ;)
    nawet, nawet - aczkowliek potencjalnie najmniej kosztuje, ale efekt wstępnie gorszy od poprzednich.







    • 30:
       
      CommentAuthorxeen
    • CommentTime16 Jul 2013
     
    jak użyć Floyda?
    które parametry za to odpowiadają - sorki, coś nie mogę znaleźć opisu....
    • 31: CommentAuthorilmenit
    • CommentTime16 Jul 2013
     
    W PicMixerze floyda nie ma.
    W tej wersji (v4) zrobiłem błąd w gr.10 - jest błędne przesunięcie o 2 piksele. Poprawię to wieczorem.
    • 32: CommentAuthorAdam
    • CommentTime16 Jul 2013
     
    Dzięki za odpowiedź, jeszcze potestuję.

    "jeżeli jasność piksela jest większa niż 50%, to pixel jest biały. Jeżeli mnie, to czarny"

    Podstawowy problem jest tutaj taki, że przy technice użytej w Assembloids XE piksele hiresowe muszą być w miarę ciemne, żeby efekt podświetlania PMG dobrze zadziałał (zerknij na niebieską twarz pokazaną w powiększeniu w zapowiedzi gry). No i efekt przepuszczenia przez PicMixer jest taki, że hires znika (poza miejscami, gdzie użyto PMG do uzyskania jasnych kolorów). Może jakiś parametr do ustawiania progu czerń/biel? :)
    • 33: CommentAuthorilmenit
    • CommentTime16 Jul 2013
     
    Czy cała grafika w hires jest podświetlona duszkiem, czy są jakieś obszary bez podświetlenia?
    Obrazek na stronie zapowiedzi był przeskalowany z filtrem rozmywającym, więc trudniej się to analizuje.
    • 34: CommentAuthorAdam
    • CommentTime16 Jul 2013 zmieniony
     
    Grafika hires podświetlana jest fragmentami, w zależności od potrzeb (twarze, napisy SCORE czy FACE) i na tyle, na ile PMG pozwala :) Ale generalnie na głównym panelu gry prawie wszędzie mamy w hiresie szary kolor $04 i taki poziom jasności by mnie głównie interesował.

    > Obrazek na stronie zapowiedzi był przeskalowany z filtrem rozmywającym
    Chodzi Ci o screenshot z "FACE" na środku? Ja tam nie widzę filtra rozmywającego...
    • 35: CommentAuthorilmenit
    • CommentTime16 Jul 2013
     
    Chodzi o ten:

    Jeżeli nie ma filtra, to jak ten obrazek może mieć "Number of unique colors: 3600"? :)
    • 36: CommentAuthorAdam
    • CommentTime16 Jul 2013
     
    Tak jak pisałem, teraz będę głównie pracował nad panelem (twarze można uznać za gotowe w 99%). Chodziło mi o obrabianie jego fragmentów, więc jeśli chciałbyś zerknąć jak wygląda hires w Assembloids XE, to sugeruję obejrzenie zrzutu ekranu z gry.
    A ten obrazek twarzy trzeba będzie podmienić na taki bez filtra tak w ogóle.
    • 37:
       
      CommentAuthorxeen
    • CommentTime16 Jul 2013
     
    320x240


    wiem, marudzę, ale realnie przyda się obsługa trybu "wąskiego" - 32 bajty w linii.
    • 38: CommentAuthorilmenit
    • CommentTime16 Jul 2013
     
    Nie powinno być problemu z dodaniem zmiennej szerokości obrazka wejściowego.
    Btw, w jaki sposób do tej pory edytowaliście grafikę? :)
    • 39: CommentAuthorAdam
    • CommentTime16 Jul 2013
     
    Głównie MS Paint + G2F :) Kilka zdań na ten temat napisałem w wątku pod zapowiedzią na głównej stronie.
    • 40: CommentAuthorilmenit
    • CommentTime16 Jul 2013 zmieniony
     
    Dodałem właściwości, o które prosiliście. Zmienił się trochę sposób przekazywania parametrów w command line. Opis w help.txt. Obsługa gr.10 wciąż nie poprawiona.
    Znacznie prostsze by było, gdybym mógł dostać do testów obrazek z gry bez nałożonych duszków oraz taki z nałożonymi duszkami.
    Jak tak dalej pójdzie, to przez ten edytor nie wyrobię się z moją grą na Abbuc... ;)
    • 41: CommentAuthorAdam
    • CommentTime17 Jul 2013
     
    Dzięki, zajrzę do pliku jutro.
    Wracaj, chłopie, do swojej gry :)
    • 42: CommentAuthorAdam
    • CommentTime18 Jul 2013
     
    Muszę jeszcze dokładniej potestować PicMixera, ale chyba będzie przydatny przy Assembloids. W razie większych problemów dam znać, dziękuję za pomoc.
    • 43: CommentAuthorilmenit
    • CommentTime18 Jul 2013 zmieniony
     
    To się cieszę :-)
    PicMixer jest na tyle banalny, że wprowadzanie do niego poprawek i ulepszeń nie zabiera dużo czasu. Zatem jakby co - piszczcie.
    Myślałem np. o możliwości zadefiniowania maski duszków (jako drugiego obrazka) i nanoszenia jej na obrazek wynikowy. Czy byłoby to przydatne? Jeżeli tak, to ponownie bym prosił o zrzut ekranu z duszkami, bez i samej maski duszków.
    • 44: CommentAuthorAdam
    • CommentTime18 Jul 2013
     
    No ale nie mam jak zrobić w łatwy sposób zrzutu ekranu bez duszków i maski duszków (chyba że istnieją jakieś opcje w emulatorze).
    • 45: CommentAuthorilmenit
    • CommentTime18 Jul 2013
     
    To podeślij xexa - obiecuję nieupubliczniać.
    • 46: CommentAuthorbartcom
    • CommentTime23 Sep 2013
     
    Hmmm. Dlaczego mi to nie działa?
    Win Xp. Rozpakowałem na C. Klikam w PicMixer, batch.bat - nic. Lub interactive.bat - wowóczas pokazuje się okno z wielkimi literami i nic.. Q to quit... Hmmm...
    Jak to uruchomić?
    • 47: CommentAuthorilmenit
    • CommentTime23 Sep 2013
     
    Batch.bat - nie generuje pliku wynikowego? Nazwa powinna być widoczna w pliku .bat
    Interactive - działa jak powinno. Uruchom np. Painta, najedź tam myszką i przytrzymaj klawisz shift.
    • 48: CommentAuthorbartcom
    • CommentTime23 Sep 2013
     
    Aha! Mam.
    Tylko kolory uciekły?
    Co robię nie tak?
    tzn. przed "shift" kolory w PMix są, potem brak?
    po drugie: dobra, zapisujemy ten pic w windows.
    jak po przedziergać na jakiąś formę a8? przez g2f, RastCov? ale można zrobić od razu w G2F? Co więc jest w pMix? 7+15? dzieki za wyrozumiałość.
    • 49: CommentAuthorilmenit
    • CommentTime24 Sep 2013
     
    Po "shift" program w czase rzeczywistym konwertuje do wybranego mixu trybów graficznych. Wygenerowany plik .bin zawiera zrzut pamięci ekranu dla wybranych trybów. Aby to wyświetlić potrzebny jest programista, który przygotuje odpowiednią display listę.
    Nie wiem, czy można to jakoś prosto wczytać do G2F. Może chłopaki od "Asembloids XE" wiedzą jak to zrobić.
    • 50: CommentAuthorAdam
    • CommentTime24 Sep 2013
     
    @bartcom
    Generalnie PicMixer obsługuje wiele kombinacji trybów (nie tylko 7+15, o którym to przypadku piszesz) i do pliku .bin zapisuje obrazek skonwertowany do postaci binarnej - bardzo przydatnej dla programisty, ale do jej ręcznej, przyjaznej użytkownikowi obróbki nie istnieje chyba dobre narzędzie. I tyle.

    Wygenerowany z PicMixera plik .bin można co prawda przemianować na plik .mic i w tej postaci wczytać do Graph2Fonta - przy czym trzeba zadbać o dopasowanie wymiarów obrazka (a w zasadzie jego szerokości) do jednej z szerokości akceptowalnych przez G2F (opcje Screen: narrow/ normal/ wide, czyli 32/ 40/ 48 bajtów), inaczej na ekranie wyjdzie zupełna sieczka.

    Tyle że już w samym Graph2Foncie nie mamy możliwości zmiany trybu co druga linię (najwyżej co 8 linii) - w związku z tym jakakolwiek edycja jest utrudniona, bo nawet gdy ustawimy sobie odpowiednie kolory dla jednego z dwóch trybów (występującego w co drugiej linii), to w pozostałych liniach będą widoczne pozorne "śmieci".

    Tak więc wczytać można, ale niewiele z tego wynika - dopóki nie napiszemy sobie programiku asemblerowego, który będzie odpowiednio ustawiał kolory i zmieniał tryby na podstawie pliku binarnego.

    W sumie funkcjonalność wyprodukowania od razu pliczku XEX przez PicMixera byłaby bardzo mile widziana w kolejnych wersjach :) No chyba, że Tebe się ugnie i zrobi w Graph2Foncie obsługę ustawiania dla danego wiersza znaków mieszania trybów co drugą linię...