kategorie: ANSI C, Asembler
[#61] Re: Kilka technik dla Amiga OS

@Don_Adan, post #60

Po prostu blokuję warstwę, przechodzę po liście prostokątów i rysuję swoją funkcją pomiędzy wywołaniem OwnBlitter() i DisownBlitter(). Tak się prawidłowo uzyskuje dostęp do Blittera z systemu.

Z łatek korzystam sporadycznie, choć czasami w prosty sposób można coś poprawić (np. animację samych okien) - tam gdzie struktury są prywatne.

Moje demo działa już na Amidze 1200 z AGA, OS 3.1 (testowane na 68030). Powinno działać też na Amidze 600 z ECS itd. Nie wymaga karty graficznej do działania, a oferuje ciekawe efekty. To powinien być atut.

Ostatnia aktualizacja: 19.12.2024 20:49:50 przez Hexmage960
[#62] Re: Kilka technik dla Amiga OS

@asman, post #51

Hexmage960 Nie obraź się ale dla mnie pisanie pod system to właśnie takie pisanie że ktoś kto nie ma karty graficznej to sobie odpali i u niego działa. I z drugiej strony ktoś kto ma taką kartę graficzną też sobie odpali i też będzie u niego działało.
Nawiązując do tego, najwydajniejszym, jak się wydaje, sposobem w pełni systemowego skorzystania z blittera jest podsystem GELs. Niestety nie udało mi się na razie dowiedzieć na ile P96 ma zrobioną jego emulację, z luźnymi sugestiami, że raczej słabo, albo wręcz wcale. Trzeba będzie sprawdzić samemu.
1
[#63] Re: Kilka technik dla Amiga OS

@Krashan, post #62

W zasadzie wszystkie funkcje z graphics.library stanowią sposób na systemowe korzystanie z Blittera.

GELSy są super, korzystałem. Ale nie widzę nic złego w usprawnianiu tych funkcji samodzielnie.

W pojedynczym buforowaniu nawet najszybsza funkcja graficzna może być wykonywana kiedy promień wizji rysuje obraz - i nie wyglądać atrakcyjnie.

Podwójne buforowanie rozwiązuje ten problem. GELsy z tym współpracują, ale niestety inne systemowe funkcje rysujące już nie zawsze i trzeba wykonywać je ręcznie.

Ja jednak zamarzyłem sobie by mieć gadżety systemowe i inne rzeczy na jednym ekranie.

OK, zatem zrobiłem już to w pełni systemowo. Udało się to uruchomić na Workbenchu dodając bufor ekranu, jak również na osobnym ekranie. Nie korzystam z rejestrów. Poniższy napis jest przesuwany, podobnie jak w pierwszym demku ta sceneria.

Wrzucę kod wykonywalny jak będzie to ciekawsze, a mam pewne pomysły.

Procedura jest następująca:

- Czekaj aż możesz rysować (SafeMessage),
- Rysuj w okienka przycinając do zmienionego obszaru,
- Skopiuj pozostałe obszary, które się poprzednio zmieniły, a teraz nie,
- Czekaj aż klatka zostanie wyświetlona (DispMessage),
- Zmień bufor ekranu.



Ostatnia aktualizacja: 21.12.2024 11:09:16 przez Hexmage960
[#64] Re: Kilka technik dla Amiga OS

@Hexmage960, post #63

Hej,

Kolejnego demka prezentującego techniki nie udało mi się jeszcze przygotować. Ale wrzucam ilustrację, którą narysowałem na Amidze w DPaint.

Mam nadzieję, że wyszło dość estetycznie.

Chciałbym niniejszym serdecznie życzyć wszystkim Wesołych Świąt Bożego Narodzenia.

Oczekujcie dokończonych projektów oraz nowych prac ode mnie. Moje techniki programistyczne pozwalają na wiele ciekawych rzeczy. A z miesiąca na miesiąc odnotowuję postęp w działaniu.

Najbardziej aktualnie preferowałbym dokończyć grę komnatową z Komandosami według mojego dawnego pomysłu, o którym niedawno wspominałem, albo Zaczarowaną Kopalnię, do której silnik działający na obiektach już jest, ale gra jest bardzo wymagająca jeśli chodzi o wydajność.

Stosuję jednak triki, które pozwalają na rysowanie wielu elementów i pozwalają na Amidze robić złożone animacje.

Poniżej zrzut z ekranu systemowego na Amidze 1200. W jednym z okienek widnieje moja ilustracja.

Pozdrawiam serdecznie.

7
[#65] Re: Kilka technik dla Amiga OS

@Hexmage960, post #64

kolego, ty z tą estetyką to poważnie,
czy świątecznie się nabijasz ?
trochę się boje zareagować.
1
[#66] Re: Kilka technik dla Amiga OS

@habit, post #65

Jeżeli obrazek Ci się nie podoba, to czy mógłbyś wskazać na minusy, czyli elementy które według Ciebie warto by poprawić oraz na ewentualne plusy?

Podchodzę do kwestii mojego malowania jak najbardziej poważnie i chciałbym się rozwijać.

Ten obrazek to jest duży format, a taki wychodził mi najgorzej. Sprawdzam się przede wszystkim w małym formacie.

Przykładem mojej ostatniej grafiki w małym formacie jest gra o tytule Zaczarowana Kopalnia, której grywalne demo niedawno wypuściłem.

Ja odnotowałem postęp podczas malowania powyższego rysunku. Ale dostrzegłem też rzeczy, które nadal kuleją. Rysując elementy obrazka nie podchodzę odpowiednio należycie do ich przygotowania.

Podczas przygotowania tego obrazka korzystam z różnych funkcji Deluxe Painta 5, ale nadal nie używam pędzli (Brushes), które chyba są kluczem do sukcesu. Nie korzystam też z wzorców (Pattern).

Używam szablonów (Stencil), zakresów kolorów (Ranges) oraz rozpylacza (Airbrush), ale w sposób niechlujny. Korzystam z palety w formie RGB i HSV.

Być może problemem jest też brak całkowitego pomysłu na obrazek oraz chaotyczne rozmieszczenie elementów. Jednak nabiera to według mnie kształtów.

Obrazek korzysta z 29 kolorów.
[#67] Re: Kilka technik dla Amiga OS

@Hexmage960, post #66

Jesli chcesz, moge Ci wskazac w ktorych miejscach popelniasz bledy.
potrzebuje wyzszej rozdzielczosci i moge nadrysowac Ci zeby zrozumial
na co nalezy zwracac uwage przy kompozycji.
pozdrowienia, i mádrze e sié nie obraasz, to wana cecha.
[#68] Re: Kilka technik dla Amiga OS

@habit, post #67

Proszę, oto rysunek powiększony 2-krotnie:

Rozpocząłem tę dyskusję zamieszczając rysunek, ale głównie chodziło mi o prezentację pracy i życzenia świąteczne. Przepraszam zatem za off-topic w dziale o programowaniu.

Jeśli masz jakieś rady co do kompozycji (wady i zalety), to chętnie wysłucham. Mam tylko nadzieję, że oprócz zastrzeżeń znajdzie kolega również pozytywy.

Tak jak napisałem, wrzuciłem pracę która prezentuje jako-taki poziom. Uznałem że nadaje się na wrzucenie. Zazwyczaj moje obrazy w dużym formacie nie nadawały się na to.

Obraz inspirowany jest troszkę grą Worms i zawiera akcenty Świąteczne. Zdaję sobie sprawę z przeciętnego poziomu mojej pracy. Staram się rysować tak jak potrafię i umieszczam nie tak często wyniki, które uzyskałem na danym etapie.



Ostatnia aktualizacja: 23.12.2024 22:17:07 przez Hexmage960
[#69] Re: Kilka technik dla Amiga OS

@Hexmage960, post #68

Oj widzę, że robisz konkurs na najlepszą grafikę wystawioną w tym roku na PPA. No cóż masz szansę wygrać. W takim razie wystawiam nie dokończoną pracę nad grą. Wiem, że słabe i słyszę śmiech na sali. Najważniejsze, że ręczna robota. Oprócz samochodu rzecz jasna, bo nie mam czasu. Reszta to istny pixel-art, powielanie tego samego koloru prawie w niskończoność z drobnymi wyjątkami.

1
[#70] Re: Kilka technik dla Amiga OS

@koczis, post #69

Oj widzę, że robisz konkurs na najlepszą grafikę wystawioną w tym roku na PPA.

Konkursu nie robię. Ostatni mój konkurs na PPA to był na przygodową grę tekstową. Mój rysunek to tylko i wyłącznie tzw. fan-art. Chciałem podzielić się efektem pracy jako grafika.

Natomiast jako programista radzę sobie też coraz lepiej.

W takim razie wystawiam nie dokończoną pracę nad grą.

Masz gdzieś do pobrania grywalne demo swojej gry? Bo jeśli ta ilustracja to praca nad grą, to źle podchodzisz do tworzenia gry. Chyba, że to ręcznie rysowany koncept graficzny.
[#71] Re: Kilka technik dla Amiga OS

@Hexmage960, post #70

Masz gdzieś do pobrania grywalne demo swojej gry? Bo jeśli ta ilustracja to praca nad grą, to źle podchodzisz do tworzenia gry. Chyba, że to ręcznie rysowany koncept graficzny.

Tak, jest to koncept nad prostą gierką typu ścigałki w perspektywie. Powiedzmy, że byłoby to zbliżone do tego
Należało by jeszcze dorobić przeciwników i różne niespodzianki (spowalniacze) na drodze, wyważyć rozgrywkę, dać trzy etapy i mini gierka gotowa. Taka na 5 minut za złotówkę.

Ostatnia aktualizacja: 24.12.2024 15:44:46 przez koczis
[#72] Re: Kilka technik dla Amiga OS

@Hexmage960, post #68

To lepiej grafikę zostaw tym, co się na niej znają. Zajmij się programowaniem na tym się znasz.
[#73] Re: Kilka technik dla Amiga OS

@Blady, post #72

Ja lubię rysowanie, tylko podchodzę do tego strasznie niedbale. Myślę, że jak wypracuję u siebie spokój i dbałość, to w przeciągu krótkiego czasu jestem w stanie poprawić znacząco swój poziom.
3
[#74] Re: Kilka technik dla Amiga OS

@Hexmage960, post #73

Robert, programujesz profesjonalnie i zasługujesz na pomoc profesjonalnego grafika. Oczywiście gusta są różne, nie mówię że coś jest brzydkie czy ładne, ale porównaj poziom Twojej grafiki z poziomem Twojego kodowania.
[#75] Re: Kilka technik dla Amiga OS

@Hexmage960, post #73

Ja lubię rysowanie

I to jest najważniejsze. Ja nie mam czasu i lubię się pobawić. Dlatego trochę zmieniłem mój koncept gry.

2
[#76] Re: Kilka technik dla Amiga OS

@koczis, post #75

Zawsze marzyłem o napisaniu takiej gry niestety zbyt wysokie progi... Tobie życzę powodzenia i trzymam mocno kciuki.
[#77] Re: Kilka technik dla Amiga OS

@Hexmage960, post #68

Akcentów świątecznych to tu nie widzę (bałwan? prezent?), ale grafika bardzo fajna. Troszkę klimacik wormsów jest!

Ostatnia aktualizacja: 25.12.2024 16:59:00 przez amikoksu
[#78] Re: Kilka technik dla Amiga OS

@tukinem, post #76

To zacznij od konwersji :)

link

Wyglada na calkiem niezla scigalke.
Zrodla w ASM 68k sa dostepne.
[#79] Re: Kilka technik dla Amiga OS

@Don_Adan, post #78

Bardzo śmieszne :P to nie na moją głowę :) Jeszcze samo migotanie kolorów zrobię, ale rysowanie zakrętów, podjazdów, zjazdów to już mnie przerasta.

W Blitz Basic 2 też powstaje gra:


ale ja co najwyżej zrobiłbym takie:
[#80] Re: Kilka technik dla Amiga OS

@tukinem, post #76

Zawsze marzyłem o napisaniu takiej gry niestety zbyt wysokie progi...

Nie zaszkodzi popróbować.
Tobie życzę powodzenia i trzymam mocno kciuki.

Dzięki wielkie. Gra jest dość prosta i dla średnio ogarniętego programistę z najwyższej półki to by były trzy dni roboty, ale mnie to zajmie wieczność, albo i dłużej. Najpierw muszę wykończyć lenia, który przebywa w moim ciele. Jak pozbędę się tego lokatora to jest szansa na postęp.
[#81] Re: Kilka technik dla Amiga OS

@koczis, post #80

Oj próby były wielokrotne. Nawet wektorowo próbowałem i to całkiem całkiem wyszło, ale co z tego, skoro gdy przyjdzie zrobić zakręt to odpada. Tu nie zrobi się bobami, tylko trzeba sobie to renderować raczej, a to nie moja bajka już. Przy samej jeździe na wprost mogę co najwyżej sobie napisać "drag racing".
1
[#82] Re: Kilka technik dla Amiga OS

@koczis, post #75

Życzę Wam, nie tylko z okazji Świąt, spełnienia najskrytszych marzeń. A więc również napisania gry wyścigowej.

Koncept Koczisa wygląda dobrze - widzę świetne oddanie perspektywy w każdym detalu.

Ja kontynuuję eksperymenty z Intuition (Amigowy graficzny interfejs użytkownika) w podwójnym buforowaniu. Są efekty.

Najtrudniejszy do zrobienia jest suwak, a niestety oryginalne suwaki nie współpracują z podwójnym buforowaniem.

Robię to w taki sposób, że piszę - zgodnie z Technikami dla Amiga OS które opisywałem w tym wątku - funkcję, która rysuje dane okno lub gadżet w całości, a następnie przycinam do zmienionego obszaru. Funkcję wywołuję raz na klatkę animacji a następnie kopiuję resztę.

Tak to się robi w Amiga OS, ale też na systemach PC: WinAPI czy nawet na systemie Android, gdzie nosi to nazwę "Invalidate". W Amiga OS to "DamageList". Jest to obszar, który trzeba odrysować.

Ta technika upraszcza rysowanie wszystkich okienek i tworzenie efektu animacji.

Dzięki mojej technice, możemy robić przesuwaną, animowaną mapę i postacie.

Podzielę się rezultatem jak przygotuję następne demo moich technik - albo wreszcie sfinalizuję projekt.

Ostatnia aktualizacja: 26.12.2024 11:26:28 przez Hexmage960
[#83] Re: Kilka technik dla Amiga OS

@koczis, post #80

(...)ale mnie to zajmie wieczność, albo i dłużej. Najpierw muszę wykończyć lenia, który przebywa w moim ciele. Jak pozbędę się tego lokatora to jest szansa na postęp.


Tak z ciekawości, w jakim języku programowania zajmie tyle czasu? Bo jak już masz grafikę, to... ;)
[#84] Re: Kilka technik dla Amiga OS

@karolb, post #83

Tak z ciekawości, w jakim języku programowania zajmie tyle czasu? Bo jak już masz grafikę, to... ;)

W żadnym. Wystarczy wziąć się do programowania.
[#85] Re: Kilka technik dla Amiga OS

@Hexmage960, post #68

hej, tutaj masz ciekawy poradnik o trycha mieszania kolorow i nakladania masek sencil.
https://youtu.be/8VwDGrDj7ww?t=901

najlepiej to obejrzyj cały materiał
powodzenia
[#86] Re: Kilka technik dla Amiga OS

@habit, post #85

Dzięki za link do tego poradnika.

Widzę, że w tym momencie filmu autor przedstawia użycia wypełnienia "Tint".

W Deluxe Paint IV i V ta opcja została została przeniesiona do menu "Effects->Process". Przy okazji teraz przeczytałem w instrukcji i w końcu zrozumiałem działanie tego efektu.

- Otóż "Process->Tint" nanosi wyłącznie składowe barwy (Hue) i nasycenia (Saturation) na obraz. Jasność pozostaje nietknięta.

- "Process->Hue" nanosi wyłącznie barwę.

- "Process->Value" nanosi wyłącznie jasność (Value/Brightness).

Zazwyczaj brakowało mi solidnej wiedzy nt. działania tych efektów i korzystałem z nich losowo/chaotycznie.

Akurat Stencil wiem jak działa. Zabezpiecza on wybrane obszary obrazka przed zamazaniem. Ten obszar możemy wyznaczyć na wiele sposobów (mogą go tworzyć wybrane kolory lub dowolnie wybrane piksele na obrazku).

Ten obszar pozostaje taki sam, nawet jak zmienimy kolory na obrazku, chyba że go przebudujemy na nowo (Make).

Po utworzeniu Stencila możemy go zapisać na dysku, tak jak wszystkie inne obiekty (Brushe itp.).
[#87] Re: Kilka technik dla Amiga OS

@Hexmage960, post #86

ja wiele lat korzystałem z Dpaint . bardzo dobrą funkcją są brushe, zapisywane na dysku, na pozniej. brushe ktore mozna multiplikować albo umieszczac dowolnie.
ponadto, taki Brillance i DigiView czy DigiPaint chyba bardziej, ma szersze opcje mieszania trybow.
pamietaj o triku rownież, że wytarzy oszukiwać mózg: dawać niektóre nieco rozmyte szczegóły i wstawiać gdzieniegdzie wysotrzenia, żeby wszystko sprawiało większe zagęszczeniu grafik o szczegóły.
[#88] Re: Kilka technik dla Amiga OS

@koczis, post #84

W żadnym.


Uuu, to daleka droga przed autorem gry ;)
1
[#89] Re: Kilka technik dla Amiga OS

@karolb, post #88

Pożyjemy zobaczymy. Na razie pracuję nad fabułą. A jak wiadomo to jest najdłuższy element gry w realizacji.
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