Was war die typische Toolchain für die DOS-Spieleentwicklung? [geschlossen]

15

Ich frage mich, wie die Leute DOS-Spiele geschrieben haben (wie Doom), ich kann nicht viel dazu finden, würde aber gerne mehr über die früheren Tage der Spieleentwicklung erfahren.

Welche Sprache wurde überwiegend verwendet?

Ich nehme an, es war C. Oder schon C ++?

Welche IDEs (oder Editoren / Compiler) waren beliebt?

Microsoft Visual C / C ++ (oder Microsoft C / C ++, wie ich glaube, dass es früher genannt wurde) gab es damals noch nicht AFAIK. Also, was haben die Leute benutzt? editieren und einen Kommandozeilen-Compiler von Intel oder so?

Welche APIs wurden verwendet?

Was war bei 2D-Spielen üblich? Was ist mit 3D-Spielen wie Doom und Tomb Raider?

Was ist noch anders als heute?

Ich würde mich über weitere Unterschiede freuen, beispielsweise welche Bild- / Audioformate verwendet wurden.

futlib
quelle
Ich bin mir ziemlich sicher, dass Sie für diese Klassenzuweisung Nachforschungen anstellen wollen. Vielleicht kann Ihnen gdcvault.com/play/1014627/Classic-Game-Postmortem einen Anfang geben.
Daniel Carlsson
Es ist keine Aufgabe, ich bin weit weg von der Schule. Ich googelte eine Weile, konnte aber nicht viel finden.
Futlib
Ich erinnere mich, eine Notiz von einem der ID-Leute über Watcom C ++ gelesen zu haben. Borland war immer ziemlich beliebt, weil ihre Compiler SCHNELL waren. (Ich habe drei- oder viermal hintereinander
nachgebaut,

Antworten:

19

Sprache: C war vorherrschend, aber C ++ war da und wurde verwendet.

Entwicklungswerkzeuge: Zu den Entwicklungsumgebungen gehörten unter anderem die von Borland und Watcom (die bis heute kaum bekannt waren). Sowohl Borland als auch Watcom hatten ihre eigenen Compiler und ihre eigenen IDEs. Borland war bei weitem das beliebteste Programm überhaupt, obwohl Watcom den Ruf hatte, schneller kompilierte Programme zu produzieren, nämlich iirc.

APIs: Es gab oder wurden nur wenige APIs verwendet. Die Videoprogrammierung bestand oft darin, Pixel direkt in den VGA-Framebuffer zu schreiben. Sogar 3D-Spiele wurden mit Software gerastert. Die Miles-Sound-API wurde für Audio verwendet, das intern Treiber enthielt, da das Betriebssystem kein eigenes Audio-Framework oder keine eigenen Treiber hatte. Tastatur- und Mauseingaben wurden in der Regel direkt vom System gelesen. Es gab einige beliebte Speichererweiterungen für den 32-Bit-Modus, die gegen Ende der Regierungszeit von DOS sehr beliebt und notwendig waren. Die Hardware war zum Glück einfach, aber es war definitiv ein Schmerz in den Hintern-Schreibspielen, die auf einer Vielzahl von Hardware funktionierten. Es gab keine Bibliotheken für all die einfachen Dinge auf niedriger Ebene (wie SDL, SFML, GLFW usw.).

Was den vorherigen Punkt betrifft, war Doom nicht 3D, wie wir es heute kennen. Dies bedeutet, dass 3D-Umgebungen aufgrund des hochspezialisierten Software-Rasterungsalgorithmus enormen Einschränkungen unterworfen sind und dass alle Zeichen und Elemente reine Sprites sind.

Dateiformate: Die Asset-Formate waren damals genauso proprietär wie heute. Ich erinnere mich vage, dass Bink damals für Videos da war (was sehr selten war, im Allgemeinen nur beim Öffnen und Schließen von Sequenzen), und ich denke, dass Creative einige spezialisierte Tonformate hatte. Ich bin mir nicht sicher, welche Quellen- oder Zwischenformate damals für Ton oder Video beliebt waren, aber TGA war für Bilder ziemlich beliebt.

Sean Middleditch
quelle
1
Die allgegenwärtige Middleware, die viele für Audio lizenzierten, war Miles , die für viele Geräte die Treiberabstraktion bereitstellte. Wenn Sie keine Meilen verwendet haben, haben Sie wahrscheinlich nur Adlib- oder SoundBlaster-Kompatible unterstützt. Einige Spiele verwendeten UniVBE, um die VESA-Unterstützung für Legacy-Karten zu aktivieren .
Lars Viklund
Das ist richtig! Gutes Gedächtnis! :)
Sean Middleditch
Ich kann mich irren, aber ich glaube, der Hinweis, den Sie versuchen, war für Watcom , nicht für Watson . Sie haben einen ausgezeichneten C-Compiler und einen leichtgewichtigen SQL-Server namens Watcom SQL, einen Vorgänger von SQLite, entwickelt, der mir sehr gut gefallen hat.
Bob Mc
In der Tat sind Sie richtig. Mein Gedächtnis wird in meinem Alter definitiv durcheinander.
Sean Middleditch
ASM war wahrscheinlich häufiger als jetzt. Sie mussten die zusätzliche Leistung reduzieren, und die Compiler-Optimierer waren nicht so gut wie jetzt. Das heißt, die Mehrheit noch in C, aber die Motoren hatten wahrscheinlich ASM-Teile.
edA-qa mort-ora-y
4

Als Ergänzung zu Seans Post, seit Sie Doom erwähnt haben: Es gibt einen netten Blog von Fabien Sanglard, der eine Rezension zu dem Teil des Codes verfasst hat, der für Doom verwendet wurde (der von 1993). Die Bewertung ist hier: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

PS: Der Blog hat viele Doom / Quake-bezogene Code-Reviews und es ist eine gute Lektüre für einen Spieleentwickler, um zu sehen, wie andere ein Spiel von Grund auf entworfen haben

Timotei
quelle