Мне интересно, как люди писали игры для DOS (например, Doom), я не могу найти в этом много информации, но хотел бы узнать больше о ранних днях разработки игр.
Какой язык использовался преимущественно?
Я предполагаю, что это был C. Или C ++ уже?
Какие IDE (или редакторы / компиляторы) были популярны?
Microsoft Visual C / C ++ (или Microsoft C / C ++, как я полагаю, раньше назывался) не существовала тогда AFAIK. Так что люди использовали? редактировать и компилятор командной строки от Intel или что-то?
Какие API где используются?
Что было общего для 2D игр? А как насчет 3D-игр, таких как Doom и Tomb Raider?
Что-нибудь еще отличается от сегодняшнего дня?
Я был бы рад услышать любые другие различия, например, какие форматы изображения / аудио использовались.
источник
Ответы:
Язык: 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 был довольно популярен для изображений.
источник
В завершение поста Шона, с тех пор как вы упомянули Doom: есть замечательный блог Фабьена Санглара, который сделал обзор части кода, использованного для создания Doom (который был написан в 1993 году). Обзор находится здесь: http://fabiensanglard.net/doomIphone/doomClassicRenderer.php
PS: В блоге много обзоров кода, связанных с Doom / Quake, и для разработчиков игр приятно прочитать, как другие разработали игру с нуля.
источник