Представлена самая безумная версия Doom: игра весит 177 ТБ
Один кадр генерируется 12 дней. Рассказываем, в чем особенность уникального проекта.
Культовую игру-стрелялку Doom представили в очень неожиданном формате. Ее перенесли в систему ввода языка программирования TypeScript.
Оригинальная игра вышла в 1993 году. Размер всех ее файлов составляет около 2,4 МБ. Благодаря свой простому по нынешним меркам коду, ее портировали на самые разные устройства.
Энтузиаст решил создать необычный проект и перенес шутер в систему типов языка TypeScript. Типы описают значения переменных, параметры функций и другие понятия. Это позволяет программистам создавать более предсказуемый и безопасный код. Но технология не предназначена для компьютерных игр в обычном понимании.
Программист Дмитрий Митропулос смог создать порт на основе типов. На это он потратил год свой жизни. Проект оказался огромным. Для работы Doom используются 3,5 трлн строк типов. Их общий вес составляет 177 ТБ — это в десятки миллионов раз больше по сравнению с оригинальной версией игры. При этом весь проект при полной оптимизации может весить в семь раз больше
Проект работает полностью в системе Typescript, поэтому она выдает чудовищно мало кадров. На компиляцию первого кадра, полностью состоящего только из символов, уходит 12 дней при разрешении, аналогичном 320х200 пикселей. При оптимизированной сборке на это потребуется три месяца. При этом для запуска требуется очень много оперативной памяти — не меньше 90 ГБ ОЗУ.
В ближайшее время энтузиаст собирается раскрыть подробности о том, как технически устроен его порт Doom, пишет Tom's Hardware. А еще он объяснит, зачем вообще взялся за такой сложный, но по-настоящему уникальный проект.