Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

В мире есть более миллиона компьютерных игр. И каждый год выходят тысячи новых игр. Но иногда хочется поностальгировать по ушедшей эпохе и зарубиться в какую-нибудь игру двадцатилетней давности на ПК. Популярные старые игры обновляют, делают ремейки и ремастеры. Но что делать если игра не была такой популярной, чтобы иметь обновлённую версию на современном ПО? Неужели такие игры будут потеряны?

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

Многие старые видеоигры были потеряны со временем, потому что они не продаются и поэтому разработчики не поддерживают их. Но есть энтузиасты, которые уже много лет поддерживают работу старых игр, портируя их на Linux. Это даёт повод разработчикам задуматься о «саппорте» игр, а не о «ремастерах».

❯ Счастье — штука такая...

Исторически сложилось так, что усилия по сохранению видеоигр обычно охватывают два типа игр. Наиболее распространёнными являются очень старые игры 16-битной эпохи или ранее. Другие — это игры, которые полагаются на живой сервис, например, теперь уже отключённые серверы Enter the Matrix или любые другие игры, которые можно получить, только загрузив их через канал Nintendo Wii Shop Channel, который закрылся в 2019 году.

Но время идёт, и теперь необходимо обратить внимание на более позднюю эпоху игр, если мы все ещё хотим, чтобы эти игры, особенно инди-игры, были доступны. Мы не думаем об этом до тех пор, пока игры, большинство которых мы загружали на Windows 7, перестанут работать на компьютере с Windows 11 без какого-либо обслуживания, и выйдут уже в переиздании.

Обычно, когда разработчики видеоигр говорят о переиздании старых игр, они говорят о «ремастерах», репродукциях, которые не только обновляют графику или геймплей, но и переосмысливают всю концепцию игры. В результате чего иногда ремастеры это не просто старые игры в новой обёртке, это уже совсем другие игры.

Одна из проблем со старыми играми заключается в том, что современный ПК не имеет такого же вспомогательного оборудования (например, игровых контроллеров). К счастью, можно программно эмулировать старое оборудование. Видеодисплей также сильно отличается. Эмулировать старые видеостандарты CGA и VGA несложно, но гораздо более низкое разрешение может выглядеть довольно странно на современном мониторе (320x200 с 4 цветами выглядит не очень чётко). В более старых версиях некоторые вещи могут работать, но чтобы заставить их работать, необходимо правильно эмулировать операционную систему MSDOS. В Windows уже давно (начиная с Windows XP) есть режим совместимости и инструменты эмуляции, такие как DosBox.

Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

Иногда в старых играх есть ошибки, которые требуют исправлений (обновления программы), чтобы они работали правильно на новых компьютерах. В других случаях, возможно, геймерам придётся потрудиться, чтобы найти обходные пути, чтобы игры работали. Если никто другой не выполнил необходимую работу раньше, это может быть очень трудно осуществить самостоятельно.

❯ Кто ищет, тот всегда найдёт… если правильно ищет

Итан Ли, также известный какflibitjibibo, занимается портированием игр для FNA, а также различных портов игр для Linux. Ли предлагает обслуживание игр и портов для Linux, Windows, Xbox (One, Series X|S), Nintendo Switch и macOS с использованием x86_64. За услуги Ли, конечно, требует оплаты, но также требует, чтобы клиентам был доступен собственный порт игры для Linux, и даже если это не так, Ли готов сделать его.

FNA — это повторная реализация библиотек Microsoft XNA Game Studio 4.0 Refresh. FNA разработан Итаном Ли, который выпустил более четырёх десятков портов игр XNA. Также можно увидеть несколько примеров игр Steam, использующих FNA. Среди инди-игр, портированных Ли, — Super Hexagon, Thirty Years of Loving, Proteus, Rogue Legacy, Dust: An Elysian Tail, TowerFall Ascension, VVVVVV, Transistor, Wizorb, Mercenary Kings, Hacknet, Shenzhen I/O и Bastion.

Thirty Flights of Loving
Thirty Flights of Loving

Цель — сохранить библиотеку игр XNA, переопределив саму XNA, уделив особое внимание точности. Итан и его соратники хотят воспроизвести XNA в том виде, в котором она была создана Microsoft, обеспечивая при этом удобство работы на всех целевых платформах. Они не используют в своём коде специфичные для игры хаки.

Поскольку FNA ориентирована исключительно на полностью открытые платформы, основное внимание уделяется ПК. С этой целью FNA поддерживает Windows, macOS и GNU/Linux с помощью одного файла сборки. Не используются условные выражения препроцессора для платформ; модель платформы требует, чтобы была создана библиотека, которая работает на любой платформе, независимо от того, где она была создана. Когда создаётся игра FNA с помощью Visual Studio, можно ожидать, что она будет работать в Windows, Mac и Linux с одним набором выходных сборок. Кроме того, FNA поддерживает iOS, tvOS, Xbox (One, Series S|X), Nintendo Switch и Google Stadia (закрыт в 2023 году).

Ли и его команда пришли к этому проекту работая с Humble Bundle, компанией, основанной в 2010 году, которая продаёт инди-игры. Humble Bundle попросили разработчиков игр для ПК также обеспечить возможность запуска своих игр на macOS и Linux. У Ли был некоторый опыт работы с последним, когда он портировал небольшую игру под названием Waveform на Linux.

