Czy istnieje nazwa tej techniki umieszczania płytek w rogu poziomu?

9

Bardzo powszechnym podejściem w rozwoju starych gier jest umieszczenie zestawu kafelków w rogu poziomu, aby użyć go jako odniesienia. Na przykład:

przykładowy poziom

Na tym poziomie programiści umieścili zestaw płytek w lewym górnym rogu.

Ale czy istnieje nazwa tej techniki? Piszę o tym instrukcję i chciałbym to nazwać.

Makabeusz
źródło

Odpowiedzi:

8

Nie wiem, czy istnieje jakaś nazwa, ale wydaje się, że jest to coś, co zrobiłbyś, aby zachować pamięć.

Po pierwsze, podstawowy kafelek ma bardzo niską rozdzielczość - zaledwie kilka pikseli. Ale po renderowaniu są powiększane 2x, 3x, 4x itd. I są znacznie bardziej „blokowe” na ekranie.

Następnie starsze gry będą miały blok pamięci przeznaczony do wyświetlania na ekranie - to, co znajduje się w tej pamięci, jest wyświetlane na ekranie. Pamiętaj, że pamięć jest bardzo napięta na starszych platformach, więc jako programista chcesz oszczędzać co najmniej.

Zamiast umieszczać kafelki w osobnej przestrzeni pamięci, po prostu włączasz je do pamięci ekranu, oszczędzając w ten sposób trochę. Artefaktem tego jest oczywiście to, że pojawiają się na ekranie.

Z punktu widzenia dostępu do pamięci, kod nie dba o to, czy pamięć, do której uzyskiwany jest dostęp, jest używana do pamięci ekranu lub do przechowywania zmiennych. Zasadniczo zarządzanie pamięcią w starszych grach było bardzo proste i dostępny był tylko jeden blok pamięci. Nie było GPU, więc nie ma pojęcia o oddzielnych procesorach i pamięci do programowania w porównaniu do wyświetlania na ekranie.

Aby zorientować się, jak ścisła pamięć może programować wcześniejsze gry, oto cytat z artykułu z 1983 r. O programowaniu komputerów Atari i VIC: „Ekran super hi-rozdzielczości Atari (i 16-kolorowe tryby GTIA) wykorzystuje prawie 8 000 BARAN." To wydaje się bardzo mało, ale pamiętaj, że komputer mógł mieć tylko 48 KB pamięci, z których wiele zostało zajęte przez inne rzeczy poza grą.

Tim Holt
źródło
Dziękuję za Twoją odpowiedź! Wiem, że ta technika była powszechna podczas opracowywania na starych konsolach. Czy wiesz, czy jest on obecnie wykorzystywany do tworzenia gier, skoro mamy teraz dużo pamięci?
Macabeus
3
@Mababeus nowoczesne gry robią podobne rzeczy z pamięcią wideo. Tak, jest o wiele więcej pamięci, a gry też są większe ... na PC. Istnieją nowoczesne gry na platformy mobilne / przenośne. Przydzielając całą pamięć, której będziesz potrzebować, upewnij się, że nie spowoduje to obniżenia wydajności w trakcie gry. Atlas tekstur jest nadal dobrym pomysłem, ponieważ zmiana tekstur ma swój koszt. Wiele gier przechowuje modele poza zasięgiem wzroku i przenosi je, gdy są potrzebne. W rzeczywistości niektóre układy cząstek działają w ten sposób.
Theraot
to nie ma sensu. Jeśli dane kafelków były przechowywane przed / obok danych mapy, nie pojawiałyby się jako dosłowny zestaw kafelków. Wyglądałby jak pęczek pozornie losowych kafelków zgodnie z kolorami pikseli w tych kafelkach. Np. Możesz zobaczyć dane VRAM podczas eksploracji pamięci w niektórych grach Mario (Super Mario Land 2 i Super Mario Bros 3), i wygląda to na kilka losowych płytek. Ponadto każdy rozsądny programista w tamtych czasach lepiej zoptymalizowałby mapy, nie byłoby ogromnych pustych obszarów.
Bálint
Zarówno komputery, o których wspomniałeś, jak i większość konsol dbały o to, gdzie zdefiniowałeś grafikę, ponieważ nie miały programowalnych potoków graficznych. Komputery nie miały nawet odpowiedniego systemu graficznego, te musiały być zdefiniowane jako znaki (w rzadkich przypadkach ustawianie pikseli było możliwe, ale bardzo powolne)
Bálint
Miałem Atari 800 w 1984 roku, ale minęło trochę czasu, odkąd go zaprogramowałem ...
Tim Holt
8

To paleta. To samo, co widzą niektórzy artyści robiąc kolory. Rysują grupę kilku głównych kolorów lub nawet gradient przechodzący między nimi dla łatwego dostępu. O wiele łatwiej jest użyć narzędzia wyboru, aby wybrać następny kolor, niż wejść w koło wyboru koloru, bawić się nim przez kilka minut i modlić się, aby pasowało do reszty obrazu.

To samo dotyczy kafelków, ponieważ większość edytorów kafelków to tylko bardzo zaawansowane programy pixelart, ale z kafelkami zamiast kolorów.

Bálint
źródło
Mógłbym powiedzieć, że obie odpowiedzi, twoja i Tim Holt, są poprawne, prawda? Jest przydatny jako paleta i oszczędza pamięć, ponieważ paleta jest przechowywana na mapie tilemap.
Macabeus