Zastanawiam się, czy stare gry, takie jak Golden Axe (geneza) lub Street of Rage (geneza), używały map poziomów lub bitmap tła dla poziomów.
Nie mogłem znaleźć żadnego zasobu, który to wyjaśnia i przeszukując sieć, mogę znaleźć obrazy tła, ale nigdy nie znalazłem żadnej mapy warstwowej dla poziomów. To oczywiście nie odpowiada na pytanie, ale wygląda na to, że używali bitmap tła dla całego poziomu.
Ale nie jestem pewien, czy te stare konsole były praktyczne do przechowywania takich „dużych” obrazów i renderowania ich.
Czy ktoś wie trochę programowania na tych starych systemach i wie, jak zbudowano te poziomy „perspektywiczne”?
Odpowiedzi:
Tak, używają map tilemaps (a dokładniej: małych
8x8 hardware tiles
). Głównym powodem jest to, że przewijanie w tle i duszki są wyświetlane na większości 16-bitowych konsolhardware accelerated
(są do tego dedykowane układy sprzętowe,VDP
w przypadku genezy). Jedynym sposobem użycia tej funkcji w genezie jest podzielenie tła i duszków na małe kafelki 8x8 (nawet do wyświetlania pojedynczego logo na pełnym ekranie).Pamięć wideo (VRAM) była wówczas bardzo droga , a użycie małych kafelków 8x8 pozwala na ponowne użycie niektórych kafelków w różnych miejscach na ekranie. Nawet jeśli geneza może renderować gry do
320×480
rozdzielczości, nie ma wystarczającej ilości pamięci wideo (64 KB), aby pomieścić pełną klatkę.Oto przykład dla Sonic (to samo dotyczy tła):
Ta główna postać składa się z kilku duszków 8x8, które trzymają się razem, poruszając się po ekranie w tym samym czasie. To samo dotyczy tła, które jest tablicą 2D płytek.
Niektóre konsole pozwalają wyświetlać kilka
layers of tiles
(akaplanes
) jednocześnie (maksymalnie dwie w przypadku genezy). Zwykle mają ten sam rozmiar (nieco większy niż ekran), ale można je przewijać niezależnie. Jest to najczęściej używane doparallax scrolling
. Te warstwy mogą dać złudzenie, że na ekranie poruszają się „ogromne bitmapy”, podczas gdy w rzeczywistości są one niezależnymi warstwami płytek.źródło
Gry w tym wieku musiały korzystać z bardzo ograniczonej pamięci. Sega Genesis miał tylko 64kb pamięci RAM i tylko kilka MB pamięci ROM na kasetę do gry. Po prostu nie mieli zasobów na duże mapy bitowe. Dlatego w miarę możliwości używali map tilem i zarezerwowali duże obrazy na specjalne okazje (walki z bossami lub inne kluczowe obszary gry).
źródło
Domyślam się, że używają map kafelków / arkuszy sprite do swoich tekstur, jak słusznie zgadłeś, myślę, że jest to niewykonalne ze względu na użycie tych dużych obrazów tła
tak samo można zobaczyć wiele powtórzeń w obszarach, które pokazują użycie tekstur modułowych
źródło
Myślę, że masz na myśli przewijanie paralaksy http://en.wikipedia.org/wiki/Parallax_scrolling dla poziomów „perspektywicznych”
źródło