Можно ли запустить Doom на первом советском суперкомпьютере?

Я уже рассказывал про выставку, посвящённую Сергею Лебедеву и его главному детищу — компьютеру БЭСМ-6. Естественно, мне не могли не задать вопрос «А можно ли запустить на нём Doom?».

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Давайте разбираться!

Вообще запуск Doom на не предназначенных для того устройствах — это уже своего рода спорт. На чём только не заставляли работать легендарный шутер 1993 года — умные часы, банкоматы, принтеры, фотоаппараты, научные калькуляторы... Кто-то вспомнит даже тест на беременность, но я посмотрел внимательно — в том опыте он использовался только как экран, так что незачёт.

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

В любом случае, на фоне таких смешных девайсов мощнейшая ЭВМ своего времени, рассчитывавшая ответ на главный вопрос Вселенной термоядерные реакции и изменения климата в масштабах всей планеты, уж наверняка должна выступить достойно? А вот, оказывается, не всё так просто.

Первая трудность очевидна: Doom предназначен для компьютеров с совершенно иной архитектурой. Взять исполняемый файл готовой игры нельзя, нужно обращаться к исходному коду. Отдельные фрагменты игрового движка написаны на языке ассемблера для процессоров x86, которые по системе команд с БЭСМ-6 несовместимы. Основная часть, впрочем, написана на C, и в принципе C-компилятор под БЭСМ-6 существует, хотя и скорее экспериментальный. В любом случае, тем, кто захотел бы запустить Doom на тёплом ламповом транзисторном суперкомпьютере, пришлось бы потратить немало труда, адаптируя и отлаживая код игры.

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Но даже если эту работу удалось бы успешно завершить, следом встал бы вопрос вычислительных ресурсов. БЭСМ-6 показывала хорошую производительность в научных расчётах, для которых характерны операции с плавающей запятой. Иными словами, она могла с равной точностью обрабатывать очень большие и очень малые числа и не тратить время на их преобразование.

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Но движок Doom в основном использует операции с фиксированной запятой либо вовсе целочисленные. То, что БЭСМ-6 имеет разрядность 48 бит против 32 бит у процессоров 1990-х годов, тоже особенно ни к чему: точность для динамичных игрушек не важна, важна скорость. Например, в первой PlayStation все координаты вершин вообще могли быть только целочисленными — и ничего, на ней вполне прилично смотрелись 3D-игры своего времени (включая тот же Doom).

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Минимальная конфигурация для запуска игры на PC (и играть на ней было страданием — дядя пожил, дядя помнит) — процессор i386 с частотой 33 МГц и 4 Мб оперативной памяти. Такой камень имеет производительность около 4,3 MIPS (миллионов операций в секунду), тогда как БЭСМ-6 — всего 1 MIPS, да и памяти у советской машины только 800 Кб, если пересчитать с машинных слов на байты.

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

К тому же ЭВМ 1960-х годов, рассчитанная на пакетное решение задач с выводом результатов в текстовом формате, просто не имела достаточно быстрых периферийных устройств для отображения игровой графики. Иными словами, пришлось бы изобретать для неё ещё и какой-то аналог RAMDAC (преобразователя битовой карты в памяти в видеосигнал).

В общем, ответ на вопрос «А можно ли?» — «А нельзя!». И это лишний повод задуматься о скорости прогресса в вычислительной технике. Даже игрушка 30-летней давности, которую, кажется, уже можно запустить даже на брелке для ключей, оказалась слишком требовательной для одного из мощнейших суперкомпьютеров 1960-х годов. И это не проблема конкретно БЭСМ-6: её заграничные современники вроде CDC 6400 тоже не справились бы с задачей. А ведь это были машины стоимостью в миллионы советских рублей и миллионы долларов.

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Сильно ли грустили работники советских НИИ от того, что не могли отстреливать какодемонов в 35 fps? Едва ли. У них было достаточно игр, которые ЭВМ тех лет вполне могли потянуть, причём я сейчас не о Tetris или Pac-Man. Первые игры для больших машин начали появляться в СССР ещё в 1970-х. Самая ранняя — предположительно игра в слова, похожая на «Балду». Известно, что она могла самообучаться, запоминая слова, составленные игроками. По легенде, это же её и погубило: шутники-программисты научили программу матерным словам, и когда начальство увидело, что компьютер выдаёт нецензурщину, играть запретили. Текст этой игры пока не найден.

До наших дней дошли логическая игра «Калах» (популярная в США разновидность игр типа манкала, или «игр в зёрна»), игра «Волки и овцы» на упрощённом поле и игра «Посадка на Луну». Это локализованная версия игры Lunar Lander, изначально написанной на языке Fuckall Фокал для миникомпьютера DEC PDP-8 в 1969 году. Единственное, чем управлял в ней игрок, это расход топлива. Отслеживая скорость и массу модуля и его высоту над поверхностью Луны, нужно было менять интенсивность сжигания горючего, чтобы в итоге совершить мягкую посадку. Если вы обсчитались, игра писала, что «на Луне возник новый кратер глубиной N футов».

Можно ли запустить Doom на первом советском суперкомпьютере? Doom, Бэсм, ЭВМ, СССР, Компьютерные игры, Политехнический музей, Гифка, Длиннопост

Да, в те времена с геймерами никто не сюсюкался.

В целом нельзя сказать, что советские программисты были изолированы от мирового развития игровой индустрии. Окольными путями в СССР попадали исходные тексты культовых западных игр, в частности, Colossal Cave Adventure и Star Trek. Их переводили на русский язык, адаптировали к имеющемуся оборудованию, иногда даже совершенствовали. По воспоминаниям сотрудников, когда в конце 1980-х в Институте точной механики и вычислительной техники появилась версия Star Trek, в которой можно было соревноваться друг с другом, работа на несколько дней оказалась парализована.

Ну а с массовым распространением IBM PC-совместимых персоналок начался современный этап развития игровой культуры, но это уже, как говорится, совсем другая история.