🛠️ Запускаем на Steam Deck: Freedoom
Ещё в девяностых добрые id Software выпустили исходный код Doom по свободной лицензии GPL. Но есть нюанс: распространять можно только код и то, что из него соберёте, а всё остальное — текстурки, музыка, уровни и прочее — нельзя. В отличие от игр, которые свободны полностью — например, Marathon (не тот) и Prince of Persia.
То есть, если сделаете свою модификацию Doom, вам нельзя распространять её вместе с игрой как готовую сборку «распаковал — и играй», разве только если у вас Total Conversion, который не использует ресурсы оригинальной игры.
И вот, чтобы исправить это недоразумение, и появился проект Freedoom — переделка всего содержимого игры для создания свободной основы, совместимой и с модификациями Doom. Всё перерисовано, перезаписано, пересобрано так, чтобы узнавался оригинальный Doom. Противники изменились больше всего и теперь напоминают не адских рогатых чертей, а что-то змее- или червеобразное. В остальном же коричневые стены остались коричневыми стенами, зелёная броня — зелёной бронёй, лежащая пачка патронов для дробовика на полу безошибочно определяется как патроны для дробовика. Звуки очень похожи на родные и не запутывают. Музыка новая, со своим стилем, более медленная, но midi'шное звучание знакомо.
↑ Пример музыки 🎵🤘 (уровень 14 из Phase 2).
И вовсе необязательно искать какие-то моды, можно играть и так, как есть. Будет казаться набором уровней для Doom 1-2 с новыми монстрами и перерисованным оружием. В старых версиях многие уровни совсем уж беззастенчиво копировали оригинальные с косметическими изменениями, сейчас же (версия 0.13.0 от 2024 года) полностью новые, но с узнаваемыми элементами. Там в каком-то уровне хлюпали по воде в каналах, и тут будете. Там были ряды взрывающихся бочек на тропинке над токсичной лужей, и тут их увидите.
Итого есть Phase 1 — четыре эпизода, как в Doom 1, и Phase 2 — одна длинная игра, как в Doom 2. Нужно скачать их, но это лишь пара WAD'ов, и потому понадобится совместимый движок. На Steam Deck можно было всё быстро и легко установить через FlatHub, но долгое время и там (а также в GZDoom) был нюанс: не работала ни встроенная виртуальная клавиатура, ни стимдековая, а значит, невозможно было сохранить игру, ведь при первом сохранении требуется обязательно ввести имя сохранения. Потом починили.
Но в прошлом году опять всё испортил очередной нюанс. Главный разработчик GZDoom сначала исчез на целый год и не появлялся, а потом вернулся и принялся активно вайбкодить, не спросив остальных разработчиков. Те, конечно, были в шоке и решили: не, давай-ка дальше без нас. И сделали свой форк — UZDoom.
GZDoom и Freedoom из FlatHub убрали. Потому для запуска сейчас придётся повозиться чуть больше, чем раньше. Для начала, скачать UZDoom — или стабильную сборку AppImage (сейчас это версия 4.14.3), или автоматическую Nightly (которая потом превратится в 5.0). Второе новее, но беспроблемная работа не гарантирована (впрочем, я проверил обе, всё работает). На Steam Deck в домашней папке у меня есть папка Games, в ней папка Other со сторонними играми не из стима, там я создал папку Doom. Чтобы не было бардака, внутри я сделал отдельные папки для самого UZDoom, для WAD'ов и для прочих модов (Addons) — вдруг понадобится использовать UZDoom не только для FreeDoom. Для примера возьму мод Bolognese Gore Mod (файл sm4BBgorev3.pk3) от автора Brutal Doom, который добавляет побольше кровищи и может подключаться вдобавок к любым другим модификациям.
Структура файлов получилась такой:
Сделайте файл AppImage исполняемым, запустите и выключите. Создастся конфигурационный файл /home/deck/.config/uzdoom/uzdoom.ini. Его откройте текстовым редактором. Туда надо добавить пару строчек. Под строкой [IWADSearch.Directories]:
А под строкой [FileSearch.Directories]:
Как вариант, можно ничего не добавлять, а файлы pk3 и wad засунуть в какие-то из уже указанных в этих разделах папок, но я предпочитаю вот так.
Далее, создайте текстовый файл FreeDoom1.sh с содержимым
(звёздочка позволит запускать любой файл с таким названием и не менять скрипт, когда скачаете другую версию UZDoom с новым номером. А после -file можно добавить и другие моды. Учитывайте их порядок в строке, он важен.)
и аналогично FreeDoom2.sh. Их тоже надо потом сделать исполняемыми в свойствах. И их уже и добавлять в библиотеку Steam как сторонние игры.
Заранее включите поддержку контроллера. На этом настройка заканчивается, можно запускать и играть. Движок поддерживает управление с геймпада с удобной раскладкой по умолчанию, сразу включатся родное разрешение экрана и кадровая частота. Разве что по мелочам можно что-то настроить — HUD, например. Я ещё всегда включаю удвоение патронов в подбираемых пачках. Люблю, когда патронов много, а не как в сраном Doom Eternal. Желательно включить английский язык для игры, так как в русском шрифте у некоторых букв есть проблемы. А в настройках самого стима можно на задние кнопки задать F6 и F9 для быстрых сохранений и загрузок (почему не догадались сделать, как в свежих беседковских переизданиях думов и квейков?). Если захочется ввести IDDQD или что-то в консоли, есть виртуальная клавиатура стим дека.
Ещё есть Blasphemer, аналогичный WAD-заменитель для Heretic. Вроде как недоделанный (я не пробовал).
Интересно, почему разработчики не добавят FreeDoom в Steam официально? С достижениями, с зелёной галочкой совместимости со Steam Deck… Marathon там есть, глобальные модификации на GZDoom есть, в том числе и платные. Если к названию жадные юристы придерутся, то его и поменять можно, не критично.