Как запускать старые игры в 2023 — VmWare/Wrapper/GoG… Или PCeMv17

C:\Users\friolt\AppData\Local\Microsoft\Windows\INetCache\Content.Word\201.jpg

Быстро оправдаюсь. Я понимаю, что информация возможно более поверхностная, чем требует того Хабр, но во многом мне не хватает квалификации описать все нюансы работы с PCeM, а на Хабре о нем вообще нет никакой информации по этому эмулятору, поэтому я надеюсь, что может кто-то возьмется в дальнейшем разобрать тему, и показать на сколь глубока кроличья нора…

Как правильно играть в старые игры? Ну конечно, самый лучший способ — приобрести старую железку. На неё накатить старую игру и получать удовольствие! Но старые железки потихоньку выходят из строя и становиться всё тяжелей найти рабочую, да и не каждому захочется под рукой держать Pentium 2 400, просто для того чтобы играть во что-то из детства/юношества/молодости.

Очевидными кажутся следующие выходы:

  1. GoG.

  2. Врапперы.

  3. Эмуляция.

При всей любви к Good Old Games, его можно отмести сразу, по причине того, что не все эмулируется корректно. Крайний пример, Аллоды 1 и 2, с мерцающим курсором под 10-кой.

Да и попытка поиграть в любимых »4-х» героев, обернулась ужасом. А чего уж говорить про более старые игры.

VMware Workstation Pro

Долгое время, это была моя основная виртуальная машина, пока я не начал спускаться в «глубины ада». Конечно некоторые игры работали с «нюансами», некоторые не работали, но это был самый простой и удобный способ держать на компьютере с десяток другой игр эпохи ранних нулевых, и играть в них практически ни в чем не отказывая.

Но проблема VmWare Worksation в том, что это эмулятор своего собственного железа, которое не является полным аналогом компьютеров тех лет, из-за чего далеко не все работает корректно. Я не буду вдаваться в подробности, но вот некоторые из неудобств, которые не удалось ни победить, ни жить с ними.

a3875943a9d4b5d830572becebe633bf.png

  • Deus-ex — что-то непонятное с гаммой.

  • Freelancer — постоянные вылеты.

  • Starlancer — отказывается запускаться.

  • Unreal — запускается без Glide.

  • Diablo ½ — только в окне.

  • Петька 3 (только в окне, в режиме дебага). Постоянные вылеты.

  • Warcraft 2 — на скоростях равных скорости света.

  • Аллоды 1 — только со скипом роликов.

  • Аллоды 2 — с иногда непонятными ускорениями до сверхсветовых.

Более того, чтобы заводить некоторые из игр, как бы смешно это не казалось, на виртуальную машину приходилось ставить не «оригинальные образы», а уже «новоделы» из GoG. Которые не заводились на хост машине.

Что по итогу? VmWare Workstation Pro — Хорошая виртуальная машина, и в большинстве случаев её хватает за глаза. Особенно, если вы не хотите сильно заморачиваться с донастройкой игр, а хотите накатить образ и играть.

DDraw Wrapper

Ddraw.dll — это библиотека, связанная с «DirectDraw», частью DirectX от Microsoft, используемой для рендеринга 2D-графики в ранних версиях Windows. Многие старые игры и приложения, разработанные для Windows 95, 98 или даже XP, зависели от DirectDraw для отображения графики.

https://static.wikia.nocookie.net/heroesofmightandmagic/images/b/b3/%D0%A1%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0_-_H4.png/revision/latest?cb=20201010182736&path-prefix=ru

Конечно, если у вас руки (а не лапки) как у меня, можно взять различного рода wrapper (тот же DDraw) и решить проблемы с частью двухмерных игр. На деле, это практически то, чем занимается сам GoG. Комплектует игры парой библиотек, и позволяет запускаться им.

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

3хмерные игры на современном железе

С 3-х мерной графикой есть определенные проблемы и нюансы.

Вот так к примеру выглядит Need For Speed 3.

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRLA09oPVwfO8ZRC4E9ZeiJ_99_KZ5ftPPYSYhT_wTRxLxUQwtebG_W7hrVYA2KeH9HqUM&usqp=CAU

Вот так она выглядит на PS.

Need for Speed III: Hot Pursuit скачать 1.0 на PS

А вот так она должна выглядеть.

https://i.postimg.cc/2SDDgD9r/bad.png

И каждый раз, когда вы пытаетесь с эмулировать что-то на VMware Workstation Pro, Вы с большой вероятностью эмулируете софтверный рендеринг, который хоть и позволяет запустить старую игру, но совсем не так, как она выглядела в те времена на самом деле.

Порой, глядя на старые игры через призму современности, кажется, что и графика там была неказистая, и вообще все было похоже на мыльные пиксели, и просто на TFT мониторах они замыливались, как и наше восприятие…

Но все дело, в том, что до того как Direct3d стал единственным стандартом, каждый разрабатывал 3d во что горазд. И одним из направлений были 3д ускорители 3dfx. 

И если вам в те годы посчастливилось стать обладателем Voodoo 2, то безусловно, вы жили в совершенно другом мире, с большим FPS, улучшенной фильтрацией текстур, и графикой опережающей всё, минимум на 3 года!

Glide Wrapper

ad0b22bf61bc7138ce766f0bf575511d.png

Глядя на скрины старых игр, и сопоставляя их с собственным восприятием, захотелось воспользоваться Glide Wrapper, который позволяет сегодня насладиться играми так, как они должны были выглядеть.

Redguard:Glide Differences - The Unofficial Elder Scrolls Pages (UESP)

Да, признаюсь честно… использовать Glide для какого-нить Redguard — извращение. Но вот Unreal, совсем другое дело. Да и старый добрый NFS, хоть и начинает бросаться мылом в экран, все же превращается из набора пикселей во что-то более удобоваримое.

