[#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.