Как и во времена Humble Bundle, есть только одно явное требование к игре, чтобы претендовать на поддержку и обслуживание: у неё должна быть собственная версия Linux, доступная клиентам. Если у разработчиков его нет, Ли предлагает сделать его в рамках своего сервиса. Это среда, в которой ему удобнее всего разрабатывать, но поскольку Linux имеет открытый исходный код, поддерживать версии игр для Linux легче. Вместо того, чтобы ждать и надеяться на какое-либо решение, которое придумает Microsoft, чтобы заставить старые игры работать на новых версиях Windows, сообщество открытого исходного кода может создать своё собственное. Это также гораздо более привлекательное предложение теперь, когда у Steam есть платформа Linux SteamOS, у которой есть специальное устройство Steam Deck.

Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

Разработчики строго используют бесплатное программное обеспечение с открытым исходным кодом в FNA. Авторы проекта FNA не хотят быть инструментом к запатентованным продуктам; они позволяют всем пользователям иметь возможность свободно делать всё, что пожелают с их программным обеспечением, которое они используют для реализации того, что, по их мнению, является важным для сохранения XNA-игр. Хотя, безусловно, можно использовать FNA для работы с закрытыми платформами и технологиями, разрабы не хотят налагать эти ограничения на процесс разработки.

❯ Игра стоит свеч

Зачастую людям кажется, что единственный способ перевести игру в новое поколение — это сделать большой ремастер. Это круто, но разве не было бы круто, если бы культовая Quake II продолжал работать с 1997 года по настоящее время без всех этих перезапусков?

Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

За последние 15 лет каталог для ПК очень разросся, и даже небольшие независимые студии теперь имеют обширный каталог игр, которые игроки технически все еще могут покупать и играть в них сегодня. Однако за это приходится платить: чем дольше существует студия, тем больше становится её каталог, и, как следствие, увеличивается и нагрузка на обслуживание.

Что касается игры для Xbox 360, то она доступна только до тех пор, пока у вас есть работающая консоль Xbox 360, если только вы не создадите ещё одну её версию для другой платформы. Что касается ПК, люди предполагают, что, если игра выйдет на Windows, она сможет жить вечно в будущих версиях Windows. На ПК собрано огромное количество вещей: есть процессор x86, современная эра графических процессоров, а также операционная система и различные драйверы. И изменение любого из этих слоев может привести к тому, что игра будет работать плохо или вообще не работать.

В вирусном видео подробно рассказывается, как многие компьютерные игры от Rockstar Games работают плохо или полностью ломаются, потому что они не были должным образом портированы на новые операционные системы. Иногда официальные версии этих игр в Steam на самом деле являются взломанными версиями, потому что пиратское сообщество справляется с их поддержкой лучше, чем один из крупнейших издателей видеоигр в мире.

Дико думать, что большие объёмы произведений цифрового искусства, созданные на протяжении всей истории, будут потеряны для времени без такой сложной работы по сохранению, и существует слишком мало знающих людей и организаций, у которых есть время и ресурсы, чтобы заниматься этим. Microsoft, надо отдать должное, попыталась поддержать наследие игр для Xbox, обеспечив обратную совместимость на Xbox One и Xbox Series X|S, но у них не поддерживаются все игры, и похоже, что никогда не будут.

Учитывая, что многие старые игры не работают, а у большинства разработчиков нет ни времени, ни ресурсов для поддержки своих старых игр, это кажется хорошим планом, нанять кого-нибудь со стороны, чтобы обновить некоторые из ваших старых игр для тех немногих людей, которые все ещё хотят в них играть, и для будущих поколений. Подумайте об игре из вашей юности, в которую вы не можете играть, а затем представьте сегодняшнего ребенка, который никогда в неё не играл, а затем представьте игру, выпущенную за последние несколько лет, которую может постичь та же участь, если кто-то не будет работать над её саппортом.

Техническое обслуживание вместо ремастеринга. Как спасти старые ПК-игры на новой ОС

Автор текста: TilekSamiev

Больше интересных статей в нашем блоге на Хабре и телеграм-канале.

Облачные сервисы Timeweb Cloud — это реферальная ссылка, которая может помочь поддержать авторские проекты.

Хочешь стать автором (или уже состоявшийся автор) и есть, чем интересным поделиться (за вознаграждение) в рамках наших блогов — пиши сюда.

88
6 комментариев

А может лучше вместо ремонтирования старья выпустить новую игру?

Тебе же дали конкорд, а ты вот не играл.

4
1
1

То есть вариант с выпуском новых игр и поддержкой старых для тебя не существует?

1

Какой-то странный текст. Все в кучу, основная мысль размазана. Нейротекст чтоль.
DOS - DosBOX
Win - dgVoodoo2
Linux - DXVK
Эмуляторы всякие

Ну это работало только с играми на ID tech и Unreal engine, потому что там была достаточно не спагетти кодовая база ,что бы можно было поддержать игры

Что происходит сегодня с играми на RenderWare ,старых Lit Tech и большинством проприетарных движков нельзя починить за пару патчей , они очень сильно неразборчиво написаны , легче перенести на новый движок, как это сделали с трилогией DMC с PS2