[#1]
Wieści z mojej developerki
Robert-Minimat-Szacki
autor wątku
Hej, dzisiaj opublikuję pewne wiadomości z placu boju, czyli Workbencha mojej Amigi ;) Samopoczucie mi dopisuje także i humor lepszy, no i jestem rad że mogę z Wami podzielić się jakimiś informacjami. Mam nadzieję, że fatalna passa z niedotrzymywaniem terminów i niedokończonymi projektami niedługo minie, wszystko na to wskazuje. Bo mogę Was zapewnić, że nie wynika to z lenistwa, ale braku organizacji i systematyki w mojej pracy, nad którymi to rzeczami pracuję od niedawna.
Organizacja i systematyka to dwa podobne pojęcia. Jeśli mowa o zorganizowanej i systematycznej pracy oznacza to pracę, w której zadania są odpowiednio zhierarchizowane, ułożone w spójny plan. Dotychczas brakowało mi takiego podziału pracy na zadania, wszystko wykonywałem według bieżących potrzeb, przez co program często stawał się chaotyczny i niespójny. Budowałem program tak jak buduje się w Basicu, krok po kroku, zamiast układać algorytmy. I dlatego często zarzucałem bieżące wykonanie i zabierałem się za przepisywanie na czysto, bądź zupełne napisanie od nowa.
Czas położyć kres temu problemowi. Odpowiednie podejście do programowania już przy pisaniu edytora do Benefactora dało znać o sobie. Podział programu na zadania rozwiązał problem napisania tak dużej aplikacji. Zatem wróćmy do naszych projektów. Jak napisać "Arcymaga" dobrze? Ano należy podzielić program na komponenty składowe najlepiej tak, by najpierw powstały niezbędne niskopoziomowe elementy programu, a dopiero następnie sama idea gry. Oznacza to, że silniczek udostępni mi możliwość stworzenia gry według różnych pomysłów. Zatem pomysł na grę odchodzi troszkę na drugi plan, a skupiam się póki co na silniku, który uciągnie nam przeróżne pomysły na grę.
Więc oto komponenty, które powinny zostać napisane:
1. Obsługa obrazu w pliku display.c/display.s
2. Obsługa własnych, kolorowych czcionek w pliku text.c/text.s
3. Obsługa bobów w pliku bobs.c/bobs.s
4. Obsługa dźwięków w pliku soundfx.c/soundfx.s
5. Obsługa muzyki w pliku music.c/music.s
6. Obsługa kontrolera w pliku controller.c/controller.s
7. Obsługa obrazków w pliku images.c/images.s
Powyższe elementy są niezbędnym składnikiem naszego silniczka 2D z bobami. Pliki mogą być albo w języku C (#?.c), albo w asemblerze (#?.s) w zależności od potrzeb. Teraz dopiero zabieramy się za logikę gry, która również może być umieszczona w kilku plikach. Teraz ważna rzecz - jaki pomysł na grę wybieramy - a więc ustalam w tym momencie, że nasza gra będzie grą typu RPG, dosyć statyczną pod względem animowanych obiektów - sądzę, że to dobre rozwiązanie ponieważ gra RPG może być dosyć łatwo rozbudowywana i ciekawa nawet gdy do dyspozycji jest kilka komnat. Poza tym obraz będzie na tyle statyczny, że na pewno uniknie się problemu z szybkością rozgrywki. Zatem do gry RPG dodajemy takie oto pliki:
8. Obsługa mapy z klocków w pliku map.c/map.s
9. Obsługa obiektów (stworków, przedmiotów, rzeczy) na mapie w pliku objects.c/objects.s
10. Główna pętla rozgrywki w pliku engine.c/engine.s
11. Inicjacja i zwolnienie zasobów w pliku main.c/main.s
Zatem tak ustalam plan prac i postaram się go systematycznie wykonywać w najbliższym czasie i Was informować o postępach. Spróbuję napisać nową grę na Amigę z gatunku RPG.