Да-да, я знаю, примеров не так много. Я не упомянул System Shock. Не упомянул Tomb Raider, которые визуально практически не отличаются от софтверного рендера (шутка).

9c2f0419a769cc3cf99124d8a58f931f.png

Но проблема в том, что даже имея Nglide, или другие Врапперы, позволяющие запускать игры на современном железе, у нас все равно будет целая тонна проблем с совместимостью.

Здесь, и разность скоростей. И то, что порой его недостаточно. И что не везде Api работает. А где-то картинка все равно идет с артефактами, и не так, как это было тогда.

UPD: С другой стороны. Тот же Nglide для карточек Nvidia умеет творить чудеса, и запускать игры с неплохим таким апскейлингом… Но все ещё не все.

Интерлюдия

А ведь теперь давайте просто представим. Что нам для того, чтобы поиграть во что-то старое, нужно:

И под каждую игру, придётся возиться индивидуально. Где-то будет достаточно виртуалки. Где-то дистрибутива с ГОГа, а где-то и всё это вместе не поможет.

А ещё лучше, собрать машину тех лет, и работать исключительно с ней.

Вот теперь точно будем эмулировать все игры! PCeM 17!

C:\Users\friolt\AppData\Local\Microsoft\Windows\INetCache\Content.Word\9456.jpg

Но есть альтернатива… Эмулятор ПК тех лет PCeM V17. На деле, я узнал об этом софте, ещё во времена его 10-ой версии, году в 15-ом. Но то, что хорошо эмулируется на Ryzen 7 5700x, отвратно себя чувствовало на i3 2120. 

В общем PCeM — Это эмулятор персонального компьютера на базе X86 (с недавних пор ещё и Сommodore), который умеет полностью воспроизводить поведение компьютера тех лет (вплоть до P4). 

В отличие от костылей, вроде врапперов и виртуальных машин, здесь эмулируется поведение самого железа, что позволяет:

  1. Установить на него соответствующую ОС.

  2. Установить соответствующие Драйвера.

  3. Запускать игры, не эмулируя их, а так, как они должны были работать.

Насколько я помню, эмуляция voodoo и даже voodoo в SLI там появилась далеко не сразу.

Как пользоваться PCeM

Я беру фенилуксусную кислоты из бочки с синей пчелой. Суть инструкции

fa5eec6daa0a069866137774419cb91b.png

Ну что… надеюсь единственное полезное, что будет в Этой статье. 

Берем Эмулятор по этой ссылке. 

e0a9aeda05d34ce35796897901ba212f.png

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

Драйвера берем здесь. 

ОС берем… ну с этим проблем возникнуть не должно.

1f8cf6be09daabce059756986a537e04.png

Дальше все просто… открываем портал в 90-е, и как будто бы мы собрали новый комп, берем и все устанавливаем.

69fe750851a429137f6f7f1b8601e35d.png89aea4f63542985d2e3b8c5f5d6101d1.png19da056f8fb17437fa1992a6e0426331.png

  • Выбираем характеристики машины в PCeM.

  • Накатываем соответствующие ROM.

  • Размечаем виртуальный хард. 

  • На него накатываем вполне настоящую ОС.

  • Ставим драйвера… И теперь устанавливаем все игры.

b3e504eaf51ceff2823308c29e8e692a.png

Здесь есть единственный важный нюанс, который может создать определенные проблемы когда вы впервые столкнетесь с PCeM. 

Т. к. он эмулирует железо, на которое установлено реальное оборудование и ОС, то в случае, если вас не устроит собранная железка, и вы захотите её поменять, то сделать это на лету не получится… Вы же не можете поменять процессор в рамках одной материнской платы, не переустанавливая Windows?

Ну, а дальше, все ограничивается только вашей фантазией и потребностями. 

Что могу сказать сразу?  

55d17a226d1187cb6b5024c2fac99780.png

И Starlancer, и Diablo, и Unreal на глайде, и даже… о ужас… Return to Krondor завелись с полоборота. 

7f1300245e87fde98da7bbce47cdb6bf.png

Конечно, специалисты заметят, что PCeM умеет делать и доисторическое и более свежее железо, и при желании можно собрать что угодно, вплоть до Pentium 2. А можно и первый 8088, с монохромным дисплеем.

ffd0d6259a910cbb47873a59b686cc10.png

Pentium 2, золотая середина, т.к. уже с появлением Pentium 3 многие вещи стандартизировались, и куда легче переносятся на современные ПК без лишних танцев с бубном.

А что DosBox?

DosBox, это безусловно хорошая альтернатива PCeM. Более того, распространенная и работающая даже под ОС Android. Но у неё, как и у VmWare Workstation схожий порядок проблем, и узнать, что и в каком режиме запустится, можно только методом «тыка».

В случае с PCeM вы ограничены только своей фантазией и мощностью железа. Ну и ещё наличием драйверов.

Итог

Со 100% вероятностью я уверен, что найдутся люди, и которые знают где лежат библиотеки под каждую старую игру, и как настроить враппер и/или виртуальную ось, так чтобы на ней все летало. И что вообще PCeM это глупо и избыточно.

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

Но что самое главное, PCeM — это относительно простой способ заиметь у себя, пускай виртуальную, но ретро машину, позволяющую запускать игры 25 летней давности такими, какими они задумывались, и что самое главное… настроив подобную машину единожды, не придётся возиться с совместимостями и настройками под каждую отдельную игру.

В самом крайнем случае конечно можно собрать несколько виртуальных компьютеров, или вообще заняться каким-то ультраретро геймингом, запуская первый Space Quest в оригинальном режиме.

© Habrahabr.ru