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?
graphics
game-industry
Mihir Palkhiwala
quelle
quelle
Antworten:
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).
quelle
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!
quelle
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.quelle