13 часов назад
История: как Raspberry Pi спас некачественную версию Doom для Super Nintendo
С момента первого запуска игры в начале 90-х годов портирование Doom на другие устройства стало массовым явлением. Одним из самых неожиданных стал вариант от Williams Entertainment и Рэндала Линдена на Super Nintendo в 1995 году, всего через пару лет после первоначального релиза игры на DOS.
Линден — канадский разработчик, известный по работе над Dragon’s Lair на Amiga, а также эмуляторами Bleem и Bleemcast.
К концу своего жизненного цикла SNES накопила впечатляющую библиотеку игр, но была значительно слабее по сравнению с ПК, на которых запускался Doom. Сам факт появления Doom на консоли Nintendo — это новшество, но и равным образом презентация технологий, которые казались неосуществимыми.
В Kotaku решили взять интервью у Линдена спустя 30 лет после выхода порта.
В 1994 году он начал работать в большом складском помещении в Сан-Диего в компании Sculptured Software из Солт-Лейк-Сити. Линден присоединился к своим коллегам на закрытом мероприятии Nintendo, где демонстрировалась игра Star Fox, работающая на чипе SuperFX. «Игра была встречена бурными аплодисментами, — вспоминает Линден, — прямо тогда и там Sculptured решили, что хотят создать игру на SuperFX».
Его друг и коллега по Sculptured Software, Джон Морган, пользовался уважением за свои навыки в 3D-графике и математике, и его прив��екли к проекту, который впоследствии стал 3D-гонкой на мотоциклах под названием Dirt Trax FX. Тем не менее проблема заключалась в том, что у Sculptured Software не было системы разработки, и они едва ли знали технические характеристики нового чипа Nintendo.
«У меня возникла идея, — сказал Линден. — Давайте пойдем в магазин и купим картриджи Star Fox, три или четыре штуки. Откроем картридж и заменим ПЗУ на ОЗУ и маленький загрузочный ПЗУ». Он создал текст программное обеспечение для загрузочного ПЗУ, что позволило напрямую подключить картридж к Amiga, а затем записывать программы непосредственно на только что припаянный процессор ОЗУ.
Имея этот самодельный комплект для разработки, работающий так, как задумал Линден, он понял, что ему нужен метод протестировать чип Super FX: «Я подумал: „Что может быть лучше, чем начать писать свою версию Doom?“». Именно это он и сделал. Код Doom для ПК никак не мог функционировать в аппаратной среде консоли, поэтому Линден самостоятельно провел реверс-инжиниринг игры.
«Нам нужно было знать, как работает карта памяти и некоторые базовые вещи, поэтому Nintendo прислала минимальную информацию, которая представляла собой, по существу, только спецификацию процессора», — отметил разработчик. На основе данных Линден смог написать собственный ассемблер, компоновщик и отладчик исходного кода, используя систему разработки на базе Amiga, которую он применял для создания других игр для Super NES, таких как «Один дома» и «Хоккей Уэйна Гретцки».
Имея на руках ассемблер и получив доступ к Super FX, Линден взял «Неофициальные спецификации Doom» Мэтью Фелла и приступил к работе над созданием собственного игрового движка. В итоге от движка Id Software не осталось и следа.
Вопреки то, что это был учебный проект, работа Линдена над Doom произвела на его боссов такое впечатление, что они прилетели в Id Software в Техас на презентацию, а потом разрешили Sculptured Software продолжить работу над портом.
Игра Doom на Super NES, страдающая от практически неиграбельной частоты кадров, особенно на поздних уровнях, и багов с отсутствием текстур пола и потолка, а равным образом без четвёртого эпизода, была не лучшей версией, но работала на Super NES.
Спустя 30 лет Линден решил применить Raspberry Pi, чтобы усовершенствовать Doom на SNES.
«Первоначальная идея принадлежала мне», — рассказал Ауди Сорли, который был поклонником творчества Линдена с детства, а сейчас работает в Limited Run Games.
Сорли впервые связался с Линденом в 2020 году, когда разработчик опубликовал цельный исходный исходник версии для SNES, и провёл интервью на Digital Foundry. В процессе него автор порта на вопрос об улучшениях ответил, что думал об этом.
Прошло некоторое количество лет, и Сорли присоединился к Limited Run Games в качестве ведущего продюсера отдела разработки. Когда LRG попросили его рассказать о своих самых безумных идеях, тот предложил новую версию Doom Линдена.
Когда они начинали инициатива, Сорли был уверен, что Линден сможет разобраться, как внедрить различные улучшения программного обеспечения, но оставались вопросы о том, как улучшить аппаратную часть, чтобы реализовать новые функции, которые они хотели добавить в игру — такие как круговое движение, более высокая частота кадров и даже вибрация с помощью нового контроллера, придуманного разработчиком.
Линден применил Raspberry Pi 2350, чтобы загрузить программное обеспечение, которое обманывает SNES, заставляя её думать, что в игре используется оригинальный чип Super FX. Разработчик создал текст исходник, почти идентичный тому, что он разработал бы для настоящего чипа.
«Мне пришлось вернуться назад и провести реверс-инжиниринг собственного кода 30-летней давности», — отмечает Линден.
В результате Doom работает на Super Nintendo, но более плавно, с новым контентом и даже вибрацией.
А в этой статье можно ознакомиться, как разработчик Майкл Абраш удвоил скорость другой старой игры Quake.
Читают сейчас

54 минуты назад
«AGI будет выглядеть как разминка»: Альтман о следующем прорыве в ИИ
Глава OpenAI Сэм Альтман объявил, что в ближайшем будущем может произойти архитектурный прорыв за пределами трансформеров — и что нынешние модели уже в достаточной степени умны, чтобы помочь его найти
3 часа назад
Весенний апгрейд отменяется: почему видеокарты снова дорожают и при чём здесь не только Ближний Восток
Если верить заголовкам, у подорожания видеокарт есть один простой виновник: новый виток войны на Ближнем Востоке. Но реальность, как это обычно бывает с железом, неприятнее и многослойнее. По состояни

5 часов назад
Почему конференции мертвы и зачем мы делаем свою. Часть II
В прошлый раз говорили про технику и доклады, сегодня поговорим про экономику. Для начала напомню контекст: после нескольких митапов и треков на других конференциях я решил сделать свою. Вот она, свеж

5 часов назад
ByteDance отложила глобальный запускание AI-модели генерации видео Seedance 2.0 из-за споров об авторском праве
Китайская технологическая организация ByteDance, известная как владелец платформы TikTok, приостановила глобальный запускание своей новой модели генерации видео Seedance 2.0 после серии конфликтов с г

6 часов назад
Программисты в красной зоне: Карпати вычислил, каким профессиям угрожает ИИ
Андрей Карпати, бывший директор по ИИ в Tesla и один из основателей OpenAI, выложил проект, в котором оценил уязвимость перед ИИ всех 342 профессий американской экономики. Каждая получила балл от 0 до