kategoria: Asembler
[#1] W czym pisać grę dla OCS/AGA?
Jest już kilka podobnych wątków, ale tutaj zamieszczam rzecz dosyć ciekawą, z której można wyciągnąć wnioski, dlaczego nadal nie mamy nowych gier dla Amigi:

Toniman - nowy uczestnik forum AmigaWorld.net przedstawiwszy się pisze taki oto tekst:

Thanks people, I am very happy to be here, Amiga is a very special machine for me and I wish to find an assembler coder to make group with me to make a new game for Amiga OCS.

I choose this plattform because is hard to make a game on OCS, but harder to make it for AGA.


Jest on grafikiem, para się grafiką do komercyjnych gier, miał Amigę w latach 90. i pisze taki tekst. Widać, że zna się na rzeczy, bo parafrazując jego słowa (dodałem też własny komentarz w nawiasach):

1. Gry dla Amigi pisało i pisze się w asemblerze (jest to wymóg architektury tego komputera, C jest głównie do programów użytkowych).
2. Gry dla OCS są trudne do napisania, a jeszcze bardziej na AGA (pewnie trudność wynikająca z wymagań estetyczno/jakościowych grafiki, muzyki).

Punkt drugi tłumaczy zresztą trochę, dlaczego nikomu nie chce się nowych gier na Amigę pisać. Punkt pierwszy zresztą pośrednio też.

Zastanawiałem się ostatnio jak projekt poprowadzić i chyba mam odpowiedź.
[#2] Re: W czym pisać grę dla OCS/AGA?

@Minniat, post #1

Przyjmijmy może w końcu, że po prostu nikt nie zarobi na takiej grze (a narobić trzeba się mocno)...ot co...
[#3] Re: W czym pisać grę dla OCS/AGA?

@Motyl, post #2

Rozumiem, choć jeśli wierzyć wynikom ankiety, to znajdą się chętni by zakupić grę z prawdziwego zdarzenia. Ciekawe jest to, że nikt nawet w ramach hobby się tym nie zajmie. Może ryzyko fiaska jest dosyć duże i myśli o pieniążkach też.
[#4] Re: W czym pisać grę dla OCS/AGA?

@Motyl, post #2

Przyjmijmy rowniez moze w koncu, ze Amiga nie jest juz tak atrakcyjna jak 20 lat temu, szczegolnie do pisania gier, gdzie mozliwosci wyboru platform jest obecnie bez liku

Sami Amigowcy zreszat traktuja Amige jako maszynke retro miedzy innymi do grania w stare niezapomniane tytuly sprzed 15 czy 20 lat (pomijam demoscene, bo piszemy o grach), ktore poprzeczke podniosly, niestety, ale bardzo wysoko. Zeby przebic sie przez retro i zostac zauwazonym to musi byc cos bardziej aktualnego np: realizacja czegos w stylu Angry Birds na A500 itp.. hity na czasie, w amigowym stylu, cokolwiek to znaczy OK.

Ostatnia aktualizacja: 06.11.2012 23:15:56 przez gx
[#5] Re: W czym pisać grę dla OCS/AGA?

@Minniat, post #3

Ryzyko fiaska jest ogromne, a pracy/nauki jest na pewno sporo. Zobaczymy wyniki ankiety i ile osób głosowało. Jak dla mnie AGA to nie problem (o ile procek będzie wystarczająco szybki), jednak dla grafika to większe wyzwanie (większe wymagania, wyżej poprzeczka).
[#6] Re: W czym pisać grę dla OCS/AGA?

@flops, post #5

jednak dla grafika to większe wyzwanie (większe wymagania, wyżej poprzeczka).


Jako grafik polemizowałbym z taką tezą. Zrobienie dobrej grafiki dla kości OCS w 32 kolorach to spore wyzwanie. Podczas, gdy dla kości AGA można praktycznie malować w truecolorze, zrzucając później grafę do 256 kolorów (+ retusz), to na OCS'ie trzeba się już wykazać sporą wiedzą na temat samego pikselowania, co dziś potrafi już niestety tylko garstka osób.
[#7] Re: W czym pisać grę dla OCS/AGA?

@slay, post #6

Absolutnie sie z tym zgadzam.
Im mniej kolorow do dyspozycji grafika, tym wieksze schody do pokonania.
Malo kto potrafi stworzyc atrakcyjna oprawe graficzna w 16 kolorach.

Mega Lo Mania, Ishar 1, Cannon Fodder, Swiv, Genesia, Chaos Engine wykorzystuja tylko 16 kolorow a bija na leb i szyje wiekszosc amigowych produkcji. Ale tu juz potrzeba eksperta od grafiki.
[#8] Re: W czym pisać grę dla OCS/AGA?

@slay, post #6

To ok, AGA nie jest problemem. I chyba pomimo wielu głosów, żeby robić grę na A500 z 1MB, to jednak nadal (jakbym kiedykolwiek coś miał robić w bardzo dalekiej przyszłości) to skłaniałbym się do configu z AGA i w razie potrzeby również jakaś prosta karta z 68030. Tak naprawdę jeżeli ktoś chce mieć A1200 to w dzisiejszych czasach raczej nie ma z tym problemu, a karty ACA nadal są produkowane. Na Allegro jest pełno A1200, jak się poszuka to w granicach 300pln się kupi. I może niedługo jeszcze będą fajne klony - http://www.fpgaarcade.com/ - za co trzymam kciuki. Pamiętam, że po wyjściu A1200, ludzie narzekali na brak gier wykorzystujących AGA, można zapełnić tą lukę. Pewnie też znajdzie się ktoś kto woli pisać na standardową A500
[#9] Re: W czym pisać grę dla OCS/AGA?

@Minniat, post #1

SzaryWilk byłby chętny do pomocy:

http://www.ppa.pl/forum/rzeznia/16439/poszukuje-chetnych-do-napisanie-krotkiej-gry
[#10] Re: W czym pisać grę dla OCS/AGA?

@Hubez, post #9

Hie hie..

I pomyslec, ze od 5 lat kolejno zapowiadane hiciory sie jeszcze nie wykluly.
No nic, poczekamy jeszcze z 5 i pewnie cos wyjdzie. Grunt to sie nie zalamywac ;)
[#11] Re: W czym pisać grę dla OCS/AGA?

@selur, post #7

Raczej 32 kolory.
Jeśli chodzi o Chaos Engine to rzeczywiście mówimy o ekspertach. W pozostałych produkcjach (mimo, że grafika czasem b. ładna - klimatyczna) to jednak jest to rzemiosło podległe projektowi. Bitmapowcy podchodzili do pracy nieco inaczej ;)

Teraz temat główny. Mimo, że bardzo lubię assembler 68k - to do pisania gry trzeba mieć naprawdę dobry powód by go użyć. Tak może być w przypadku specyficznych tricków, albo bardzo procesożernych procedur. Np. gierka oparta na komanczu, doom'y itp. Ale i tak łatwiej zaimplementować fragment kodu do proj. w języku wyższego poziomu. Nawet w Amosie można to skutecznie (dość) przeprowadzić. Nie wspominając o Blitzu który imho najlepiej (to co można w nim osiągnąć/łatwość opanowania, środowisko, dokumentacja) się do tego nadaje. Można w nim prawie tak łatwo i szybko jak przy zabawie w amosie uzyskać całkiem zaawansowany projekt, do tego system friendly, aga itd. No i można też ambitniejsze rzeczy rozwijać (łatwiej obiektowo pisać).

Ale oczywiście jak ktoś ma frajdę to pewnie :)
[#12] Re: W czym pisać grę dla OCS/AGA?

@jokov, post #11

Po pewnym czasie doszedłem do wniosku, że nie ma "złych" języków, może być tylko "złe" podejście do pisania. Generalnie w moim wypadku im język ma więcej możliwości i możliwych konstrukcji tym trudniej mi w nim pisać.

Przykładowo bardzo denerwowało mnie w języku C przy pisaniu gier to, że kod w krótkim czasie robił się za bardzo kaskadowy, co kończyło się przepisywaniem na czysto, bądź zupełnie od nowa. Tak się działo przy użyciu wielu zmiennych lokalnych, no ale unikania zmiennych globalnych zalecają wszystkie podręczniki. Użycia "goto" również, bo jest fatalne - niszczy konstrukcję i czytelność algorytmów. Z drugiej strony w dobrym stylu jest, by funkcje zajmowały góra jeden-dwa ekrany, przez co użycie konstrukcji innej niż kaskadowe nie wchodzi w grę.

Okazuje się, że można tego problemu uniknąć jak się nabywa doświadczenia w pisaniu. Można pogodzić wszystkie te rzeczy - używać zmiennych lokalnych, stylu kaskadowego i ograniczyć rozmiar funkcji. Na przykład wydzielać funkcje, które robią jakiś jednolity blok operacji i podawać odpowiednie parametry. Ważne jest dbanie o warunki PRE i POST, by program był mniej podatny na błędy.

Asembler jest również OK, w nim najlepiej pisać właśnie najbardziej "procesorożerne" operacje. W Amidze w wielozadaniowym środowisku procesor, jak i chipset jest naprawdę bardzo zajęty, dlatego warto wiedzieć jak pisać gry, by były szybkie. W języku C na przykład trzeba dbać o to, by często używane zmienne były w rejestrach, bo inaczej Asembler zrobi to lepiej. Często też trzeba przejąć choć część systemu dla własnych potrzeb, jeśli gra ma naprawdę wykorzystać moc maszyny.
[#13] Re: W czym pisać grę dla OCS/AGA?

@Hextreme-Attic, post #12

Ja z doświadczenia użytkownika, mam przeczucie że nikt nigdy nie napisał gry na maxa wykorzystującą amigowe bebechy. Nie piszę oczywiście o A500+1 Mb chip. Mało kto postawił sobie wyższy próg, bo się bał że nikt gry nie kupi. Teraz jest odwrotnie. Można wykorzystać więcej zasobów do napisania lepszej gry. Założenie > AGA/030-50MHz/64 mb ram. i można poszaleć...:P
[#14] Re: W czym pisać grę dla OCS/AGA?

@Wojox, post #13

Oczywiście. Gra na Amigę może być tak napisana, że w 50FPS będziemy mieli animację całego ekranu w 256 kolorach. Trzeba tylko dobrze wszystko zsynchronizować ;)
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