Próbuję rozgryźć podstawy tworzenia gier na platformę C64 od wersji BASIC i mógłbym skorzystać z porady na temat czegoś bardzo podstawowego, ale ważnego: co to właściwie jest na ekranie i jak go narysować?
Spójrz na Katakis / Denaris :
Na ekranie jest co najmniej 9 różnych rzeczy:
- Pasek wyników z różnymi czcionkami
- Sam statek
- Satelita przymocowany do statku, odłączany
- Pociski broni wtórnej
- Pociski pierwotnej broni
- Ruchome obiekty (mogą być okrętami wroga)
- Pasek stanu zawierający obraz statku, liczbę żyć i trzy sekcje, które mogą wypełnić
- Główny pasek ładowania broni może wypełnić się do końca
- Przewijane pole gwiazd w tle
- (nie są ponumerowane na ekranie) Stałe obiekty, takie jak skały lub metalowe ściany, które są częścią tła
C64 obsługuje tylko 8 duszków na poziomą linię skanowania, więc nie sądzę, że wszystko na środku ekranu może być duszkiem? Zakładałbym, że wszystko, co wymaga kolizji, byłoby duszkiem (ponieważ mogę uzyskać wykrywanie kolizji ze sprzętem), ale nawet wtedy szybko osiągnąłem limit 8 duszków. Ponadto moja broń może wystrzelić więcej niż jeden pocisk - mój statek, satelita i 6 pocisków byłyby już 8 duszkami w rzędzie (spójrz na około 50 sekund filmu).
Z którego trybu graficznego skorzysta taka gra? Podręcznik programowania zawiera tryb mapy bitów, który zasadniczo modyfikuje pamięć ekranu. Czy to jest tryb, w którym zwykle powinienem pracować? Jak skomponuję wszystkie elementy inne niż duszki, aby uzyskać je na ekranie?
Wiele rzeczy na pasku wyników i stanu jest statycznych („Obszar: 01” lub „ramka”), więc chyba zapełnię je tylko raz, gdy rozpocznie się poziom. Rzeczy wymagające aktualizacji - wynik, paski ładowania u dołu - zostałyby zaktualizowane poprzez wypełnienie pamięci ekranu kolorem czarnym, a następnie rysowanie nowego wyniku w każdej klatce?
Czy też muszę narysować cały ekran na każdej klatce?
źródło
Jakiś czas temu przeczytałem artykuł w niemieckim magazynie C64. Kule to postacie, które działają jak duszki, jak ktoś już wskazał. Statki i wrogowie są duszkami.
Poziomy również składają się z postaci, ale z pewnym zwrotem. Ponieważ poziomy są tak ogromne, a pamięć cenna, Trenz napisał własny zestaw narzędzi do grupowania postaci w moduły.
Dzięki temu może korzystać z większych modułów i je komponować. Użyłby również pewnych modułów-łatek, aby uzyskać skrzyżowanie modułów ładnie i czysto.
Podsumowując, jest to rodzaj kompresji, w której poziomy są opisywane jako bloki konstrukcyjne zamiast char przez char.
Można również zauważyć, że w Katakis niektóre poziomy mają tło paralaksy.
Jest to tworzone przez wypełnienie tła, głównie złożonego z znaków 2x2 lub 3x3, i animowanie go (przesuwanie bitów) w kierunku przewijania. Np. Poziom przewija się o 2 piksele w lewo, wzór tła jest przewijany o 1 piksel w prawo, stąd wydaje się, że przewija się go wolniej.
Mam nadzieję, że to pomaga
Jeszcze jedną rzecz, którą możesz zobaczyć pojedynczych modułów i takie tutaj https://archive.org/details/64er_1989_10/page/n27 przewiń do strony 24
źródło