Auf welcher Plattform wurden alte TV-Videospiele entwickelt? [geschlossen]

13

Ich bin sehr gespannt, wie TV-Videospiele (die wir alle in unserer Kindheit gespielt haben) entwickelt wurden und auf welcher Plattform.

Ich weiß, wie Spiele für mobile Geräte, Windows-PCs und Macs entwickelt werden, aber ich verstehe nicht, wie (damals) Contra, Duck Hunt und all diese Spiele entwickelt wurden. Da sie eine hohe Grafik und eine große Anzahl von Stufen haben. Wie haben sie es also geschafft, Spiele in einer so kleinen Umgebung und mit einer niedrigeren Konfigurationsplattform zu entwickeln?

Mihir Palkhiwala
quelle
3
Jordan Mechner hat vor einigen Monaten die Quellen von Prince of Persia für das Apple II veröffentlicht: Schauen Sie hier nach, wenn Sie interessiert sind.
Laurent Couvidou

Antworten:

17

Die wirklich alten Spiele - geschrieben für NES, Game Boy, SNES und sogar ältere Systeme wie die Atari-Familie - wurden normalerweise in Assemblersprache geschrieben. Dies war notwendig, weil C-Compiler der Zeit entweder nicht existierten oder nicht der Aufgabe gewachsen waren, ausreichend effizienten Code zu generieren.

Sie waren in der Lage, all diese Dinge in kleine Kassetten zu packen - für NES waren sogar 256 KB eine Menge Daten (obwohl es größere Spiele gab) -, weil sie clevere Tricks verwendeten, wie z von Daten auf kleinstem Raum gespeichert werden. Spezielle Chips für Video und Audio ermöglichten es zudem, diese Dinge effizienter zu handhaben, ohne alles in Software tun zu müssen.

Im Laufe der Zeit wurden C-Compiler effizienter und Geräte leistungsfähiger - N64-, GBA- und spätere Geräte verwendeten standardmäßig C oder sogar C ++ - und die Assemblierung war kleinen Codeteilen vorbehalten, bei denen zusätzliche Optimierungen erforderlich waren, um die 60FPS konsistent zu erfüllen Ziel (oder was auch immer Framerate das Spiel läuft).

Michael Madsen
quelle
4
@Mihir alte Spiele waren keineswegs einwandfrei. Aber ein Grund, warum sie besser zu laufen scheinen als einige der jüngsten Spiele, ist, dass sie auch weitaus weniger komplex sind als ihre modernen Kollegen.
ChaosTechnician
1
@AndroidCoader, was Sie suchen, heißt Emulator. Sie existieren für viele Plattformen und ahmen die Funktion alter Systeme auf modernen Maschinen nach, aber oft gibt es eine Menge rechtlicher Probleme / Grauzonen, wenn sie zum Spielen verwendet werden.
ChaosTechnician
Ich glaube, dass "Gran Turismo", als es zum ersten Mal auf der PS erschien, aufgrund der Physik große Mengen an Code in Assembler geschrieben hatte.
casperOne
3

Ich erinnere mich, dass ich Anfang der 80er Jahre einfache Spiele für den Commodore 64 / Vic20 geschrieben habe. Einige BASIC (ob Sie es glauben oder nicht - einige Spiele waren vollständig BASIC-codiert - BASIC befand sich auf dem ROM des Computers, also war es ein Werbegeschenk) - aber meistens Assembler. Assembler war auch nicht konsistent - die meisten Maschinen verfügten über mehrere kommerzielle Assembler (obwohl ich, wie die meisten damals, meine eigenen geschrieben habe). Die Grafik auf dem C64 war für die damalige Zeit mit Rasterhardware-Sprites sehr fortschrittlich (nur 8 gleichzeitig auf dem Bildschirm zulässig - diese konnten jedoch mit einigen Tricks in der Software dupliziert werden, sodass Hunderte, aber nur 8 Varianten gleichzeitig auf dem Bildschirm angezeigt wurden). Sie hatten 16 Farben (Palette - die zur Laufzeit geändert werden konnte, ebenso wie das Sprite). Sprites waren natürlich 2D.

Der erste "Heimcomputer", mit dem ich spielte (ohne Rücksicht auf frühere wissenschaftliche und geschäftliche Maschinen), war ein ZX81 (meine Schule hatte einen ZX80 - aber er war wie ein Museumsausstellungsstück in einer Glasschachtel eingeschlossen - niemand wusste, wie man ihn benutzt!). Stellen Sie sich vor, Sie schreiben ein Spiel in 1/4 eines K (das sind 256 Bytes!) - das ist jetzt Geschick!

Wolf5370
quelle
3

Die Videospielsysteme oder Konsolen der ersten Generation (bevor sie Konsolen genannt wurden) stammen aus den späten 1970er Jahren und werden bis heute wie jedes eingebettete Computersystem entwickelt .

Ein eingebetteter Computer ist ein Computer (dh ein Mikrocontroller oder Mikroprozessor) in einem elektronischen System, das keinem Personalcomputer oder größeren Mehrbenutzer-Computersystem (z. B. Time-Sharing-System, Minicomputer und Großrechner) ähnelt. Ein wesentlicher Unterschied besteht darin, dass ihnen normalerweise die Standardeingabe / -ausgabe über ein Videoterminal und eine Tastatur fehlt.

Die Entwicklung erfolgt auf einem anderen Computer, heutzutage in der Regel auf einem Entwickler-PC oder einer Workstation unter Verwendung einer plattformübergreifenden Entwicklungsumgebung, die ausführbare Dateien für das Zielsystem erstellt - in diesem Zusammenhang das Videospielsystem, bei dem es sich häufig um eine andere Mikroprozessorarchitektur als bei der Entwicklung handelt Systemeigene (oder Host- ) CPU.

Zwei Beispiele für aktuelle Videospiel - Systeme sind die für Sonys Playstation 3 , die auf der Sony, Toshiba und basiert IBM ‚s Cell - Prozessor , und für mobile Geräte (Smartphones, Tablets) , die häufig sind ARM - basierte Mikroprozessoren.

Wie bereits erwähnt Michael Madsen , wurde der Großteil der Programmierung in Assembler und nicht in einer kompilierten Hochsprache wie C oder Pascal durchgeführt. Dies war notwendig, um den gesamten Inhalt des Spiels in die Grenzen des stark eingeschränkten Systems (sehr wenig RAM und begrenzte Cartridge-ROM-Kapazität) zu integrieren und auf Co-Prozessoren wie den Atari 2600 TIA zuzugreifen.

Mctylr
quelle