Каким был типичный набор инструментов для разработки игр для DOS? [закрыто]

15

Мне интересно, как люди писали игры для DOS (например, Doom), я не могу найти в этом много информации, но хотел бы узнать больше о ранних днях разработки игр.

Какой язык использовался преимущественно?

Я предполагаю, что это был C. Или C ++ уже?

Какие IDE (или редакторы / компиляторы) были популярны?

Microsoft Visual C / C ++ (или Microsoft C / C ++, как я полагаю, раньше назывался) не существовала тогда AFAIK. Так что люди использовали? редактировать и компилятор командной строки от Intel или что-то?

Какие API где используются?

Что было общего для 2D игр? А как насчет 3D-игр, таких как Doom и Tomb Raider?

Что-нибудь еще отличается от сегодняшнего дня?

Я был бы рад услышать любые другие различия, например, какие форматы изображения / аудио использовались.

futlib
источник
Я уверен, что вы намеревались провести какое-то исследование для этого задания. Возможно, gdcvault.com/play/1014627/Classic-Game-Postmortem поможет вам начать.
Даниэль Карлссон
Это не задание, я ухожу из школы / колледжа. Я некоторое время гуглил, но не мог найти много.
futlib
Я вспоминаю, как читал заметку одного из ребят из ID о Watcom C ++. Borland всегда был довольно популярен, потому что их компиляторы были чертовски быстрыми. (Раньше я перестраивал три или четыре раза подряд, потому что не был уверен, что что-то на самом деле произошло.)
3Dave

Ответы:

19

Язык: C был преобладающим, но C ++ был вокруг и использовался.

Инструменты для разработки. Среди других сред разработки были такие как Borland и Watcom (почти незнакомые сегодня). И у Borland, и у Watcom были свои компиляторы и собственные IDE. Borland был безусловно самым популярным в целом, хотя у Watcom была репутация производителя более быстрых скомпилированных программ, iirc.

API: Немного API существовали или использовались. Видео программирование часто состояло из прямой записи пикселей в VGA кадровый буфер. Даже 3D-игры были программно растрированы. Для аудио использовался звуковой API-интерфейс Miles, который включал в себя драйверы, поскольку в ОС не было собственной звуковой платформы или драйверов. Ввод с клавиатуры и мыши обычно считывался прямо из системы. Существовала пара популярных модулей расширения памяти для 32-битного режима, которые были очень популярны и необходимы к концу правления DOS. К счастью, аппаратное обеспечение было простым, но это определенно было проблемой в играх с прикладом, которые работали на различных аппаратных средствах. Библиотеки для работы со всеми простыми вещами низкого уровня (такими как SDL, SFML, GLFW и т. Д.) Не существовало,

В дополнение к предыдущему пункту, Doom не был 3D, каким мы его знаем сегодня. То есть он накладывал огромные ограничения на трехмерные среды из-за своего узкоспециализированного алгоритма растеризации программного обеспечения, и все персонажи и предметы были просто спрайтами.

Форматы файлов: форматы активов тогда были такими же проприетарными для движка, как и сейчас. Я смутно припоминаю, что Бинк был тогда в видео (что было очень редко, обычно только в открывающих и закрывающих последовательностях), и я думаю, что у Creative были некоторые специализированные звуковые форматы. Я не уверен, какие исходные или промежуточные форматы были популярны тогда для звука или видео, но TGA был довольно популярен для изображений.

Шон Миддледич
источник
1
Повсеместно распространенным промежуточным программным обеспечением, которое многие лицензировали для аудио, была Miles , которая обеспечивала абстракцию драйверов для многих устройств. Если вы не использовали Miles, вы, вероятно, просто поддерживали совместимость с Adlib или SoundBlaster. Для включения поддержки VESA на устаревших картах некоторые игры использовали UniVBE .
Ларс Виклунд
Это верно! Хорошая память! :)
Шон Миддледич
Я могу ошибаться, но я считаю, что вы пытаетесь сделать ссылку на Уоткома , а не Уотсона . Они создали отличный компилятор C и легкий SQL-сервер под названием Watcom SQL, предшественника SQLite, который мне очень понравился.
Боб Мак
Действительно, вы правы. Моя память определенно становится более запутанной в моей старости.
Шон Мидлдич
ASM был, вероятно, более распространенным, чем сейчас. Вам нужно было снизить производительность, и оптимизаторы компилятора были не так хороши, как сейчас. То есть большинство все еще в C, но двигатели, вероятно, имели части ASM.
edA-qa mort-ora-y
4

В завершение поста Шона, с тех пор как вы упомянули Doom: есть замечательный блог Фабьена Санглара, который сделал обзор части кода, использованного для создания Doom (который был написан в 1993 году). Обзор находится здесь: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php

PS: В блоге много обзоров кода, связанных с Doom / Quake, и для разработчиков игр приятно прочитать, как другие разработали игру с нуля.

Timotei
источник