Bardzo chcę wiedzieć, w jaki sposób opracowano gry telewizyjne (w które wszyscy graliśmy w dzieciństwie) i na jakiej platformie.
Wiem, jak tworzone są gry na urządzenia mobilne, komputery PC z systemem Windows i Mac, ale nie rozumiem, jak (w tamtych czasach) Contra, Duck Hunt i wszystkie te gry zostały opracowane. Ponieważ mają wysoką grafikę i dużą liczbę etapów. Jak udało im się opracować gry w tak małym środowisku i na niższej platformie konfiguracyjnej?
graphics
game-industry
Mihir Palkhiwala
źródło
źródło
Odpowiedzi:
Naprawdę stare gry - napisane dla NES, Game Boy, SNES, a nawet starszych systemów, takich jak rodzina Atari - były zwykle pisane w języku asemblera . Było to konieczne, ponieważ ówczesne kompilatory C albo nie istniały, albo nie wystarczały do wygenerowania wystarczająco wydajnego kodu.
Byli w stanie wycisnąć wszystkie te rzeczy na małe kartridże - w przypadku NES nawet 256 KB było dużą ilością danych (choć istniały większe gry) - ponieważ używali sprytnych sztuczek, takich jak grafika kafelkowa i niska kolorystyka, umożliwiając wiele danych do przechowywania na bardzo małej przestrzeni. Dodatkowo specjalistyczne układy wideo i audio umożliwiły wydajniejszą obsługę tych rzeczy bez konieczności robienia wszystkiego w oprogramowaniu.
Z czasem kompilatory C stały się bardziej wydajne, a urządzenia stały się bardziej wydajne - domyślnie wszystkie urządzenia N64, GBA i nowsze używały C, a nawet C ++ - a montaż był zarezerwowany dla małych fragmentów kodu, w których konieczna była dodatkowa optymalizacja, aby konsekwentnie spełniać wymagania 60 FPS cel (lub dowolną liczbę klatek na sekundę w grze).
źródło
Pamiętam, jak pisałem proste gry dla Commodore 64 / Vic20 na początku lat 80-tych. Niektóre BASIC (wierzcie lub nie - niektóre gry były całkowicie zakodowane w języku BASIC - BASIC znajdował się w pamięci ROM komputera, więc był darmowy) - ale głównie asembler. Asembler też nie był konsekwentny - większość maszyn miała kilka komercyjnych asemblerów (choć jak większość wtedy pisałem własne). Grafika na C64 była bardzo zaawansowana jak na razie ze sprajtami rastrowymi (tylko 8 ekranów było dozwolone na raz - ale można je było powielać w oprogramowaniu z pewnymi sztuczkami, dając setki, ale tylko 8 odmian na ekranie na raz). Miały 16 kolorów (paleta - które można zmieniać w czasie wykonywania, podobnie jak duszek). Duszki były oczywiście 2D.
Pierwszym „komputerem domowym”, na którym grałem (ignorując wcześniejsze maszyny naukowe i biznesowe), był ZX81 (moja szkoła miała ZX80 - ale był zamknięty w szklanej skrzynce jak eksponat muzealny - nikt nie wiedział, jak z niego korzystać!). Wyobraź sobie pisanie gry w 1/4 K (to 256 bajtów!) - teraz to umiejętność!
źródło
Systemy gier wideo lub konsole pierwszej generacji (wcześniej zwane konsolami) z późnych lat 70. i do dziś są rozwijane podobnie jak każdy wbudowany system komputerowy .
Komputer wbudowany to komputer (tj. Mikrokontroler lub mikroprocesor) w systemie elektronicznym, który nie przypomina komputera osobistego lub większego systemu komputerowego z wieloma użytkownikami (np. System podziału czasu, minikomputery i komputery mainframe); jedną z głównych różnic jest to, że zazwyczaj brakuje im teraz standardowego wejścia / wyjścia przez terminal wideo i klawiaturę.
Opracowywanie odbywa się na innym komputerze, obecnie jest to zazwyczaj komputer programistyczny lub stacja robocza z wykorzystaniem wieloplatformowego środowiska programistycznego, które wytwarza pliki wykonywalne dla systemu docelowego - w tym kontekście system gier wideo, który często jest inną architekturą mikroprocesorową niż programistyczna własny procesor (lub host ) systemu.
Dwa przykłady obecnych systemach do gier wideo są dla Sony Playstation 3, która jest oparta na Sony, Toshiba i IBM „s procesor komórkowych i urządzeń mobilnych (smartfonów, tabletów), które są często ARM mikroprocesory oparte.
Jak
Michael Madsen
wskazano, większość programowania została wykonana w asemblerze, a nie w języku kompilowanym na wysokim poziomie, takim jak C lub Pascal. Było to konieczne, aby zmieścić całą zawartość gry w ramach bardzo ograniczonego systemu (bardzo mało pamięci RAM i ograniczona pojemność pamięci ROM wkładu), a także aby uzyskać dostęp do koprocesorów, takich jak TIA Atari 2600.źródło